From 762f0973acb14627411dfc6d55032786b2fc6e4a Mon Sep 17 00:00:00 2001 From: "Yang.Y" Date: Mon, 14 Dec 2015 10:01:43 +0800 Subject: [PATCH 1/2] Fix versioning: import __version__ at setup.py directly is error-prone, and use a standalone version.py outside package source also not a good idea. --- notifications/__init__.py | 42 ++++++++++++--------------------------- setup.py | 13 ++++++++++-- version.py | 20 ------------------- 3 files changed, 24 insertions(+), 51 deletions(-) delete mode 100644 version.py diff --git a/notifications/__init__.py b/notifications/__init__.py index 0631da7..f85f858 100644 --- a/notifications/__init__.py +++ b/notifications/__init__.py @@ -1,32 +1,16 @@ -try: - from notifications.signals import notify -except ImportError: - pass +# -*- coding: utf-8 -*- +""" + django-notifications + ~~~~~ + A GitHub notification alike app for Django. + :copyright: (c) 2015 by django-notifications team. + :license: BSD, see LICENSE.txt for more details. +""" -try: - from notifications.urls import urlpatterns - urls = (urlpatterns, 'notifications', 'notifications') -except ImportError: - pass +# PEP 386-compliant version number: N.N[.N]+[{a|b|c|rc}N[.N]+][.postN][.devN] +__version__ = '0.8.0' -__version_info__ = { - 'major': 0, - 'minor': 8, - 'micro': 0, - 'releaselevel': 'final', - 'serial': 0 -} - - -def get_version(release_level=True): - """ - Return the formatted version information - """ - vers = ["%(major)i.%(minor)i.%(micro)i" % __version_info__] - if release_level and __version_info__['releaselevel'] != 'final': - vers.append('%(releaselevel)s%(serial)i' % __version_info__) - return ''.join(vers) - - -__version__ = get_version() +from notifications.signals import notify +from notifications.urls import urlpatterns +urls = (urlpatterns, 'notifications', 'notifications') diff --git a/setup.py b/setup.py index 598f15f..c8e1cd4 100755 --- a/setup.py +++ b/setup.py @@ -1,11 +1,20 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +import re +import ast from distutils.core import setup -from version import __version__ + + +_version_re = re.compile(r'__version__\s+=\s+(.*)') + +with open('notifications/__init__.py', 'rb') as f: + version = str(ast.literal_eval(_version_re.search( + f.read().decode('utf-8')).group(1))) + setup(name='django-notifications-hq', - version=__version__, + version=version, description='GitHub notifications alike app for Django.', diff --git a/version.py b/version.py deleted file mode 100644 index dce9848..0000000 --- a/version.py +++ /dev/null @@ -1,20 +0,0 @@ -__version_info__ = { - 'major': 0, - 'minor': 7, - 'micro': 1, - 'releaselevel': 'final', - 'serial': 0 -} - - -def get_version(release_level=True): - """ - Return the formatted version information - """ - vers = ["%(major)i.%(minor)i.%(micro)i" % __version_info__] - if release_level and __version_info__['releaselevel'] != 'final': - vers.append('%(releaselevel)s%(serial)i' % __version_info__) - return ''.join(vers) - - -__version__ = get_version() From d375fc1a0f85d0eeee65dd317026f70531ca2cff Mon Sep 17 00:00:00 2001 From: "Yang.Y" Date: Mon, 14 Dec 2015 10:56:13 +0800 Subject: [PATCH 2/2] Make travis-ci happy --- notifications/__init__.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/notifications/__init__.py b/notifications/__init__.py index f85f858..35b1386 100644 --- a/notifications/__init__.py +++ b/notifications/__init__.py @@ -10,7 +10,13 @@ # PEP 386-compliant version number: N.N[.N]+[{a|b|c|rc}N[.N]+][.postN][.devN] __version__ = '0.8.0' -from notifications.signals import notify -from notifications.urls import urlpatterns +try: + from notifications.signals import notify +except ImportError: + pass -urls = (urlpatterns, 'notifications', 'notifications') +try: + from notifications.urls import urlpatterns + urls = (urlpatterns, 'notifications', 'notifications') +except ImportError: + pass