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