Skip to content
Snippets Groups Projects
Commit ef8d6f66 authored by Alexander Schlemmer's avatar Alexander Schlemmer
Browse files

MAINT: finished refactoring of crawler module

parent 1aeaa359
No related branches found
No related tags found
2 merge requests!108Release 0.5.0,!104Create a new scanner module and move functions from crawl module there
Pipeline #34413 failed
...@@ -68,6 +68,7 @@ from .structure_elements import StructureElement, Directory, NoneElement ...@@ -68,6 +68,7 @@ from .structure_elements import StructureElement, Directory, NoneElement
from .version import check_cfood_version from .version import check_cfood_version
from .scanner import scan_directory from .scanner import scan_directory
from .debug_tree import DebugTree
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
...@@ -859,11 +860,11 @@ ____________________\n""".format(i + 1, len(pending_changes)) + str(el[3])) ...@@ -859,11 +860,11 @@ ____________________\n""".format(i + 1, len(pending_changes)) + str(el[3]))
res[converter.name]["subtree"][k[0]] = d[k[0]] res[converter.name]["subtree"][k[0]] = d[k[0]]
return res return res
def save_debug_data(self, filename: str): def save_debug_data(self, debug_tree: DebugTree, filename: str):
paths: dict[str, Union[dict, list]] = dict() paths: dict[str, Union[dict, list]] = dict()
def flatten_debug_info(key): def flatten_debug_info(key):
mod_info = self.debug_metadata[key] mod_info = debug_tree.debug_metadata[key]
paths[key] = dict() paths[key] = dict()
for record_name in mod_info: for record_name in mod_info:
if key == "provenance": if key == "provenance":
...@@ -879,8 +880,9 @@ ____________________\n""".format(i + 1, len(pending_changes)) + str(el[3])) ...@@ -879,8 +880,9 @@ ____________________\n""".format(i + 1, len(pending_changes)) + str(el[3]))
for key in ("provenance", "usage"): for key in ("provenance", "usage"):
flatten_debug_info(key) flatten_debug_info(key)
paths["converters_usage"] = [self.debug_build_usage_tree( # TODO: clarify what this was used for
cv) for cv in self.debug_converters] # paths["converters_usage"] = [self.debug_build_usage_tree(
# cv) for cv in self.debug_converters]
with open(filename, "w") as f: with open(filename, "w") as f:
f.write(yaml.dump(paths, sort_keys=False)) f.write(yaml.dump(paths, sort_keys=False))
...@@ -942,7 +944,7 @@ def crawler_main(crawled_directory_path: str, ...@@ -942,7 +944,7 @@ def crawler_main(crawled_directory_path: str,
logger.error(err) logger.error(err)
return 1 return 1
if provenance_file is not None and debug: if provenance_file is not None and debug:
crawler.save_debug_data(provenance_file) crawler.save_debug_data(debug_tree, provenance_file)
if identifiables_definition_file is not None: if identifiables_definition_file is not None:
ident = CaosDBIdentifiableAdapter() ident = CaosDBIdentifiableAdapter()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment