summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gbp/deb/__init__.py11
-rw-r--r--gbp/deb/dscfile.py8
-rw-r--r--gbp/scripts/import_dsc.py4
-rw-r--r--gbp/scripts/import_dscs.py7
-rw-r--r--tests/12_test_deb.py6
-rw-r--r--tests/14_test_gbp_import_dscs.py14
6 files changed, 25 insertions, 25 deletions
diff --git a/gbp/deb/__init__.py b/gbp/deb/__init__.py
index bff4783..41fc8fd 100644
--- a/gbp/deb/__init__.py
+++ b/gbp/deb/__init__.py
@@ -26,7 +26,6 @@ from gbp.git import GitRepositoryError
# Make sure these are available with 'import gbp.deb'
from gbp.deb.changelog import ChangeLog, NoChangeLogError
from gbp.deb.policy import DebianPkgPolicy
-from gbp.deb.dscfile import DscFile
class DpkgCompareVersions(gbpc.Command):
cmd='/usr/bin/dpkg'
@@ -52,16 +51,6 @@ class DpkgCompareVersions(gbpc.Command):
return 0
-def parse_dsc(dscfile):
- """parse dsc by creating a DscFile object"""
- try:
- dsc = DscFile(dscfile)
- except IOError as err:
- raise GbpError("Error reading dsc file: %s" % err)
-
- return dsc
-
-
def parse_changelog_repo(repo, branch, filename):
"""
Parse the changelog file from given branch in the git
diff --git a/gbp/deb/dscfile.py b/gbp/deb/dscfile.py
index 6f450e2..abaf690 100644
--- a/gbp/deb/dscfile.py
+++ b/gbp/deb/dscfile.py
@@ -110,4 +110,12 @@ class DscFile(object):
def __str__(self):
return "<%s object %s>" % (self.__class__.__name__, self.dscfile)
+ @classmethod
+ def parse(cls, filename):
+ try:
+ dsc = cls(filename)
+ except IOError as err:
+ raise GbpError("Error reading dsc file: %s" % err)
+ return dsc
+
# vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·:
diff --git a/gbp/scripts/import_dsc.py b/gbp/scripts/import_dsc.py
index 7ed0e36..11c47e8 100644
--- a/gbp/scripts/import_dsc.py
+++ b/gbp/scripts/import_dsc.py
@@ -27,7 +27,7 @@ import pipes
import time
import gbp.command_wrappers as gbpc
from gbp.pkg import UpstreamSource
-from gbp.deb import parse_dsc
+from gbp.deb.dscfile import DscFile
from gbp.deb.git import (DebianGitRepository, GitRepositoryError)
from gbp.deb.changelog import ChangeLog
from gbp.git import rfc822_date_to_git
@@ -263,7 +263,7 @@ def main(argv):
else:
dsc = pkg
- src = parse_dsc(dsc)
+ src = DscFile.parse(dsc)
if src.pkgformat not in [ '1.0', '3.0' ]:
raise GbpError("Importing %s source format not yet supported." % src.pkgformat)
if options.verbose:
diff --git a/gbp/scripts/import_dscs.py b/gbp/scripts/import_dscs.py
index 565f6df..e15808f 100644
--- a/gbp/scripts/import_dscs.py
+++ b/gbp/scripts/import_dscs.py
@@ -21,7 +21,8 @@ import os
import sys
import tempfile
import gbp.command_wrappers as gbpc
-from gbp.deb import parse_dsc, DpkgCompareVersions
+from gbp.deb import DpkgCompareVersions
+from gbp.deb.dscfile import DscFile
from gbp.errors import GbpError
from gbp.git import GitRepository, GitRepositoryError
from gbp.scripts import import_dsc
@@ -119,7 +120,7 @@ def main(argv):
else:
for arg in argv[::-1]:
if arg.endswith('.dsc'):
- dscs.append(parse_dsc(arg))
+ dscs.append(DscFile.parse(arg))
import_args.remove(arg)
if not use_debsnap and not dscs:
@@ -128,7 +129,7 @@ def main(argv):
if use_debsnap:
dirs['tmp'] = os.path.abspath(tempfile.mkdtemp())
- dscs = [ parse_dsc(f) for f in fetch_snapshots(pkg, dirs['tmp']) ]
+ dscs = [ DscFile.parse(f) for f in fetch_snapshots(pkg, dirs['tmp']) ]
dscs.sort(cmp=dsc_cmp)
importer = GitImportDsc(import_args)
diff --git a/tests/12_test_deb.py b/tests/12_test_deb.py
index 8a35ac5..d46f987 100644
--- a/tests/12_test_deb.py
+++ b/tests/12_test_deb.py
@@ -7,6 +7,8 @@ from . import context
import os, tempfile, unittest
import gbp.deb
+
+from gbp.deb.dscfile import DscFile
from gbp.command_wrappers import CommandExecFailed
class TestDscFile(unittest.TestCase):
@@ -51,9 +53,9 @@ Files:
def tearDown(self):
os.unlink(self.dscfile.name)
- def test_parse_dsc_file(self):
+ def test_dscfile_parse(self):
"""Test parsing a valid dsc file"""
- dsc = gbp.deb.parse_dsc(self.dscfile.name)
+ dsc = DscFile.parse(self.dscfile.name)
self.assertEqual(dsc.version, '0.9.12-4')
diff --git a/tests/14_test_gbp_import_dscs.py b/tests/14_test_gbp_import_dscs.py
index 3e4772f..9482ea8 100644
--- a/tests/14_test_gbp_import_dscs.py
+++ b/tests/14_test_gbp_import_dscs.py
@@ -45,16 +45,16 @@ class DscStub(object):
self.filename = filename
self.version = version
-def stub_parse_dsc(filename):
- # filename is like file1.dsc, file2.dsc, use
- # the digit as version number
- version = filename[4]
- return DscStub(filename, version)
-
+ @classmethod
+ def parse(cls, filename):
+ # filename is like file1.dsc, file2.dsc, use
+ # the digit as version number
+ version = filename[4]
+ return cls(filename, version)
# hook up stubs
import_dscs.GitImportDsc = StubGitImportDsc
-import_dscs.parse_dsc = stub_parse_dsc
+import_dscs.DscFile = DscStub
class TestImportDscs(testutils.DebianGitTestRepo):
"""Test L{gbp.scripts.import_dscs}'s """