Ejemplo n.º 1
0
 def glob(clazz, paths, patterns):
     'Like glob but handles one or more paths and one or more patterns'
     patterns = object_util.listify(patterns)
     result = []
     for pattern in patterns:
         result.extend(clazz._glob_one_pattern(paths, pattern))
     return sorted(algorithm.unique(result))
Ejemplo n.º 2
0
 def _glob_one_pattern(clazz, paths, pattern):
     paths = object_util.listify(paths)
     paths = [path.join(p, pattern) for p in paths]
     result = []
     for p in paths:
         result.extend(glob.glob(p))
     return sorted(algorithm.unique(result))
Ejemplo n.º 3
0
  def files(self, package_name, levels):
    check.check_string(package_name)

    files = self._native_package.package_files(package_name)
    if levels:
      files = [ self._level_path(p, levels) for p in files ]
      files = algorithm.unique(files)
    for f in files:
      print(f)
    return 0
Ejemplo n.º 4
0
 def _resolve_mask_to_list(clazz, s):
     assert string_util.is_string(s)
     s = s.lower()
     s = clazz.ALIASES.get(s, s)
     parts = [part for part in clazz.mask_split(s) if part]
     result = []
     for part in parts:
         result.extend(clazz._resolve_mask_part(part))
     result = sorted(algorithm.unique(result))
     if not result:
         return [clazz.NONE]
     return result
Ejemplo n.º 5
0
 def search_replace(clazz,
                    root_dir,
                    replacements,
                    backup=True,
                    test_func=None):
     assert isinstance(replacements, dict)
     text = [str(x) for x in replacements.keys()]
     items = clazz.search(root_dir, text, relative=False)
     filenames = algorithm.unique([item.filename for item in items])
     return file_replace.replace_many(filenames,
                                      replacements,
                                      backup=backup,
                                      test_func=test_func)
Ejemplo n.º 6
0
  def dirs(self, package_name, levels, root_dir):
    check.check_string(package_name)

    dirs = self._native_package.package_dirs(package_name)
    if levels:
      dirs = [ self._level_path(p, levels) for p in dirs ]
      dirs = algorithm.unique(dirs)
    if root_dir:
      ancestor = file_path.common_ancestor(dirs)
      if ancestor:
        print(ancestor)
    else:
      for f in dirs:
        print(f)
    return 0
Ejemplo n.º 7
0
 def remove_dups(self):
     self._values = algorithm.unique(self._values)
Ejemplo n.º 8
0
 def names(self):
     return algorithm.unique([tag.name for tag in self])
Ejemplo n.º 9
0
 def files(self):
     return algorithm.unique([item.filename for item in self])