summaryrefslogtreecommitdiffstats
path: root/Demo
diff options
context:
space:
mode:
Diffstat (limited to 'Demo')
-rwxr-xr-xDemo/sgi/video/Vaddcache.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/Demo/sgi/video/Vaddcache.py b/Demo/sgi/video/Vaddcache.py
new file mode 100755
index 0000000..191d6ea
--- /dev/null
+++ b/Demo/sgi/video/Vaddcache.py
@@ -0,0 +1,79 @@
+#! /usr/local/python
+
+# Add a cache to each of the files given as command line arguments
+
+
+# Usage:
+#
+# Vaddcache [file] ...
+
+
+# Options:
+#
+# file ... : file(s) to inspect; default film.video
+
+
+import sys
+sys.path.append('/ufs/guido/src/video')
+import VFile
+import getopt
+
+
+# Global options
+
+# None
+
+
+# Main program -- mostly command line parsing
+
+def main():
+ opts, args = getopt.getopt(sys.argv[1:], '')
+ if not args:
+ args = ['film.video']
+ sts = 0
+ for filename in args:
+ if process(filename):
+ sts = 1
+ sys.exit(sts)
+
+
+# Process one file
+
+def process(filename):
+ try:
+ fp = open(filename, 'r+')
+ vin = VFile.RandomVinFile().initfp(fp, filename)
+ except IOError, msg:
+ sys.stderr.write(filename + ': I/O error: ' + `msg` + '\n')
+ return 1
+ except VFile.Error, msg:
+ sys.stderr.write(msg + '\n')
+ return 1
+ except EOFError:
+ sys.stderr.write(filename + ': EOF in video file\n')
+ return 1
+
+ try:
+ vin.readcache()
+ hascache = 1
+ except VFile.Error:
+ hascache = 0
+
+ if hascache:
+ sys.stderr.write(filename + ': already has a cache\n')
+ vin.close()
+ return 1
+
+ vin.printinfo()
+ vin.warmcache()
+ vin.writecache()
+ vin.close()
+ return 0
+
+
+# Don't forget to call the main program
+
+try:
+ main()
+except KeyboardInterrupt:
+ print '[Interrupt]'