From d850fc8cab16d34ee77b592445572f30161ee16d Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Tue, 15 Apr 2014 13:01:16 +0200 Subject: [PATCH] Move Version class into ubuntutools module. --- syncpackage | 31 +---------------------------- ubuntutools/version.py | 44 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 30 deletions(-) create mode 100644 ubuntutools/version.py diff --git a/syncpackage b/syncpackage index dac3182..04685f3 100755 --- a/syncpackage +++ b/syncpackage @@ -29,7 +29,6 @@ import sys import textwrap import urllib -import debian.debian_support from lazr.restfulclient.errors import HTTPError from ubuntutools.archive import (DebianSourcePackage, UbuntuSourcePackage, @@ -44,38 +43,10 @@ from ubuntutools.question import YesNoQuestion from ubuntutools.requestsync.mail import ( get_debian_srcpkg as requestsync_mail_get_debian_srcpkg) from ubuntutools.requestsync.lp import get_debian_srcpkg, get_ubuntu_srcpkg +from ubuntutools.version import Version from ubuntutools import subprocess -class Version(debian.debian_support.Version): - def strip_epoch(self): - '''Removes the epoch from a Debian version string. - - strip_epoch(1:1.52-1) will return "1.52-1" and strip_epoch(1.1.3-1) - will return "1.1.3-1". - ''' - parts = self.full_version.split(':') - if len(parts) > 1: - del parts[0] - version_without_epoch = ':'.join(parts) - return version_without_epoch - - def get_related_debian_version(self): - '''Strip the ubuntu-specific bits off the version''' - related_debian_version = self.full_version - uidx = related_debian_version.find('ubuntu') - if uidx > 0: - related_debian_version = related_debian_version[:uidx] - uidx = related_debian_version.find('build') - if uidx > 0: - related_debian_version = related_debian_version[:uidx] - return Version(related_debian_version) - - def is_modified_in_ubuntu(self): - '''Did Ubuntu modify this (and mark the version appropriately)?''' - return 'ubuntu' in self.full_version - - def remove_signature(dscname): '''Removes the signature from a .dsc file if the .dsc file is signed.''' diff --git a/ubuntutools/version.py b/ubuntutools/version.py new file mode 100644 index 0000000..2a6569e --- /dev/null +++ b/ubuntutools/version.py @@ -0,0 +1,44 @@ +# Copyright (C) 2014, Benjamin Drung +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +import debian.debian_support + + +class Version(debian.debian_support.Version): + def strip_epoch(self): + '''Removes the epoch from a Debian version string. + + strip_epoch(1:1.52-1) will return "1.52-1" and strip_epoch(1.1.3-1) + will return "1.1.3-1". + ''' + parts = self.full_version.split(':') + if len(parts) > 1: + del parts[0] + version_without_epoch = ':'.join(parts) + return version_without_epoch + + def get_related_debian_version(self): + '''Strip the ubuntu-specific bits off the version''' + related_debian_version = self.full_version + uidx = related_debian_version.find('ubuntu') + if uidx > 0: + related_debian_version = related_debian_version[:uidx] + uidx = related_debian_version.find('build') + if uidx > 0: + related_debian_version = related_debian_version[:uidx] + return Version(related_debian_version) + + def is_modified_in_ubuntu(self): + '''Did Ubuntu modify this (and mark the version appropriately)?''' + return 'ubuntu' in self.full_version