(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

        metadata_version = 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 metadata_version == '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 metadata_version = 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 metadata_version == '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