chiark / gitweb /
make-secnet-sites: Provide --output-version option
[secnet.git] / make-secnet-sites
index 38badbbe830f8562bf512f44aa5cabe9938c4a3a..a51b53d992e22943960463575a03dd42a1b1a44c 100755 (executable)
@@ -70,11 +70,14 @@ import ipaddress
 sys.path.insert(1,"/usr/local/share/secnet")
 sys.path.insert(1,"/usr/share/secnet")
 import ipaddrset
+import base91
 
 from argparseactionnoyes import ActionNoYes
 
 VERSION="0.1.18"
 
+max_version = 1
+
 from sys import version_info
 if version_info.major == 2:  # for python2
     import codecs
@@ -89,6 +92,12 @@ def debugrepr(*args):
        if debug_level > 0:
                print(repr(args), file=sys.stderr)
 
+def base91s_encode(bindata):
+       return base91.encode(bindata).replace('"',"-")
+
+def base91s_decode(string):
+       return base91.decode(string.replace("-",'"'))
+
 class Tainted:
        def __init__(self,s,tline=None,tfile=None):
                self._s=s
@@ -236,6 +245,7 @@ def parse_args():
        global prefix
        global key_prefix
        global debug_level
+       global output_version
 
        ap = argparse.ArgumentParser(description='process secnet sites files')
        ap.add_argument('--userv', '-u', action='store_true',
@@ -243,6 +253,9 @@ def parse_args():
        ap.add_argument('--conf-key-prefix', action=ActionNoYes,
                        default=True,
                 help='prefix conf file key names derived from sites data')
+       ap.add_argument('--output-version', nargs=1, type=int,
+                       help='sites file output version',
+                       default=[max_version])
        ap.add_argument('--prefix', '-P', nargs=1,
                        help='set prefix')
        ap.add_argument('--debug', '-D', action='count', default=0)
@@ -253,6 +266,7 @@ def parse_args():
        service = 1 if av.userv else 0
        prefix = '' if av.prefix is None else av.prefix[0]
        key_prefix = av.conf_key_prefix
+       output_version = av.output_version[0]
        if service:
                if len(av.arg)!=4:
                        print("Wrong number of arguments")