Source code for pymcxray.FileFormat.Version

#!/usr/bin/env python
"""
.. py:currentmodule:: FileFormat.Version
.. moduleauthor:: Hendrix Demers <hendrix.demers@mail.mcgill.ca>

MCXray version information.
"""

# Script information for the file.
__author__ = "Hendrix Demers (hendrix.demers@mail.mcgill.ca)"
__version__ = ""
__date__ = ""
__copyright__ = "Copyright (c) 2012 Hendrix Demers"
__license__ = ""

# Standard library modules.
import copy

# Third party modules.

# Local modules.

# Project modules

# Globals and constants variables.

[docs]class Version(object): key = "Version" def __init__(self, major, minor, revision): self.major = major self.minor = minor self.revision = revision
[docs] def toString(self): text = "%s.%s.%s" % (self.major, self.minor, self.revision) return text
[docs] def fromString(self, versionString): items = versionString.split('.') self.major = items[0] self.minor = items[1] self.revision = items[2]
[docs] def writeLine(self, outputFile): line = "%s=%s\n" % (self.key, self.toString()) outputFile.write(line)
[docs] def readFromFile(self, filepath): lines = open(filepath, 'r').readlines() for line in lines: line = line.strip() if line.startswith(self.key): items = line.split('=') self.fromString((items[-1])) return else: self.major = 1 self.minor = 1 self.revision = 1
def __eq__(self, other): if self.major == other.major and self.minor == other.minor and self.revision == other.revision: return True else: return False def __lt__(self, other): if self == other: return False if self.major < other.major: return True elif self.major > other.major: return False if self.minor < other.minor: return True elif self.minor > other.minor: return False if self.revision < other.revision: return True elif self.revision > other.revision: return False def __ge__(self, other): if self == other: return True if self < other: return False else: return True @property def major(self): return self._major @major.setter def major(self, major): self._major = int(major) @property def minor(self): return self._minor @minor.setter def minor(self, minor): self._minor = int(minor) @property def revision(self): return self._revision @revision.setter def revision(self, revision): self._revision = int(revision)
VERSION_1_1_1 = Version(1, 1, 1) VERSION_1_2_0 = Version(1, 2, 0) VERSION_1_2_1 = Version(1, 2, 1) VERSION_1_2_2 = Version(1, 2, 2) VERSION_1_2_3 = Version(1, 2, 3) VERSION_1_2_4 = Version(1, 2, 4) VERSION_1_2_5 = Version(1, 2, 5) VERSION_1_3_0 = Version(1, 3, 0) VERSION_1_4_0 = Version(1, 4, 0) VERSION_1_4_1 = Version(1, 4, 1) VERSION_1_4_2 = Version(1, 4, 2) VERSION_1_4_3 = Version(1, 4, 3) VERSION_1_4_4 = Version(1, 4, 4) VERSION_1_4_5 = Version(1, 4, 5) VERSION_1_4_6 = Version(1, 4, 6) VERSION_1_5_0 = Version(1, 5, 0) VERSION_1_5_1 = Version(1, 5, 1) VERSION_1_5_2 = Version(1, 5, 2) BEFORE_VERSION = copy.deepcopy(VERSION_1_1_1) CURRENT_VERSION = copy.deepcopy(VERSION_1_5_2)