def main(input_args): """Parse input and run the program""" short_opts = "hadD" # -d, --direct was old option for default action long_opts = ('help', 'all-packages', 'direct', 'indirect', 'depth=') try: module_opts, queries = gnu_getopt(input_args, short_opts, long_opts) except GetoptError as err: sys.stderr.write(pp.error("Module %s" % err)) print() print_help(with_description=False) sys.exit(2) parse_module_options(module_opts) if not queries: print_help() sys.exit(2) # # Output # dep_print = DependPrinter(verbose=CONFIG['verbose']) first_run = True got_match = False for query in queries: if not first_run: print() pkg = Dependencies(query) if QUERY_OPTS['include_masked']: pkggetter = get_cpvs else: pkggetter = get_installed_cpvs if CONFIG['verbose']: print(" * These packages depend on %s:" % pp.emph(pkg.cpv)) if pkg.graph_reverse_depends( pkgset=sorted(pkggetter(), key=CPV), max_depth=QUERY_OPTS["max_depth"], only_direct=QUERY_OPTS["only_direct"], printer_fn=dep_print ): got_match = True first_run = False if not got_match: sys.exit(1)
def deps(self): """Instantiate a L{gentoolkit.dependencies.Dependencies} object here.""" from gentoolkit.dependencies import Dependencies if self._deps is None: self._deps = Dependencies(self.cpv) return self._deps