|
12 | 12 | from setuptools import setup, Command # noqa |
13 | 13 | from distutils.command.install import INSTALL_SCHEMES |
14 | 14 |
|
15 | | -import djcelery as distmeta |
| 15 | +# -*- Distribution Meta -*- |
| 16 | +NAME = "django-celery" |
| 17 | + |
| 18 | +import re |
| 19 | +re_meta = re.compile(r'__(\w+?)__\s*=\s*(.*)') |
| 20 | +re_vers = re.compile(r'VERSION\s*=\s*\((.*?)\)') |
| 21 | +re_doc = re.compile(r'^"""(.+?)"""') |
| 22 | +rq = lambda s: s.strip("\"'") |
| 23 | + |
| 24 | +def add_default(m): |
| 25 | + attr_name, attr_value = m.groups() |
| 26 | + return ((attr_name, rq(attr_value)), ) |
| 27 | + |
| 28 | + |
| 29 | +def add_version(m): |
| 30 | + v = list(map(rq, m.groups()[0].split(", "))) |
| 31 | + return (("VERSION", ".".join(v[0:3]) + "".join(v[3:])), ) |
| 32 | + |
| 33 | + |
| 34 | +def add_doc(m): |
| 35 | + return (("doc", m.groups()[0]), ) |
| 36 | + |
| 37 | +pats = {re_meta: add_default, |
| 38 | + re_vers: add_version, |
| 39 | + re_doc: add_doc} |
| 40 | +here = os.path.abspath(os.path.dirname(__file__)) |
| 41 | +meta_fh = open(os.path.join(here, "djcelery/__init__.py")) |
| 42 | +try: |
| 43 | + meta = {} |
| 44 | + for line in meta_fh: |
| 45 | + if line.strip() == '# -eof meta-': |
| 46 | + break |
| 47 | + for pattern, handler in pats.items(): |
| 48 | + m = pattern.match(line.strip()) |
| 49 | + if m: |
| 50 | + meta.update(handler(m)) |
| 51 | +finally: |
| 52 | + meta_fh.close() |
| 53 | + |
16 | 54 |
|
17 | 55 | packages, data_files = [], [] |
18 | 56 | root_dir = os.path.dirname(__file__) |
@@ -122,12 +160,12 @@ def extra_args(self): |
122 | 160 |
|
123 | 161 |
|
124 | 162 | setup( |
125 | | - name='django-celery', |
126 | | - version=distmeta.__version__, |
127 | | - description=distmeta.__doc__, |
128 | | - author=distmeta.__author__, |
129 | | - author_email=distmeta.__contact__, |
130 | | - url=distmeta.__homepage__, |
| 163 | + name=NAME, |
| 164 | + version=meta["VERSION"], |
| 165 | + description=meta["doc"], |
| 166 | + author=meta["author"], |
| 167 | + author_email=meta["contact"], |
| 168 | + url=meta["homepage"], |
131 | 169 | platforms=["any"], |
132 | 170 | license="BSD", |
133 | 171 | packages=packages, |
|
0 commit comments