packages: subconv/subconv.py - main() function - detect_format() will be q...

areq areq at pld-linux.org
Sun Feb 28 23:30:52 CET 2010


Author: areq                         Date: Sun Feb 28 22:30:52 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- main() function 
- detect_format() will be quiet

---- Files affected:
packages/subconv:
   subconv.py (1.12 -> 1.13) 

---- Diffs:

================================================================
Index: packages/subconv/subconv.py
diff -u packages/subconv/subconv.py:1.12 packages/subconv/subconv.py:1.13
--- packages/subconv/subconv.py:1.12	Mon Feb 22 13:40:43 2010
+++ packages/subconv/subconv.py	Sun Feb 28 23:30:47 2010
@@ -126,29 +126,22 @@
     input: contents of a file as list
     returns: format (srt, tmp, mdvd) or "" if unknown
     """
-    sys.stderr.write("Guessing subs format .")
     re_mdvd = re.compile("^\{(\d+)\}\{(\d*)\}\s*(.*)")
     re_srt = re.compile("^(\d+):(\d+):(\d+),\d+\s*-->.*")
     re_tmp = re.compile("^(\d+):(\d+):(\d+):(.*)")
     re_sub2 = re.compile("^(\d+):(\d+):(\d+)\.\d+\s*\,.*")
     re_mpl2 = re.compile("^\[(\d+)\]\[(\d+)\]\s*(.*)")
     while len(list) > 0 :
-        sys.stderr.write(".")
         line = list.pop(0)
         if re_mdvd.match(line):
-            sys.stderr.write(" mdvd\n")
             return "mdvd"
         elif re_srt.match(line):
-            sys.stderr.write(" srt\n")
             return "srt"
         elif re_tmp.match(line):
-            sys.stderr.write(" tmp\n")
             return "tmp"
         elif re_sub2.match(line):
-            sys.stderr.write(" subviewer 2 format\n")
             return "sub2"
         elif re_mpl2.match(line):
-            sys.stderr.write(" mpl2\n")
             return "mpl2"			
     return ""
 
@@ -406,7 +399,9 @@
                 fps = detect_fps(subs)
         return read_mdvd(subs, fps)
     elif fmt == "auto":
-        return read_subs(file,detect_format(subs),fps)
+	fmt = detect_format(subs)
+        sys.stderr.write("Guessing subs format .. %s\n" % fmt )
+        return read_subs(file,fmt,fps)
     elif fmt == "sub2":
         return read_sub2(subs)
     elif fmt == "mpl2":
@@ -419,83 +414,86 @@
 #
 #-----------------------------------------------------------------------------------------
 
+def main(argv=sys.argv):
 
-outfunc = {
-  "srt":to_srt,
-  "tmp":to_tmp}
-
-infmt = "auto"
-outfmt = "srt"
-subdelay = 0
-fps = -1
-#out_to_file == 1 => output to a file, 0 => output stdout, -1 => Split, output to stdout not allowed
-out_to_file = 0
-
-try:
-    opts, args = getopt.getopt(sys.argv[1:], 'i:o:a:s:S:f:h')
-except getopt.GetoptError:
-    usage()
-    sys.exit(2)
-
-splittimes = []
-
-for opt, arg in opts:
-    if opt == '-o':
-        if outfunc.has_key(arg):
-            outfmt = arg
-        else:
-            sys.stderr.write("Unknown output format.\n")
-            sys.exit(1)
-    elif opt == '-i':
-        infmt = arg
-    elif opt == '-a':
-        subdelay = float(arg)
-    elif opt == '-s':
-        subdelay = -float(arg)
-    elif opt == '-S':
-        out_to_file = -1
-        splittimes = get_split_times(arg)
-    elif opt == '-f':
-        fps = float(arg)
-    elif opt == '-h':
-        usage()
-        sys.exit(1)
-
-#
-# number of file names must be 2 + number of split-points
-if len(args) == len(splittimes)+2:
-    out_to_file = 1
-elif len(args) == len(splittimes)+1 and out_to_file != -1:
+    outfunc = {
+      "srt":to_srt,
+      "tmp":to_tmp}
+
+    infmt = "auto"
+    outfmt = "srt"
+    subdelay = 0
+    fps = -1
+    #out_to_file == 1 => output to a file, 0 => output stdout, -1 => Split, output to stdout not allowed
     out_to_file = 0
-else:
-    sys.stderr.write("Too few file names given!\n")
-    usage()
-    sys.exit(1)
 
-#
-# read file
-sub = read_subs(args.pop(0),infmt,fps)
-
-#
-# apply DELAY
-if subdelay != 0:
-    sub = sub_add_offset(sub, subdelay)
+    try:
+	opts, args = getopt.getopt(sys.argv[1:], 'i:o:a:s:S:f:h')
+    except getopt.GetoptError:
+	usage()
+        sys.exit(2)
+
+    splittimes = []
+
+    for opt, arg in opts:
+	if opt == '-o':
+    	    if outfunc.has_key(arg):
+        	outfmt = arg
+    	    else:
+        	sys.stderr.write("Unknown output format.\n")
+        	sys.exit(1)
+        elif opt == '-i':
+	    infmt = arg
+        elif opt == '-a':
+	    subdelay = float(arg)
+        elif opt == '-s':
+	    subdelay = -float(arg)
+        elif opt == '-S':
+	    out_to_file = -1
+            splittimes = get_split_times(arg)
+        elif opt == '-f':
+	    fps = float(arg)
+        elif opt == '-h':
+	    usage()
+    	    sys.exit(1)
+
+    # number of file names must be 2 + number of split-points
+    if len(args) == len(splittimes)+2:
+	out_to_file = 1
+    elif len(args) == len(splittimes)+1 and out_to_file != -1:
+	out_to_file = 0
+    else:
+	sys.stderr.write("Too few file names given!\n")
+        usage()
+	sys.exit(1)
 
-#
-# apply SPLIT
-if len(splittimes) == 0:
-    sub_list = [sub]
-else:
-    sub_list = sub_split(sub, splittimes)
+    # read file
+    sub = read_subs(args.pop(0),infmt,fps)
 
-#
-# save file(S)
-for nsub in sub_list:
-    s = outfunc[outfmt](nsub)
-    if out_to_file == 1:
-        dst = open(args.pop(0), 'w')
-        dst.writelines(s)
-        dst.close()
+    # apply DELAY
+    if subdelay != 0:
+	sub = sub_add_offset(sub, subdelay)
+
+    # apply SPLIT
+    if len(splittimes) == 0:
+	sub_list = [sub]
     else:
-        sys.stdout.writelines(s)
+	sub_list = sub_split(sub, splittimes)
+
+    # save file(S)
+    for nsub in sub_list:
+	s = outfunc[outfmt](nsub)
+	if out_to_file == 1:
+    	    dst = open(args.pop(0), 'w')
+    	    dst.writelines(s)
+    	    dst.close()
+	else:
+    	    sys.stdout.writelines(s)
 
+if __name__ == "__main__":
+    ret = None
+    try:
+        ret = main()
+    except (KeyboardInterrupt, SystemExit):
+        print >> sys.stderr, "%s: Interrupted, aborting." % os.path.basename(sys.argv[0])
+    sys.exit(ret)
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/subconv/subconv.py?r1=1.12&r2=1.13&f=u



More information about the pld-cvs-commit mailing list