예제 #1
0
	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
예제 #2
0
	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, {})