def registerModules(self): """ This method gathers the modules. :return: Method success. ( Boolean ) """ for directory in self.__paths: filesWalker = FilesWalker(directory) modules = filesWalker.walk(filtersIn=(r"\.{0}$".format(self.__libraryExtension),)) for name, path in modules.iteritems(): self.registerModule(name, path) return True
def testWalk(self): """ This method tests :meth:`foundations.walkers.FilesWalker.walk` method. """ filesWalker = FilesWalker() filesWalker.root = os.path.join(RESOURCES_DIRECTORY, ROOT_DIRECTORY) filesWalker.walk() for path in filesWalker.files.itervalues(): self.assertTrue(os.path.exists(path)) referencePaths = [strings.replace(os.path.join(RESOURCES_DIRECTORY, ROOT_DIRECTORY, path), {"/":"|", "\\":"|"}) for path in FILES_TREE_HIERARCHY] walkerFiles = [strings.replace(path, {"/":"|", "\\":"|"}) for path in filesWalker.files.itervalues()] for item in referencePaths: self.assertIn(item, walkerFiles) filesWalker.walk(filtersOut=("\.rc$",)) walkerFiles = [strings.replace(path, {"/":"|", "\\":"|"}) for path in filesWalker.files.itervalues()] for item in walkerFiles: self.assertTrue(not re.search(r"\.rc$", item)) filesWalker.walk(filtersOut=("\.ibl", "\.rc$", "\.sIBLT$", "\.txt$")) self.assertTrue(not filesWalker.files) referencePaths = [strings.replace(os.path.join(RESOURCES_DIRECTORY, ROOT_DIRECTORY, path), {"/":"|", "\\":"|"}) for path in FILES_TREE_HIERARCHY if re.search(r"\.rc$", path)] filter = "\.rc$" filesWalker.walk(filtersIn=(filter,)) walkerFiles = [strings.replace(path, {"/":"|", "\\":"|"}) for path in filesWalker.files.itervalues()] for item in referencePaths: self.assertIn(item, walkerFiles) for item in walkerFiles: self.assertTrue(re.search(filter, item)) filesWalker.hashSize = 24 filesWalker.walk() for item in filesWalker.files: self.assertEqual(len(namespace.removeNamespace(item)), filesWalker.hashSize) filesWalker.walk(visitor=lambda x, y: x.pop(y)) self.assertDictEqual(filesWalker.files, {})