(self, file)
Reads the metadata values from a file object.
Reads the metadata values from a file object.
Reads the metadata values from a file object .
def read_pkg_file(self, file):
    """Reads the metadata values from a file object."""
    msg = message_from_file(file)

    def _read_field(name):
        value = msg[name]
        if value == 'UNKNOWN':
            return None
        return value

    def _read_list(name):
        values = msg.get_all(name, None)
        if values == []:
            return None
        return values

    self.metadata_version = StrictVersion(msg['metadata-version'])
    self.name = _read_field('name')
    self.version = _read_field('version')
    self.description = _read_field('summary')
    # we are filling author only.
    self.author = _read_field('author')
    self.maintainer = None
    self.author_email = _read_field('author-email')
    self.maintainer_email = None
    self.url = _read_field('home-page')
    self.license = _read_field('license')

    if 'download-url' in msg:
        self.download_url = _read_field('download-url')
    else:
        self.download_url = None

    self.long_description = _read_field('description')
    self.description = _read_field('summary')

    if 'keywords' in msg:
        self.keywords = _read_field('keywords').split(',')

    self.platforms = _read_list('platform')
    self.classifiers = _read_list('classifier')

    # PEP 314 - these fields only exist in 1.1
    if self.metadata_version == StrictVersion('1.1'):
        self.requires = _read_list('requires')
        self.provides = _read_list('provides')
        self.obsoletes = _read_list('obsoletes')
    else:
        self.requires = None
        self.provides = None
        self.obsoletes = None
def read_pkg_file ( self , file ) : msg = message_from_file ( file ) def _read_field ( name ) : value = msg [ name ] if value == 'UNKNOWN' : return None return value def _read_list ( name ) : values = msg . get_all ( name , None ) if values == [ ] : return None return values self . metadata_version = StrictVersion ( msg [ 'metadata-version' ] ) self . name = _read_field ( 'name' ) self . version = _read_field ( 'version' ) self . description = _read_field ( 'summary' ) # we are filling author only. self . author = _read_field ( 'author' ) self . maintainer = None self . author_email = _read_field ( 'author-email' ) self . maintainer_email = None self . url = _read_field ( 'home-page' ) self . license = _read_field ( 'license' ) if 'download-url' in msg : self . download_url = _read_field ( 'download-url' ) else : self . download_url = None self . long_description = _read_field ( 'description' ) self . description = _read_field ( 'summary' ) if 'keywords' in msg : self . keywords = _read_field ( 'keywords' ) . split ( ',' ) self . platforms = _read_list ( 'platform' ) self . classifiers = _read_list ( 'classifier' ) # PEP 314 - these fields only exist in 1.1 if self . metadata_version == StrictVersion ( '1.1' ) : self . requires = _read_list ( 'requires' ) self . provides = _read_list ( 'provides' ) self . obsoletes = _read_list ( 'obsoletes' ) else : self . requires = None self . provides = None self . obsoletes = None