diff --git a/src/caoscrawler/scanner.py b/src/caoscrawler/scanner.py index c5e078c582a22477e4bddfdae3048bdbc1e0fe06..1a1598b2b6c2d6efa8d1898521f185e0dcf054a4 100644 --- a/src/caoscrawler/scanner.py +++ b/src/caoscrawler/scanner.py @@ -355,9 +355,17 @@ def scan_directory(dirname: str, crawler_definition_path: str, Convenience function that starts the crawler (calls start_crawling) with a single directory as the StructureElement. + Parameters + ---------- + restricted_path: optional, list of strings Traverse the data tree only along the given path. When the end of the given path is reached, traverse the full tree as normal. + + Returns + ------- + crawled_data : list + the final list with the target state of Records. """ crawler_definition = load_definition(crawler_definition_path) diff --git a/unittests/test_scanner.py b/unittests/test_scanner.py index 1612b10b0dfab6c16eb0b399543ea0ad126b36c9..19bdd46dce20b300a897e765a765584c82ca6aca 100644 --- a/unittests/test_scanner.py +++ b/unittests/test_scanner.py @@ -248,10 +248,8 @@ def test_record_generation(): def test_variable_deletion_problems(): - debug_tree = DebugTree() records = scan_directory(UNITTESTDIR / "test_directories" / "example_variable_deletion", - UNITTESTDIR / "cfood_variable_deletion.yml", - debug_tree=debug_tree) + UNITTESTDIR / "cfood_variable_deletion.yml") for record in records: if record.name == "Record from Data_1": @@ -262,3 +260,16 @@ def test_variable_deletion_problems(): assert record.get_property("var2").value == "test" else: raise RuntimeError("Wrong name") + + records = scan_directory(UNITTESTDIR / "test_directories" / "example_variable_deletion", + UNITTESTDIR / "cfood_variable_deletion2.yml") + + for record in records: + if record.name == "Record from Data_1": + assert record.get_property("var1").value == "bla" + assert record.get_property("var2").value == "$test_2" + elif record.name == "Record from Data_2": + assert record.get_property("var1").value == "example_variable_deletion" + assert record.get_property("var2").value == "test" + else: + raise RuntimeError("Wrong name")