Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2011-09-19 17:10:30 (GMT)
committer Simon Schampijer <simon@schampijer.de>2011-09-28 09:52:38 (GMT)
commit37568a0a7e06146d1a013aceefd1a9d5264d4e83 (patch)
tree0286d85204ed482df76c57ca7cdfb225da8fbc02
parent29a700b34a8aa2814b8a29fff18921405078fce5 (diff)
bundlebuilder: refactor get_files_git to Packager to avoid code duplication
Follow up patch for b582736375218e8944b3ce3daac667c7910a7e73 Signed-off-by: Simon Schampijer <simon@laptop.org> Reviewed-by: Daniel Drake <dsd@laptop.org> Acked-by: Sascha Silbe <silbe@activitycentral.com>
-rw-r--r--src/sugar/activity/bundlebuilder.py40
1 files changed, 14 insertions, 26 deletions
diff --git a/src/sugar/activity/bundlebuilder.py b/src/sugar/activity/bundlebuilder.py
index e7641bb..65105ab 100644
--- a/src/sugar/activity/bundlebuilder.py
+++ b/src/sugar/activity/bundlebuilder.py
@@ -156,6 +156,18 @@ class Packager(object):
if not os.path.exists(self.config.dist_dir):
os.mkdir(self.config.dist_dir)
+ def get_files_in_git(self):
+ git_ls = subprocess.Popen(['git', 'ls-files'], stdout=subprocess.PIPE,
+ cwd=self.config.source_dir)
+ stdout, _ = git_ls.communicate()
+ if git_ls.returncode:
+ # Fall back to filtered list
+ return list_files(self.config.source_dir,
+ IGNORE_DIRS, IGNORE_FILES)
+
+ # pylint: disable=E1103
+ return [path.strip() for path in stdout.strip('\n').split('\n')]
+
class XOPackager(Packager):
@@ -171,7 +183,7 @@ class XOPackager(Packager):
bundle_zip = zipfile.ZipFile(self.package_path, 'w',
zipfile.ZIP_DEFLATED)
- for f in self._get_files_in_git():
+ for f in self.get_files_in_git():
bundle_zip.write(os.path.join(self.config.source_dir, f),
os.path.join(self.config.bundle_root_dir, f))
locale_dir = os.path.join(self.config.source_dir, 'locale')
@@ -183,18 +195,6 @@ class XOPackager(Packager):
bundle_zip.close()
- def _get_files_in_git(self):
- git_ls = subprocess.Popen(['git', 'ls-files'], stdout=subprocess.PIPE,
- cwd=self.config.source_dir)
- stdout, _ = git_ls.communicate()
- if git_ls.returncode:
- # Fall back to filtered list
- return list_files(self.config.source_dir,
- IGNORE_DIRS, IGNORE_FILES)
-
- # pylint: disable=E1103
- return [path.strip() for path in stdout.strip('\n').split('\n')]
-
class SourcePackager(Packager):
@@ -203,21 +203,9 @@ class SourcePackager(Packager):
self.package_path = os.path.join(self.config.dist_dir,
self.config.tar_name)
- def get_files(self):
- git_ls = subprocess.Popen(['git', 'ls-files'], stdout=subprocess.PIPE,
- cwd=self.config.source_dir)
- stdout, _ = git_ls.communicate()
- if git_ls.returncode:
- # Fall back to filtered list
- return list_files(self.config.source_dir,
- IGNORE_DIRS, IGNORE_FILES)
-
- # pylint: disable=E1103
- return [path.strip() for path in stdout.strip('\n').split('\n')]
-
def package(self):
tar = tarfile.open(self.package_path, 'w:bz2')
- for f in self.get_files():
+ for f in self.get_files_in_git():
tar.add(os.path.join(self.config.source_dir, f),
os.path.join(self.config.tar_root_dir, f))
tar.close()