]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Utility to add a cached index to an existing movie file.
authorGuido van Rossum <guido@python.org>
Tue, 8 Sep 1992 15:17:02 +0000 (15:17 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 8 Sep 1992 15:17:02 +0000 (15:17 +0000)
Demo/sgi/video/Vaddcache.py [new file with mode: 0755]

diff --git a/Demo/sgi/video/Vaddcache.py b/Demo/sgi/video/Vaddcache.py
new file mode 100755 (executable)
index 0000000..191d6ea
--- /dev/null
@@ -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]'