diff options
author | Simon Schampijer <simon@schampijer.de> | 2010-11-12 10:42:52 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2010-11-12 10:42:52 (GMT) |
commit | 3a1117a8fd89d566ef73aebec8f925e069f28d08 (patch) | |
tree | d1a3139a89d2dd2ee3408cb37664dd96628f07e4 /src/sugar/bundle/activitybundle.py | |
parent | b716665663d4a8caaf91397b60b1160f4cf35c07 (diff) |
Add new activity numbering scheme #10379
toolkit: Add class NormalizedVersion to parse and compare the new
activity versions, change the bundlebuilder and activitybundle to
use the new scheme.
backported changes from SL #2425
Diffstat (limited to 'src/sugar/bundle/activitybundle.py')
-rw-r--r-- | src/sugar/bundle/activitybundle.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/sugar/bundle/activitybundle.py b/src/sugar/bundle/activitybundle.py index 2bec54f..c39c519 100644 --- a/src/sugar/bundle/activitybundle.py +++ b/src/sugar/bundle/activitybundle.py @@ -31,6 +31,10 @@ from sugar import util from sugar.bundle.bundle import Bundle, \ MalformedBundleException, NotInstalledException +from sugar.bundle.bundleversion import NormalizedVersion +from sugar.bundle.bundleversion import InvalidVersionError + + class ActivityBundle(Bundle): """A Sugar activity bundle @@ -54,7 +58,7 @@ class ActivityBundle(Bundle): self._bundle_id = None self._mime_types = None self._show_launcher = True - self._activity_version = 0 + self._activity_version = '0' self._installation_time = os.stat(path).st_mtime self._manifest = None @@ -181,11 +185,12 @@ class ActivityBundle(Bundle): if cp.has_option(section, 'activity_version'): version = cp.get(section, 'activity_version') try: - self._activity_version = int(version) - except ValueError: + NormalizedVersion(version) + except InvalidVersionError: raise MalformedBundleException( - 'Activity bundle %s has invalid version number %s' % + 'Activity bundle %s has invalid version number %s' % \ (self._path, version)) + self._activity_version = version def _get_linfo_file(self): lang = locale.getdefaultlocale()[0] |