summaryrefslogtreecommitdiff
path: root/src/moz-version
diff options
context:
space:
mode:
authorBenjamin Drung <bdrung@debian.org>2011-10-11 23:32:08 +0200
committerBenjamin Drung <bdrung@debian.org>2011-10-11 23:32:08 +0200
commit55869ffc370604e71307910774169aaad154c0d4 (patch)
tree42cf571420278f1554c74ece36ed80ebfacfb94f /src/moz-version
parent63c3bb41b3180444739436f812c010e542324a70 (diff)
Move scripts and Python modules one level up to correct installation directory.
Diffstat (limited to 'src/moz-version')
-rwxr-xr-xsrc/moz-version154
1 files changed, 0 insertions, 154 deletions
diff --git a/src/moz-version b/src/moz-version
deleted file mode 100755
index 6362b31..0000000
--- a/src/moz-version
+++ /dev/null
@@ -1,154 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (c) 2009-2011, Benjamin Drung <bdrung@debian.org>
-#
-# 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 getopt
-import os
-import sys
-
-from moz_version import (compare_versions, convert_debian_to_moz_version,
- convert_moz_to_debian_version)
-
-# error codes
-COMMAND_LINE_SYNTAX_ERROR = 2
-INVALID_COMPARATOR = 3
-EMPTY_VERSION_STRING = 4
-
-COMPARATORS = ("lt", "le", "eq", "ne", "ge", "gt")
-
-def moz_version_compare(version1, comparator, version2, silent=False,
- verbose=False):
- """Return true if the expression version1 comparator version2 is valid,
- otherwise false"""
- if comparator not in COMPARATORS:
- if not silent:
- print >> sys.stderr, "E: The comparator " + comparator + \
- " is not valid. It should one of " + \
- ", ".join(COMPARATORS) + "."
- sys.exit(INVALID_COMPARATOR)
-
- if version1.strip() == "" or version2.strip() == "":
- if not silent:
- print >> sys.stderr, "E: At least one version string is empty."
- sys.exit(EMPTY_VERSION_STRING)
-
- if verbose:
- symbol = {"lt": "<", "le": "<=", "eq": "=", "ne": "!=",
- "ge": ">=", "gt": ">"}
- print "I: Comparing %s %s %s." % \
- (version1, symbol[comparator], version2)
-
- if comparator == "lt":
- return compare_versions(version1, version2, verbose) < 0
- elif comparator == "le":
- return compare_versions(version1, version2, verbose) <= 0
- elif comparator == "eq":
- return compare_versions(version1, version2, verbose) == 0
- elif comparator == "ne":
- return compare_versions(version1, version2, verbose) != 0
- elif comparator == "ge":
- return compare_versions(version1, version2, verbose) >= 0
- elif comparator == "gt":
- return compare_versions(version1, version2, verbose) > 0
-
-
-def usage(output):
- name = os.path.basename(sys.argv[0])
- print >> output, """Usage: %s [options] action
-
-Actions:
- -c, --compare version1 comparator version2
- compare both Mozilla version numbers
- comparator must be one of %s
- -d, --to-deb version converts Mozilla into a Debian upstream version
- -m, --to-moz version converts Debian into a Mozilla version
-
-Options:
- -h, --help display this help and exit
- -s, --silent do not print anything and die silent on errors
- -v, --verbose print more information
-
-See %s(1) for more info.""" % (name, ", ".join(COMPARATORS), name)
-
-
-def main():
- try:
- long_opts = ["compare", "help", "silent", "to-deb", "to-moz", "verbose"]
- opts, args = getopt.gnu_getopt(sys.argv[1:], "cdhmsv", long_opts)
- except getopt.GetoptError, e:
- # print help information and exit:
- print >> sys.stderr, str(e)
- usage(sys.stderr)
- sys.exit(COMMAND_LINE_SYNTAX_ERROR)
-
- actions = set()
- silent = False
- verbose = False
-
- for o, _ in opts:
- if o in ("-c", "--compare"):
- actions.add("compare")
- elif o in ("-d", "--to-deb"):
- actions.add("to-deb")
- elif o in ("-h", "--help"):
- usage(sys.stdout)
- sys.exit()
- elif o in ("-m", "--to-moz"):
- actions.add("to-moz")
- elif o in ("-s", "--silent"):
- silent = True
- elif o in ("-v", "--verbose"):
- verbose = True
- else:
- assert False, "unhandled option"
-
- if len(actions) != 1:
- if not silent:
- print >> sys.stderr, "E: You must specify an action."
- usage(sys.stderr)
- sys.exit(COMMAND_LINE_SYNTAX_ERROR)
-
- action = actions.pop()
-
- if action == "compare":
- if len(args) != 3:
- if not silent:
- usage(sys.stderr)
- sys.exit(COMMAND_LINE_SYNTAX_ERROR)
- if moz_version_compare(args[0], args[1], args[2], silent, verbose):
- if verbose:
- print "I: Compare expression true."
- sys.exit(0)
- else:
- if verbose:
- print "I: Compare expression false."
- sys.exit(1)
- elif action == "to-deb":
- if len(args) != 1:
- if not silent:
- print >> sys.stderr, "E: The action --to-deb takes exactly " + \
- "one argument."
- sys.exit(COMMAND_LINE_SYNTAX_ERROR)
- print convert_moz_to_debian_version(args[0], 0, verbose)
- elif action == "to-moz":
- if len(args) != 1:
- if not silent:
- print >> sys.stderr, "E: The action --to-moz takes exactly " + \
- "one argument."
- sys.exit(COMMAND_LINE_SYNTAX_ERROR)
- print convert_debian_to_moz_version(args[0], verbose)
-
-if __name__ == "__main__":
- main()