diff options
author | Simon Schampijer <simon@schampijer.de> | 2011-09-19 17:10:30 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2011-09-28 09:52:38 (GMT) |
commit | 37568a0a7e06146d1a013aceefd1a9d5264d4e83 (patch) | |
tree | 0286d85204ed482df76c57ca7cdfb225da8fbc02 | |
parent | 29a700b34a8aa2814b8a29fff18921405078fce5 (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.py | 40 |
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() |