Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/bundle/activitybundle.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/sugar/bundle/activitybundle.py')
-rw-r--r--src/sugar/bundle/activitybundle.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/sugar/bundle/activitybundle.py b/src/sugar/bundle/activitybundle.py
index 3bbc250..e7882b9 100644
--- a/src/sugar/bundle/activitybundle.py
+++ b/src/sugar/bundle/activitybundle.py
@@ -32,7 +32,8 @@ from sugar import env
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
@@ -59,7 +60,7 @@ class ActivityBundle(Bundle):
self._mime_types = None
self._show_launcher = True
self._tags = None
- self._activity_version = 0
+ self._activity_version = '0'
self._installation_time = os.stat(path).st_mtime
self._manifest = None
@@ -197,11 +198,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' %
(self._path, version))
+ self._activity_version = version
def _get_linfo_file(self):
lang = locale.getdefaultlocale()[0]