Example #1
0
 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()
Example #2
0
 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
Example #3
0
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))
Example #4
0
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))
Example #5
0
 def __init__(self, root_path, factory=Path):
     self._path = Path(root_path)
     self._factory = factory
Example #6
0
 def __init__(self, filename):
     self._path = Path(filename)
Example #7
0
 def test_add(self):
     self.assertEqual(Path('/usr') + 'bin', Path('/usr/bin'))
Example #8
0
 def test_contains(self):
     usr = Path('/usr')
     usr_bin = Path('/usr/bin')
     self.assertTrue(usr_bin in usr)
     self.assertFalse(usr in usr_bin)
Example #9
0
 def setUp(self):
     import _sqlite3
     self.ld_dynload = Path(os.path.dirname(_sqlite3.__file__))