]> granicus.if.org Git - python/commitdiff
[Patch #658094] PEP 301 implementation
authorAndrew M. Kuchling <amk@amk.ca>
Fri, 3 Jan 2003 15:24:36 +0000 (15:24 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Fri, 3 Jan 2003 15:24:36 +0000 (15:24 +0000)
  Add 'classifiers' keyword to DistributionMetadata

Lib/distutils/dist.py

index faeb7b10b3a91ad7fea7a954f44d6d76c33bd047..f15c945c74468b943771ac99756c0bfdc8a4c4cf 100644 (file)
@@ -93,6 +93,8 @@ class Distribution:
          "print the long package description"),
         ('platforms', None,
          "print the list of platforms"),
+        ('classifiers', None,
+         "print the list of classifiers"),
         ('keywords', None,
          "print the list of keywords"),
         ]
@@ -634,6 +636,8 @@ class Distribution:
                 value = getattr(self.metadata, "get_"+opt)()
                 if opt in ['keywords', 'platforms']:
                     print string.join(value, ',')
+                elif opt == 'classifiers':
+                    print string.join(value, '\n')
                 else:
                     print value
                 any_display_options = 1
@@ -962,7 +966,7 @@ class DistributionMetadata:
                          "maintainer", "maintainer_email", "url",
                          "license", "description", "long_description",
                          "keywords", "platforms", "fullname", "contact",
-                         "contact_email", "licence")
+                         "contact_email", "licence", "classifiers")
 
     def __init__ (self):
         self.name = None
@@ -977,6 +981,7 @@ class DistributionMetadata:
         self.long_description = None
         self.keywords = None
         self.platforms = None
+        self.classifiers = None
 
     def write_pkg_info (self, base_dir):
         """Write the PKG-INFO file into the release tree.
@@ -1003,6 +1008,9 @@ class DistributionMetadata:
         for platform in self.get_platforms():
             pkg_info.write('Platform: %s\n' % platform )
 
+        for classifier in self.get_classifiers():
+            pkg_info.write('Classifier: %s\n' % classifier )
+
         pkg_info.close()
 
     # write_pkg_info ()
@@ -1059,6 +1067,9 @@ class DistributionMetadata:
     def get_platforms(self):
         return self.platforms or ["UNKNOWN"]
 
+    def get_classifiers(self):
+        return self.classifiers or []
+
 # class DistributionMetadata