Mercurial > hgsubversion
annotate setup.py @ 717:ae5968ffe6fe
svnwrap: fix handling of quotable URLs (fixes #197, refs #132)
The way hgsubversion handles URLs that may or may not be quoted is
somewhat fragile. As part of fixing issue 132 in 925ff8c5989c, the
path component of URLs was always quoted. The URL has been attempted
encoded since the initial check-in.
The fix from 925ff8c5989c was incomplete; reverting it allows us to
clone a URL with a '~' in it.[1] Encoding the URL as UTF-8 seldom
works as expected, as the default string encoding is ASCII, causing
Python to be unable to decode any URL containing an 8-bit
character.
The core problem here is that we don't know whether the URL specified
by the user is quoted or not. Rather than trying to deal with this
ourselves, we pass the problem on to Subversion. Then, we obtain the
URL from the RA instance, where it is always quoted. (It's worth
noting that the editor interface, on the other hand, always deals with
unquoted paths...)
Thus, the following invariants should apply to SubversionRepo
attributes:
- svn_url and root will always be quoted.
- subdir will always be unquoted.
Tests are added that verify that it won't affect the conversion
whether a URL is specified in quoted or unquoted form. Furthermore, a
test fixture for this is added *twice*, so that we can thoroughly test
both quoted and unquoted URLs. I'm not adding a test dedicated to
tildes in URLs; it doesn't seem necessary.
[1] Such as <https://svn.kenai.com/svn/winsw~subversion>.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Mon, 04 Oct 2010 21:00:36 -0500 |
parents | 26b85c0cf48a |
children | 050f03a3bdf5 |
rev | line source |
---|---|
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
320
1ba8ed29148e
Fix package name, use README for long_description
Augie Fackler <durin42@gmail.com>
parents:
318
diff
changeset
|
3 import os |
562
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
4 import re |
509
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
5 import subprocess |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
6 import sys |
509
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
7 import time |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
8 if not hasattr(sys, 'version_info') or sys.version_info < (2, 4, 0, 'final'): |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
9 raise SystemExit("Mercurial requires python 2.4 or later.") |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
10 |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
11 try: |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
12 from distutils.command.build_py import build_py_2to3 as build_py |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
13 except ImportError: |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
14 from distutils.command.build_py import build_py |
353
1ad05cffb20f
setup.py: Use setuptools if available.
Augie Fackler <durin42@gmail.com>
parents:
347
diff
changeset
|
15 try: |
1ad05cffb20f
setup.py: Use setuptools if available.
Augie Fackler <durin42@gmail.com>
parents:
347
diff
changeset
|
16 from setuptools import setup |
1ad05cffb20f
setup.py: Use setuptools if available.
Augie Fackler <durin42@gmail.com>
parents:
347
diff
changeset
|
17 except ImportError: |
1ad05cffb20f
setup.py: Use setuptools if available.
Augie Fackler <durin42@gmail.com>
parents:
347
diff
changeset
|
18 from distutils.core import setup |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
19 |
509
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
20 def runcmd(cmd, env): |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
21 p = subprocess.Popen(cmd, stdout=subprocess.PIPE, |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
22 stderr=subprocess.PIPE, env=env) |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
23 out, err = p.communicate() |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
24 # If root is executing setup.py, but the repository is owned by |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
25 # another user (as in "sudo python setup.py install") we will get |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
26 # trust warnings since the .hg/hgrc file is untrusted. That is |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
27 # fine, we don't want to load it anyway. |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
28 err = [e for e in err.splitlines() |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
29 if not e.startswith('Not trusting file')] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
30 if err: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
31 return '' |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
32 return out |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
33 |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
34 |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
35 version = '' |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
36 |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
37 if os.path.isdir('.hg'): |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
38 # Execute hg out of this directory with a custom environment which |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
39 # includes the pure Python modules in mercurial/pure. We also take |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
40 # care to not use any hgrc files and do no localization. |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
41 env = {'HGRCPATH': '', |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
42 'LANGUAGE': 'C'} |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
43 for copyenv in ('LD_LIBRARY_PATH', 'PYTHONPATH', 'PATH'): |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
44 if copyenv in os.environ: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
45 env[copyenv] = os.environ[copyenv] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
46 if 'SystemRoot' in os.environ: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
47 # Copy SystemRoot into the custom environment for Python 2.6 |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
48 # under Windows. Otherwise, the subprocess will fail with |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
49 # error 0xc0150004. See: http://bugs.python.org/issue3440 |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
50 env['SystemRoot'] = os.environ['SystemRoot'] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
51 cmd = ['hg', 'id', '-i', '-t'] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
52 l = runcmd(cmd, env).split() |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
53 while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
54 l.pop() |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
55 if len(l) > 1: # tag found |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
56 version = l[-1] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
57 if l[0].endswith('+'): # propagate the dirty status to the tag |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
58 version += '+' |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
59 elif len(l) == 1: # no tag found |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
60 cmd = ['hg', 'parents', '--template', |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
61 '{latesttag}+{latesttagdistance}-'] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
62 version = runcmd(cmd, env) + l[0] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
63 if not version: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
64 version = runcmd(['hg', 'parents', '--template' '{node|short}\n'], |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
65 env) |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
66 if version: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
67 version = version.split()[0] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
68 if version.endswith('+'): |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
69 version += time.strftime('%Y%m%d') |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
70 elif os.path.exists('.hg_archival.txt'): |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
71 kw = dict([t.strip() for t in l.split(':', 1)] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
72 for l in open('.hg_archival.txt')) |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
73 if 'tag' in kw: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
74 version = kw['tag'] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
75 elif 'latesttag' in kw: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
76 version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
77 else: |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
78 version = kw.get('node', '')[:12] |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
79 |
562
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
80 verfile = os.path.join("hgsubversion", "__version__.py") |
509
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
81 if version: |
562
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
82 f = open(verfile, "w") |
509
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
83 f.write('# this file is autogenerated by setup.py\n') |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
84 f.write('version = "%s"\n' % version) |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
85 f.close() |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
86 |
562
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
87 if os.path.exists(verfile): |
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
88 # scrape the version out with a regex because setuptools |
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
89 # needlessly swaps out file() for some non-object thing |
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
90 # and breaks importing hgsubversion entirely |
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
91 mat = re.findall('.*"(.*)"', open(verfile).read()) |
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
92 version = mat[0] |
c538229d02ca
setup: work around easy_install by getting version with a regex
Augie Fackler <durin42@gmail.com>
parents:
553
diff
changeset
|
93 if not version: |
509
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
94 version = 'unknown' |
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
95 |
563
09c016174e33
setup: work around easy_intall overzealously installing mercurial
Augie Fackler <durin42@gmail.com>
parents:
562
diff
changeset
|
96 requires = [] |
09c016174e33
setup: work around easy_intall overzealously installing mercurial
Augie Fackler <durin42@gmail.com>
parents:
562
diff
changeset
|
97 try: |
09c016174e33
setup: work around easy_intall overzealously installing mercurial
Augie Fackler <durin42@gmail.com>
parents:
562
diff
changeset
|
98 import mercurial |
09c016174e33
setup: work around easy_intall overzealously installing mercurial
Augie Fackler <durin42@gmail.com>
parents:
562
diff
changeset
|
99 except ImportError: |
09c016174e33
setup: work around easy_intall overzealously installing mercurial
Augie Fackler <durin42@gmail.com>
parents:
562
diff
changeset
|
100 requires.append('mercurial') |
553
97f2079e3778
setup: updates for release
Augie Fackler <durin42@gmail.com>
parents:
526
diff
changeset
|
101 |
681
26b85c0cf48a
setup: require Subvertpy when the SWIG bindings are unavailable.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
659
diff
changeset
|
102 # If the Subversion SWIG bindings aren't present, require Subvertpy |
26b85c0cf48a
setup: require Subvertpy when the SWIG bindings are unavailable.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
659
diff
changeset
|
103 try: |
26b85c0cf48a
setup: require Subvertpy when the SWIG bindings are unavailable.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
659
diff
changeset
|
104 from hgsubversion.svnwrap import svn_swig_wrapper |
26b85c0cf48a
setup: require Subvertpy when the SWIG bindings are unavailable.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
659
diff
changeset
|
105 except ImportError: |
26b85c0cf48a
setup: require Subvertpy when the SWIG bindings are unavailable.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
659
diff
changeset
|
106 requires.append('subvertpy>=0.7.3') |
612
2c15e4c50a54
setup: check for Subversion by importing the `svnwrap' module.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
563
diff
changeset
|
107 |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
108 setup( |
320
1ba8ed29148e
Fix package name, use README for long_description
Augie Fackler <durin42@gmail.com>
parents:
318
diff
changeset
|
109 name = 'hgsubversion', |
509
ac9c9e1a8022
setup: write out version info
Augie Fackler <durin42@gmail.com>
parents:
353
diff
changeset
|
110 version = version, |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
111 url = 'http://bitbucket.org/durin42/hgsubversion', |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
112 license = 'GNU GPL', |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
113 author = 'Augie Fackler, others', |
553
97f2079e3778
setup: updates for release
Augie Fackler <durin42@gmail.com>
parents:
526
diff
changeset
|
114 author_email = 'durin42@gmail.com', |
318 | 115 description = ('hgsubversion is a Mercurial extension for working with ' |
116 'Subversion repositories.'), | |
320
1ba8ed29148e
Fix package name, use README for long_description
Augie Fackler <durin42@gmail.com>
parents:
318
diff
changeset
|
117 long_description = open(os.path.join(os.path.dirname(__file__), |
1ba8ed29148e
Fix package name, use README for long_description
Augie Fackler <durin42@gmail.com>
parents:
318
diff
changeset
|
118 'README')).read(), |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
119 keywords = 'mercurial', |
347
537de0300510
Remove the 'outgoing' wrapper, and use the Mercurial infrastructure instead.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
337
diff
changeset
|
120 packages = ('hgsubversion', 'hgsubversion.svnwrap'), |
659
55d6697b975a
help: add an rst file containing some helpful instructions
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
612
diff
changeset
|
121 package_data = { 'hgsubversion': ['help/subversion.rst'] }, |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
122 platforms = 'any', |
563
09c016174e33
setup: work around easy_intall overzealously installing mercurial
Augie Fackler <durin42@gmail.com>
parents:
562
diff
changeset
|
123 install_requires=requires, |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
124 classifiers = [ |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
125 'License :: OSI Approved :: GNU General Public License (GPL)', |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
126 'Intended Audience :: Developers', |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
127 'Topic :: Software Development :: Version Control', |
553
97f2079e3778
setup: updates for release
Augie Fackler <durin42@gmail.com>
parents:
526
diff
changeset
|
128 'Development Status :: 4 - Beta', |
308
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
129 'Programming Language :: Python', |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
130 'Operating System :: OS Independent', |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
131 ], |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
132 cmdclass = {'build_py': build_py}, |
41aa4c3f789e
A quick stab at a distutils installation script.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
diff
changeset
|
133 ) |