diff options
author | Michael Vogt <mvo@ubuntu.com> | 2014-09-03 09:00:53 +0200 |
---|---|---|
committer | Michael Vogt <mvo@ubuntu.com> | 2014-09-03 09:00:53 +0200 |
commit | ea440c589db54ac01e79ad8d09a9976e77f15f23 (patch) | |
tree | 5d0524c21a7e0f358af5a4235355bde192c48498 | |
parent | cee43f7e7dfa588385deea06101e93e85886f1db (diff) | |
download | python-apt-ea440c589db54ac01e79ad8d09a9976e77f15f23.tar.gz |
add support for apt.debfile.DscSrcPackage.filelist
-rw-r--r-- | apt/debfile.py | 15 | ||||
-rw-r--r-- | tests/test_debfile.py | 4 |
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: |