Author: arekm                        Date: Sat Feb 20 20:56:56 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
mpl2 format support (http://naswoim.com/wdtv/subconv)

---- Files affected:
packages/subconv:
   subconv.py (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: packages/subconv/subconv.py
diff -u packages/subconv/subconv.py:1.1 packages/subconv/subconv.py:1.2
--- packages/subconv/subconv.py:1.1     Sat Feb 20 21:55:38 2010
+++ packages/subconv/subconv.py Sat Feb 20 21:56:50 2010
@@ -6,6 +6,7 @@
 #
 # Released under terms of GNU GPL
 #
+# mpl2 (w) by Grzegorz Zyla
 
 import re, sys, getopt, string
 
@@ -17,7 +18,7 @@
 
  Usage: subconv [-i fmt|-o fmt|-a sec|-s sec|-S h:m:s[,h:m:s,...]] input 
[output1, output2, ...]
        
-     -i fmt        input format (one of: srt, tmp, mdvd, sub2, auto; auto by 
default)
+     -i fmt        input format (one of: srt, tmp, mdvd, sub2, mpl2, auto; 
auto by default)
      -o fmt        output format (one of: tmp, srt; srt by default)
      -f fps        adjust fps rate for microdvd input subtitles (auto by 
default)
      -a sec        adjust subtitle delay in seconds (add)
@@ -72,6 +73,7 @@
        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)
@@ -87,6 +89,9 @@
                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 ""
 
 
@@ -107,7 +112,23 @@
                        subtitles.append(subt)
        return subtitles
 
-
+def read_mpl2(list):
+       """
+       Read mpl2 subtitles
+       input: contents of a file as list
+       returns: list of subtitles in form: [[time_start in secs, time_end is 
secs, line1, ...],.....]
+       """
+       re1 = re.compile("^\[(\d+)\]\[(\d+)\]\s*(.*)")
+       subtitles = []
+       while len(list)>0:
+               m = re1.match(list.pop(0),0);
+               if m:
+                       subt = [int(m.group(1))*0.1]
+                       subt.append(int(m.group(2))*0.1)
+                       subt.extend(m.group(3).strip().split("|"))
+                       subtitles.append(subt)
+       return subtitles
+       
 def read_sub2(list):
        """
        Reads subviewer 2.0 format subtitles, e.g. :
@@ -314,6 +335,8 @@
                return read_subs(file,detect_format(subs),fps)
        elif fmt == "sub2":
                return read_sub2(subs)
+       elif fmt == "mpl2":
+               return read_mpl2(subs)
        else:
                sys.stderr.write("Input format not specified/recognized\n")
                sys.exit(1)
================================================================

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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to