]> code.delx.au - monosys/blobdiff - bin/passwdgen
notes: fix raspi install notes, also @home -> @username
[monosys] / bin / passwdgen
index f375f278a711ad627bf412aa9722ba17b7425156..668771e5bf05d5f31a675950ab0a5f81634c7aaf 100755 (executable)
@@ -1,33 +1,33 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 
-import random, string, sys
+import random, sys
 
-alnum_chars = filter(lambda c: c.isalnum(), map(chr, range(256)))
+alnum_chars = list(filter(lambda c: c.isalnum(), map(chr, range(128))))
 full_chars = alnum_chars * 2 + list("!@#%^&*(){}[]/=?+_-;:,.<>")
 
 def generate(chars, length):
-       return "".join([random.choice(chars) for i in xrange(length)])
+    return "".join([random.choice(chars) for i in range(length)])
 
 def print_usage():
-       print "Usage: %s [length] [alnum|full]" % sys.argv[0]
-       sys.exit(1)
+    print("Usage: %s [length] [alnum|full]" % sys.argv[0])
+    sys.exit(1)
 
 if __name__ == "__main__":
-       if len(sys.argv) <= 1:
-               n = 20
-       elif sys.argv[1].isdigit():
-               n = int(sys.argv[1])
-       else:
-               print_usage()
-
-       if len(sys.argv) <= 2:
-               chars = alnum_chars
-       elif sys.argv[2] == "alnum":
-               chars = alnum_chars
-       elif sys.argv[2] == "full":
-               chars = full_chars
-       else:
-               print_usage()
-
-       print generate(chars, n)
+    if len(sys.argv) <= 1:
+        n = 20
+    elif sys.argv[1].isdigit():
+        n = int(sys.argv[1])
+    else:
+        print_usage()
+
+    if len(sys.argv) <= 2:
+        chars = alnum_chars
+    elif sys.argv[2] == "alnum":
+        chars = alnum_chars
+    elif sys.argv[2] == "full":
+        chars = full_chars
+    else:
+        print_usage()
+
+    print(generate(chars, n))