bundlebuilder: refactor get_files_git to Packager to avoid code duplication
Follow up patch for b582736375
Signed-off-by: Simon Schampijer <simon@laptop.org>
Reviewed-by: Daniel Drake <dsd@laptop.org>
Acked-by: Sascha Silbe <silbe@activitycentral.com>
This commit is contained in:
parent
29a700b34a
commit
37568a0a7e
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user