[Sugar-devel] [PATCH sugar-toolkit] bundlebuilder: refactor get_files_git to Packager to avoid code duplication
Simon Schampijer
simon at schampijer.de
Mon Sep 19 13:12:39 EDT 2011
Follow up patch for b582736375218e8944b3ce3daac667c7910a7e73
Signed-off-by: Simon Schampijer <simon at laptop.org>
---
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 8263239..2cb81d7 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):
@@ -170,7 +182,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')
@@ -182,18 +194,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):
@@ -202,21 +202,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()
--
1.7.4.4
More information about the Sugar-devel
mailing list