commit c787c20fb853c50313ee034160ff41e4b821528a
Author: dsorber <david.sorber@gmail.com>
Date:   Tue Dec 30 15:26:19 2014 -0500

    Adding this nice little script I wrote to open randomly selected images.

diff --git a/software/misc/open_random.py b/software/misc/open_random.py
new file mode 100644
index 0000000..10475ae
--- /dev/null
+++ b/software/misc/open_random.py
@@ -0,0 +1,58 @@
+import random
+import subprocess
+import sys
+
+# This script is used to open a selected number of randomly chosen images on 
+# Mac OS X (although it could trivially be ported to Linux). The script 
+# requires a index of all image files in order to efficiently choose images.
+
+# To create index (in home directory):
+# 
+# find -L <PATH_TO_IMAGES> \( ! -name '.*' \) -type f > ~/index.txt
+
+def main():
+	
+	if len(sys.argv) < 2:
+		print 'ERROR: you must specify and index file'
+		return -1
+
+	# Grab the 
+	try:		
+		count = int(sys.argv[2])
+	except (IndexError, ValueError):
+		count = 10
+
+	index_count = 0
+	with open(sys.argv[1]) as index:
+		# Count the number of lines in the index
+		for line in index:
+			index_count += 1
+
+		print 'Index count: {:d}\n'.format(index_count)
+
+		# Generate random numbers corresponding to randomly index into the 
+		# index
+		random_indexes = []
+		for ctr in xrange(count):
+			rand_idx = random.randint(1, index_count)
+			random_indexes.append(rand_idx)
+
+		# Iterate over the lines in the index again and grab lines that match 
+		# the randomly chosen indexes
+		iter_idx = 0
+		index.seek(0, 0)
+		path_list = []
+		for line in index:
+			iter_idx += 1
+			if iter_idx in random_indexes:
+				file_path = line.strip()
+				print '{:d} - {:s}'.format(iter_idx, file_path)
+				path_list.append('"{:s}"'.format(file_path))
+
+		# Open the randomly chosen files
+		# print ' '.join(path_list)
+		subprocess.call('open {:s}'.format(' '.join(path_list)), shell=True)
+
+
+if __name__ == '__main__':
+	sys.exit(main())
\ No newline at end of file
