def show(config, name, tags=False): config.load_config() lookup = services.PackageLookup(config) data = lookup.lookup_loose(name) or "not found." print(json.dumps(data)) if tags: # TODO: move import subprocess subprocess.call(["git", "ls-remote", "--tags", data["url"]])
def main(config, repository, show_all=False, save=False, store=None): config.load_config() data = fetch(repository, show_all=show_all) if not save: print(json.dumps(data)) else: package_store = services.packages_store(config, path=store) store_data = package_store.update(data, package_store.load()) package_store.save(store_data) if store is None: local_store = services.packages_store(config, path=config.control.resolve_path("local.repository.json")) store_data = local_store.update(data, local_store.load()) local_store.save(store_data)
def modify_config(config, name=None, value=None): config.load_config() if not name: print(json.dumps(config.settings)) else: target = config.settings["extra_context"] key_list = name.split(".") for k in key_list[:-1]: target = target[k] if value is None: target.pop(key_list[-1], None) config.save_config(config.settings) sys.stderr.write("pop: {}\n".format(name)) else: target[key_list[-1]] = value config.save_config(config.settings) sys.stderr.write("set: {} = {}\n".format(name, value))
def dump(self, data): print(json.dumps(data))