def do_list(self, arguments): """shows a list of all remotes""" print "Remote repositories:" for url in Remote.all(): print " %s" % url print
def __read_remote_module(self, module): """ Read a module file from a remote, and return the source. """ for url in Remote.all(): source = Remote.get(url).download(module) # if we found the source, we return straight away - this allows us to # install the module from the first source that we come across if source != None: return source return None
def __get_combined_index(self): """ Fetches INDEX files from all known remotes, and builds a combined INDEX listing of all available modules. """ index = set([]) for url in Remote.all(): source = Remote.get(url).download("INDEX.xml") if source != None: modules = xml.fromstring(source) index = index.union(map(lambda m: ModuleInfo(url, m.attrib['name'], m.find("./description").text), modules.findall("./module"))) return filter(lambda m: m != None and m != "", index)