summaryrefslogtreecommitdiff
path: root/vmdebootstrap/codenames.py
diff options
context:
space:
mode:
authorNeil Williams <codehelp@debian.org>2015-08-15 14:33:59 +0200
committerNeil Williams <codehelp@debian.org>2015-08-16 14:28:35 +0200
commit54b1ab7ea71a857791189d7a2108c8b76cbfde2a (patch)
tree1515a90e7e8a8986277adc2654f001e8ecdbcce0 /vmdebootstrap/codenames.py
parentca8829488c49ae4801ef91eed6d17f7bad892eef (diff)
downloadvmdebootstrap-54b1ab7ea71a857791189d7a2108c8b76cbfde2a.tar.gz
move handlers into a module directory
Diffstat (limited to 'vmdebootstrap/codenames.py')
-rw-r--r--vmdebootstrap/codenames.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/vmdebootstrap/codenames.py b/vmdebootstrap/codenames.py
new file mode 100644
index 0000000..045d5b2
--- /dev/null
+++ b/vmdebootstrap/codenames.py
@@ -0,0 +1,61 @@
+"""
+ Wrapper for distro information
+"""
+# -*- coding: utf-8 -*-
+#
+# codenames.py
+#
+# Copyright 2015 Neil Williams <codehelp@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 3 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import datetime
+from vmdebootstrap.base import Base
+from distro_info import DebianDistroInfo, UbuntuDistroInfo
+
+# pylint: disable=missing-docstring
+
+
+class Codenames(Base):
+
+ name = 'codenames'
+
+ def __init__(self):
+ super(Codenames, self).__init__()
+ self.debian_info = DebianDistroInfo()
+ self.ubuntu_info = UbuntuDistroInfo()
+
+ def define_settings(self, settings):
+ self.settings = settings
+
+ def suite_to_codename(self, distro):
+ suite = self.debian_info.codename(distro, datetime.date.today())
+ if not suite:
+ return distro
+ return suite
+
+ def was_oldstable(self, limit):
+ suite = self.suite_to_codename(self.settings['distribution'])
+ # this check is only for debian
+ if not self.debian_info.valid(suite):
+ return False
+ return suite == self.debian_info.old(limit)
+
+ def was_stable(self, limit):
+ suite = self.suite_to_codename(self.settings['distribution'])
+ # this check is only for debian
+ if not self.debian_info.valid(suite):
+ return False
+ return suite == self.debian_info.stable(limit)
+