def __init__(self, path): self._shared_library_factory = UniqueFactory(self.SharedLibrary) self._executable_factory = UniqueFactory(self.Executable) path = Path(path) self._init_pre() if path.is_dir(): self._root_path = path self._init_binaries() else: root_path, filename = os.path.split(path.absolute()) self._root_path = Path(root_path) self._init_binary(path) self._init_dependents() self._init_post() self._init_links()
def __call__(self, path): if not isinstance(path, Path): path = Path(path) try: return self._cache[path] except KeyError: obj = self._factory(path) self._cache[path] = obj return obj
class Find(object): def __init__(self, root_path, factory=Path): self._path = Path(root_path) self._factory = factory def __iter__(self): for path, dirs, files in os.walk(self._path.absolute()): for filename in files: yield self._factory(os.path.join(path, filename))
def launch(): parser = make_parser() args = parser.parse_args(sys.argv[1:]) if args.log is not None: import logging level = getattr(logging, args.log) log.setLevel(level=level) path = Path(args.path) binaries = ArtifactFinder(path) if args.rewrite == 'readonly': binaries.pretty_print() elif args.rewrite == 'relative': binaries.make_paths_relative() elif args.rewrite == 'absolute': binaries.make_paths_absolute() else: raise RuntimeError('invalid value for rewrite: {0}'.format( args.rewrite))
def __init__(self, root_path, factory=Path): self._path = Path(root_path) self._factory = factory
def __init__(self, filename): self._path = Path(filename)
def test_add(self): self.assertEqual(Path('/usr') + 'bin', Path('/usr/bin'))
def test_contains(self): usr = Path('/usr') usr_bin = Path('/usr/bin') self.assertTrue(usr_bin in usr) self.assertFalse(usr in usr_bin)
def setUp(self): import _sqlite3 self.ld_dynload = Path(os.path.dirname(_sqlite3.__file__))