Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>debian
parent
606568f675
commit
8013ade2de
@ -0,0 +1,71 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2011 Adam D. Barratt <adsb@debian.org>
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
class MigrationItem:
|
||||
def __init__(self, name = None):
|
||||
self._name = None
|
||||
self._version = None
|
||||
self._architecture = None
|
||||
self._suite = None
|
||||
|
||||
if name:
|
||||
self._set_name(name)
|
||||
|
||||
def _get_name(self):
|
||||
return self._name
|
||||
|
||||
def _set_name(self, value):
|
||||
self._version = None
|
||||
self._name = value
|
||||
if value.startswith('-'):
|
||||
value = value[1:]
|
||||
parts = value.split('/', 3)
|
||||
package = parts[0]
|
||||
if '_' in package:
|
||||
self._package, self._suite = package.split('_', 2)
|
||||
else:
|
||||
self._package, self._suite = (package, 'unstable')
|
||||
if len(parts) == 2:
|
||||
self._architecture = parts[1]
|
||||
else:
|
||||
self._architecture = 'source'
|
||||
|
||||
if '_' in self._architecture:
|
||||
self_architecture, self._suite = \
|
||||
self._architecture.split('_', 2)
|
||||
|
||||
if self.is_removal:
|
||||
self._suite = 'testing'
|
||||
|
||||
name = property(_get_name, _set_name)
|
||||
|
||||
@property
|
||||
def is_removal(self):
|
||||
return self._name.startswith('-')
|
||||
|
||||
@property
|
||||
def architecture(self):
|
||||
return self._architecture
|
||||
|
||||
@property
|
||||
def package(self):
|
||||
return self._package
|
||||
|
||||
@property
|
||||
def suite(self):
|
||||
return self._suite
|
||||
|
||||
@property
|
||||
def version(self):
|
||||
return self._version
|
Loading…
Reference in new issue