Exemple #1
0
def make_index(basePath):
    ourindex = datapkg.index.SimpleIndex()
    for root, dirs, files in os.walk(basePath):
        if 'setup.py' in files or 'metadata.txt' in files:
            try:
                pkg = Package.load(root)
                ourindex.register(pkg)
            except Exception, inst:
                logger.warn('Failed to load package at %s because: %s' % (root,
                    inst))
Exemple #2
0
 def load(self, path):
     '''Load a L{Package} object from a path to a package distribution.
     
     @return: the Distribution object.
     '''
     pkg = Package()
     pkg.installed_path = path 
     metadata_path = os.path.join(path, self.metadata_filename)
     manifest_path = os.path.join(path, self.manifest_filename)
     fo = open(metadata_path)
     metadata = json.load(fo)
     readme_notes = self._get_notes_from_readme(path)
     if readme_notes:
         metadata['notes'] = readme_notes
     pkg.update_metadata(metadata)
     fo.close()
     if os.path.exists(manifest_path):
         fo = open(manifest_path)
         pkg.manifest = json.load(fo)
         fo.close()
     return self(pkg)
Exemple #3
0
 def get(self, name):
     if not name in self:
         msg = 'No package in %s with name %s. Have you registered/installed it?' % (self, name)
         raise DatapkgException(msg)
     path = os.path.join(self.index_path, name)
     return Package.load(path)