pickrand.py: improvements
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Sun, 3 Apr 2011 20:55:59 +0000 (13:55 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Sun, 3 Apr 2011 20:57:18 +0000 (13:57 -0700)
Don't set followlinks (it doesn't work on old versions of Python).

Add -S argument meaning "also echo to stderr"

Complain about unknown command-line arguments.

Signed-off-by: Colin McCabe <cmccabe@alumni.cmu.edu>

pickrand.py

index 9efec59..558115c 100755 (executable)
@@ -4,9 +4,18 @@ import os
 import random
 import sys
 
+print_to_stderr = False
+if (len(sys.argv) == 1):
+    pass
+elif (len(sys.argv) == 2) and (sys.argv[1] == "-S"):
+    print_to_stderr = True
+else:
+    print >>sys.stderr, "invalid command-line arguments"
+    sys.exit(1)
+
 allfiles = []
 
-for root, dirs, files in os.walk(".", followlinks=True):
+for root, dirs, files in os.walk("."):
     for f in files:
         allfiles.append(os.path.join(root, f))
 if (len(allfiles) == 0):
@@ -14,4 +23,6 @@ if (len(allfiles) == 0):
 random.seed(None)
 r = random.randint(0,len(allfiles) - 1)
 print(allfiles[r])
+if (print_to_stderr):
+    print >>sys.stderr, (allfiles[r])
 sys.exit(0)