diff --git a/src/sugar/activity/bundlebuilder.py b/src/sugar/activity/bundlebuilder.py index 2480b03d..f0cd5744 100644 --- a/src/sugar/activity/bundlebuilder.py +++ b/src/sugar/activity/bundlebuilder.py @@ -81,6 +81,10 @@ class Builder(object): def build_locale(self): po_dir = os.path.join(self.config.source_dir, 'po') + if not self.config.bundle.is_dir(po_dir): + logging.warn("Missing po/ dir, cannot build_locale") + return + for f in os.listdir(po_dir): if not f.endswith('.po'): continue @@ -214,6 +218,10 @@ def cmd_dist_xo(config, options, args): packager = XOPackager(config) packager.package() +def cmd_dist(config, options, args): + logging.warn("dist deprecated, use dist_xo.") + cmd_dist_xo(config, options, args) + def cmd_dist_source(config, options, args): packager = SourcePackager(config) packager.package() diff --git a/src/sugar/bundle/bundle.py b/src/sugar/bundle/bundle.py index 9e876c26..3b12932a 100644 --- a/src/sugar/bundle/bundle.py +++ b/src/sugar/bundle/bundle.py @@ -132,7 +132,18 @@ class Bundle: zip_file.close() return True - + + def is_dir(self, filename): + if self._unpacked: + path = os.path.join(self._path, filename) + return os.path.isdir(path) + else: + zip_file = zipfile.ZipFile(self._path) + path = os.path.join(self._zip_root_dir, filename, "") + for f in zip_file.namelist(): + if f.startswith(path): + return True + return False def get_path(self): """Get the bundle path."""