Commits

Stefan Scherfke committed 8fe1c72

Setup.py hacks :)

Comments (0)

Files changed (1)

 from distutils.core import setup
 
 
+class UltraMagicString(object):
+    # Catch-22:
+    # - if I return Unicode, python setup.py --long-description as well
+    #   as python setup.py upload fail with a UnicodeEncodeError
+    # - if I return UTF-8 string, python setup.py sdist register
+    #   fails with an UnicodeDecodeError
+
+    def __init__(self, value):
+        self.value = value
+
+    def __str__(self):
+        return self.value
+
+    def __unicode__(self):
+        return self.value.decode('UTF-8')
+
+    def __add__(self, other):
+        return UltraMagicString(self.value + str(other))
+
+    def split(self, *args, **kw):
+        return self.value.split(*args, **kw)
+
+
 setup(
     name='Collectors',
     version='1.0-rc1',
-    author=u'Stefan Scherfke and Ontje Luensdorf',
+    author=UltraMagicString('Stefan Scherfke and Ontje Lünsdorf'),
     author_email='stefan at sofa-rockers.org',
     description='Monitor your (SimPy) simulation models or other objects and '
         'collect data from them.',
-    long_description=open('README.txt').read(),
+    long_description=UltraMagicString(open('README.txt').read()),
     url='http://stefan.sofa-rockers.org/Collectors/',
     download_url='http://bitbucket.org/scherfke/collectors/downloads/',
     license='BSD',
         'collectors.test',
     ],
     classifiers=[
-        'Development Status :: 5 - Stable',
+        'Development Status :: 5 - Production/Stable',
         'Environment :: Console',
         'Intended Audience :: Developers',
         'Intended Audience :: Science/Research',
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.