~pythonregexp2.7/python/issue2636-01+09-02

« back to all changes in this revision

Viewing changes to Lib/distutils/dist.py

  • Committer: Jeffrey C. "The TimeHorse" Jacobs
  • Date: 2008-09-22 00:16:16 UTC
  • mfrom: (39022.1.34 Regexp-2.7)
  • Revision ID: darklord@timehorse.com-20080922001616-p1wdip9lfp0zl5cu
Merged in changes from the Atomic Grouping / Possessive Qualifiers branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
from distutils import log
24
24
from distutils.debug import DEBUG
25
25
 
 
26
# Encoding used for the PKG-INFO files
 
27
PKG_INFO_ENCODING = 'utf-8'
 
28
 
26
29
# Regex to define acceptable Distutils command names.  This is not *quite*
27
30
# the same as a Python NAME -- I don't allow leading underscores.  The fact
28
31
# that they're very similar is no coincidence; the default naming scheme is
1084
1087
        if self.provides or self.requires or self.obsoletes:
1085
1088
            version = '1.1'
1086
1089
 
1087
 
        file.write('Metadata-Version: %s\n' % version)
1088
 
        file.write('Name: %s\n' % self.get_name() )
1089
 
        file.write('Version: %s\n' % self.get_version() )
1090
 
        file.write('Summary: %s\n' % self.get_description() )
1091
 
        file.write('Home-page: %s\n' % self.get_url() )
1092
 
        file.write('Author: %s\n' % self.get_contact() )
1093
 
        file.write('Author-email: %s\n' % self.get_contact_email() )
1094
 
        file.write('License: %s\n' % self.get_license() )
 
1090
        self._write_field(file, 'Metadata-Version', version)
 
1091
        self._write_field(file, 'Name', self.get_name())
 
1092
        self._write_field(file, 'Version', self.get_version())
 
1093
        self._write_field(file, 'Summary', self.get_description())
 
1094
        self._write_field(file, 'Home-page', self.get_url())
 
1095
        self._write_field(file, 'Author', self.get_contact())
 
1096
        self._write_field(file, 'Author-email', self.get_contact_email())
 
1097
        self._write_field(file, 'License', self.get_license())
1095
1098
        if self.download_url:
1096
 
            file.write('Download-URL: %s\n' % self.download_url)
 
1099
            self._write_field(file, 'Download-URL', self.download_url)
1097
1100
 
1098
 
        long_desc = rfc822_escape( self.get_long_description() )
1099
 
        file.write('Description: %s\n' % long_desc)
 
1101
        long_desc = rfc822_escape( self.get_long_description())
 
1102
        self._write_field(file, 'Description', long_desc)
1100
1103
 
1101
1104
        keywords = string.join( self.get_keywords(), ',')
1102
1105
        if keywords:
1103
 
            file.write('Keywords: %s\n' % keywords )
 
1106
            self._write_field(file, 'Keywords', keywords)
1104
1107
 
1105
1108
        self._write_list(file, 'Platform', self.get_platforms())
1106
1109
        self._write_list(file, 'Classifier', self.get_classifiers())
1110
1113
        self._write_list(file, 'Provides', self.get_provides())
1111
1114
        self._write_list(file, 'Obsoletes', self.get_obsoletes())
1112
1115
 
 
1116
    def _write_field(self, file, name, value):
 
1117
 
 
1118
        if isinstance(value, unicode):
 
1119
            value = value.encode(PKG_INFO_ENCODING)
 
1120
        else:
 
1121
            value = str(value)
 
1122
        file.write('%s: %s\n' % (name, value))
 
1123
 
1113
1124
    def _write_list (self, file, name, values):
 
1125
 
1114
1126
        for value in values:
1115
 
            file.write('%s: %s\n' % (name, value))
 
1127
            self._write_field(file, name, value)
1116
1128
 
1117
1129
    # -- Metadata query methods ----------------------------------------
1118
1130