diff options
author | Isis Lovecruft <isis@torproject.org> | 2013-02-17 15:23:54 +0000 |
---|---|---|
committer | Isis Lovecruft <isis@torproject.org> | 2013-02-17 15:23:54 +0000 |
commit | 66d60a58ef752f9c9692dd8bdb0f61a5c1dfdb17 (patch) | |
tree | 016980342b8e2610f0010efddcab489a8d30db0a /src/leap/mx/util/version.py | |
parent | 364200c25e28d4996024dcf2f0644f5f20cde9ae (diff) | |
parent | 8d2fdc800de469420005f9c5deee4c342950ccc9 (diff) |
Merge branch 'feature/check-recipient' into develop
Diffstat (limited to 'src/leap/mx/util/version.py')
-rw-r--r-- | src/leap/mx/util/version.py | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/src/leap/mx/util/version.py b/src/leap/mx/util/version.py new file mode 100644 index 0000000..c32166f --- /dev/null +++ b/src/leap/mx/util/version.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- +''' +version.py +---------- +Version information for leap_mx. + +@authors: Isis Agora Lovecruft, <isis@leap.se> 0x2cdb8b35 +@licence: see included LICENSE file +@copyright: 2013 Isis Agora Lovecruft +''' + +from os import getcwd +from os import path as ospath + +import sys + + +class Version(object): + def __init__(self): + self.name = 'leap_mx' + self.version = '0.0.2' + self.pipfile = ospath.join(self.getRepoDir(), + 'pkg/mx-requirements.pip') + self.authors = [ + ('Isis Agora Lovecruft', '<isis@leap.se>', '0x2cdb8b35'), + ] + self.git_url = 'https://github.com/isislovecruft/leap_mx/' + self.website = 'https://leap.se' + + def getPackageName(self): + """Returns the application name.""" + return self.name + + def getPipfile(self): + """Returns the full path of the pip requirements.txt file.""" + return self.pipfile + + def getVersion(self): + """Returns a version the application name and version number.""" + return self.version + + def getAuthors(self): + credits = str() + for author in self.authors: + credits += " ".join(author) + return credits + + def getRepoDir(self): + """Get the top-level repository directory.""" + here = getcwd() + base = here.rsplit(self.name, 1)[0] + repo = ospath.join(base, self.name) + return repo + + def __make_text__(self, extra_text=None): + splitr = "-" * len(self.version.__str__()) + header = ["\n%s\n" % self.version.__str__(), + "%s\n" % splitr] + footer = ["Website: \t%s\n" % self.website, + "Github: \t%s\n" % self.git_url, + "\n"] + contacts = ["\t%s, %s %s\n" + % (a[0], a[1], a[2]) for a in self.authors] + contacts.insert(0, "Authors: ") + + with_contacts = header + contacts + + if extra_text is not None: + if isinstance(extra_text, iter): + with_contacts.extend((e for e in extra_text)) + elif isinstance(extra_text, str): + with_contacts.append(extra_text) + else: + print "Couldn't add extra text..." + + text = with_contacts + footer + return text + + def __update_version__(self): + repo = self.getRepoDir() + self.version_file = ospath.join(repo, 'VERSION') + version_text = self.__make_text__() + + with open(self.version_file, 'w+') as fh: + fh.writelines((line for line in version_text)) + fh.flush() + fh.truncate() + + +if __name__ == "__main__": + print "Generating new VERSION file..." + vrsn = Version() + vrsn.__update_version__() + print "Done." |