Example #1
0
 def do_list(self, arguments):
     """shows a list of all remotes"""
     
     print "Remote repositories:"
     for url in Remote.all():
         print "  %s" % url
     print
Example #2
0
 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
Example #3
0
 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)