diff --git a/sugar/activity/bundle.py b/sugar/activity/bundle.py index a9c246d8..bc24092a 100644 --- a/sugar/activity/bundle.py +++ b/sugar/activity/bundle.py @@ -41,6 +41,7 @@ class NotInstalledException(Exception): pass class InvalidPathException(Exception): pass class ZipExtractException(Exception): pass class RegistrationException(Exception): pass +class MalformedBundleException(Exception): pass class Bundle: """Metadata description of a given application/activity @@ -265,10 +266,12 @@ class Bundle: if not bundle_root_dir: bundle_root_dir = file_name.split('/')[0] if not bundle_root_dir.endswith('.activity'): - raise 'Incorrect bundle.' + raise MalformedBundleException( + 'The activity directory name must end with .activity') else: if not file_name.startswith(bundle_root_dir): - raise 'Incorrect bundle.' + raise MalformedBundleException( + 'All files in the bundle must be inside the activity directory') return bundle_root_dir diff --git a/sugar/activity/bundlebuilder.py b/sugar/activity/bundlebuilder.py index b255cfb8..3bbe4546 100644 --- a/sugar/activity/bundlebuilder.py +++ b/sugar/activity/bundlebuilder.py @@ -162,8 +162,7 @@ def _get_mo_list(manifest): for lang in _get_po_list(manifest).keys(): filename = _get_service_name() + '.mo' - mo_list.append(os.path.join(_get_source_path(), 'locale', - lang, 'LC_MESSAGES', filename)) + mo_list.append(os.path.join('locale', lang, 'LC_MESSAGES', filename)) return mo_list