summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2014-09-03 09:00:53 +0200
committerMichael Vogt <mvo@ubuntu.com>2014-09-03 09:00:53 +0200
commitea440c589db54ac01e79ad8d09a9976e77f15f23 (patch)
tree5d0524c21a7e0f358af5a4235355bde192c48498
parentcee43f7e7dfa588385deea06101e93e85886f1db (diff)
downloadpython-apt-ea440c589db54ac01e79ad8d09a9976e77f15f23.tar.gz
add support for apt.debfile.DscSrcPackage.filelist
-rw-r--r--apt/debfile.py15
-rw-r--r--tests/test_debfile.py4
2 files changed, 16 insertions, 3 deletions
diff --git a/apt/debfile.py b/apt/debfile.py
index 9d9b2695..5c6de3c7 100644
--- a/apt/debfile.py
+++ b/apt/debfile.py
@@ -704,6 +704,12 @@ class DscSrcPackage(DebPackage):
"""Return the dependencies of the package"""
return self._conflicts
+ @property
+ def filelist(self):
+ """Return the list of files associated with this dsc file"""
+ # Files stanza looks like (hash, size, filename, ...)
+ return self._sections['Files'].split()[2::3]
+
def open(self, file):
"""Open the package."""
depends_tags = ["Build-Depends", "Build-Depends-Indep"]
@@ -724,9 +730,12 @@ class DscSrcPackage(DebPackage):
self.pkgname = sec['Source']
if 'Binary' in sec:
self.binaries = sec['Binary'].split(', ')
- if 'Version' in sec:
- self._sections['Version'] = sec['Version']
- # we are done
+ # read some more tags
+ for tag in ('Version', 'Files', 'Checksum-Sha1'):
+ if tag in sec:
+ self._sections[tag] = sec[tag]
+ # we only care about the stanza with the "Format:" tag, the
+ # rest is gpg signature noise
if 'Format' in sec:
break
finally:
diff --git a/tests/test_debfile.py b/tests/test_debfile.py
index b27e6567..0c7028ab 100644
--- a/tests/test_debfile.py
+++ b/tests/test_debfile.py
@@ -75,6 +75,10 @@ class TestDebfile(unittest.TestCase):
self.assertFalse(deb.check())
self.assertEqual(deb["Version"], "2.5-1")
+ self.maxDiff = None
+ self.assertEqual(deb.filelist, ["hello_2.5.orig.tar.gz",
+ "hello_2.5-1.diff.gz"])
+
def testDebFile(self):
deb = apt.debfile.DebPackage(cache=self.cache)
for (filename, expected_res) in self.TEST_DEBS: