make-secnet-sites: Introduce a superclass for the config types.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 29 Apr 2017 12:55:40 +0000 (13:55 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 25 Sep 2019 12:46:59 +0000 (13:46 +0100)
Somewhere to put common behaviour.  Not that there is any yet, so
there's no functional change.

Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
make-secnet-sites

index f3beffa..371c82e 100755 (executable)
@@ -68,14 +68,18 @@ VERSION="0.1.18"
 
 # Classes describing possible datatypes in the configuration file
 
-class single_ipaddr:
+class basetype:
+       "Common protocol for configuration types."
+       pass
+
+class single_ipaddr (basetype):
        "An IP address"
        def __init__(self,w):
                self.addr=ipaddr.IPAddress(w[1])
        def __str__(self):
                return '"%s"'%self.addr
 
-class networks:
+class networks (basetype):
        "A set of IP addresses specified as a list of networks"
        def __init__(self,w):
                self.set=ipaddrset.IPAddressSet()
@@ -85,7 +89,7 @@ class networks:
        def __str__(self):
                return ",".join(map((lambda n: '"%s"'%n), self.set.networks()))
 
-class dhgroup:
+class dhgroup (basetype):
        "A Diffie-Hellman group"
        def __init__(self,w):
                self.mod=w[1]
@@ -93,7 +97,7 @@ class dhgroup:
        def __str__(self):
                return 'diffie-hellman("%s","%s")'%(self.mod,self.gen)
 
-class hash:
+class hash (basetype):
        "A choice of hash function"
        def __init__(self,w):
                self.ht=w[1]
@@ -102,14 +106,14 @@ class hash:
        def __str__(self):
                return '%s'%(self.ht)
 
-class email:
+class email (basetype):
        "An email address"
        def __init__(self,w):
                self.addr=w[1]
        def __str__(self):
                return '<%s>'%(self.addr)
 
-class boolean:
+class boolean (basetype):
        "A boolean"
        def __init__(self,w):
                if re.match('[TtYy1]',w[1]):
@@ -121,14 +125,14 @@ class boolean:
        def __str__(self):
                return ['False','True'][self.b]
 
-class num:
+class num (basetype):
        "A decimal number"
        def __init__(self,w):
                self.n=string.atol(w[1])
        def __str__(self):
                return '%d'%(self.n)
 
-class address:
+class address (basetype):
        "A DNS name and UDP port number"
        def __init__(self,w):
                self.adr=w[1]
@@ -138,7 +142,7 @@ class address:
        def __str__(self):
                return '"%s"; port %d'%(self.adr,self.port)
 
-class rsakey:
+class rsakey (basetype):
        "An RSA public key"
        def __init__(self,w):
                self.l=string.atoi(w[1])