+import crypt
+import netaddr
+from base64 import b64encode
+
+def cidr_netmask(value):
+ if '/' in str(value):
+ v = netaddr.IPNetwork(value)
+ result = v.netmask
+ else:
+ result = "ERROR"
+ return result
+
+def cidr_subnet(value):
+ if '/' in str(value):
+ v = netaddr.IPNetwork(value)
+ result = v.network
+ else:
+ result = "ERROR"
+ return result
+
+def crypt_sha512(value):
+ if not '$6$' in str(value):
+ if sys.hexversion < 0x3000000:
+ result = crypt.crypt(value, "$6$"+b64encode(os.urandom(16)))
+ else:
+ result = crypt.crypt(value, crypt.mksalt(crypt.METHOD_SHA512))
+ else:
+ result = value
+ return result