From 37568a0a7e06146d1a013aceefd1a9d5264d4e83 Mon Sep 17 00:00:00 2001 From: Simon Schampijer Date: Mon, 19 Sep 2011 17:10:30 +0000 Subject: bundlebuilder: refactor get_files_git to Packager to avoid code duplication Follow up patch for b582736375218e8944b3ce3daac667c7910a7e73 Signed-off-by: Simon Schampijer Reviewed-by: Daniel Drake Acked-by: Sascha Silbe --- (limited to 'src/sugar') 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() -- cgit v0.9.1