[xiph-commits] r14792 - trunk/subtle

jmesquita at svn.xiph.org jmesquita at svn.xiph.org
Wed Apr 23 12:49:36 PDT 2008


Author: jmesquita
Date: 2008-04-23 12:49:35 -0700 (Wed, 23 Apr 2008)
New Revision: 14792

Added:
   trunk/subtle/SubtleXML.py
Removed:
   trunk/subtle/SouffleurXML.py
Log:
Continuing to do project renaming


Deleted: trunk/subtle/SouffleurXML.py
===================================================================
--- trunk/subtle/SouffleurXML.py	2008-04-23 18:01:02 UTC (rev 14791)
+++ trunk/subtle/SouffleurXML.py	2008-04-23 19:49:35 UTC (rev 14792)
@@ -1,266 +0,0 @@
-## \file SouffleurXML.py
-# Documentation for subtitles module of Souffleur project.
-# \author Maxim Litvinov (aka DarakuTenshi) <otaky at ukr.net>
-
-import xml.dom.minidom
-
-from Subtitles import Sub
-from Subtitles import Subtitles
-
-## ProjectXML class.
-# Class for working whith XML formated project file.
-class ProjectXML:
-    ## Constructor
-    def __init__(self):
-        self.impl = xml.dom.minidom.getDOMImplementation()
-        self.doc = self.impl.createDocument(None, "souffleur", None)
-        self.root = self.doc.documentElement
-
-        rootAttr= self.doc.createAttribute("type")
-        rootAttr.nodeValue="project"
-
-        self.root.setAttributeNode(rootAttr)
-
-        versionEl = self.doc.createElement("version")
-        versionTxt = self.doc.createTextNode("0")
-        versionEl.appendChild(versionTxt)
-        self.root.appendChild(versionEl)
-
-        self.head = None
-        self.body = None
-        self.version = 0
-
-    ## \var impl
-    # DOMImplementation for XML parsing.
-    
-    ## \var doc
-    # Document XML object.
-    
-    ## \var root
-    # Root element ("souffleur" section) in the object.
-    
-    ## \var head
-    # Object of the "head" section in the XML.
-    
-    ## \var body 
-    # Object of the "body" section in the XML.
-    
-    ## \var version
-    # Version of the pfoject file format.
-
-#==============================================================================
-    ## Load XML file.
-    # Load XML tree from the file.
-    # \param fileName - name of the XML project file.
-    # \return self object or None.
-    def load(self, fileName):
-        self.root = None
-        self.head = None
-        self.body = None
-        self.version = None
-        self.doc = xml.dom.minidom.parse(fileName)
-        if self.doc.documentElement.nodeName != "souffleur":
-            return None
-        self.root=self.doc.documentElement
-        for i in self.root.childNodes:
-            if i.nodeName=="head":
-                self.head=i
-            elif i.nodeName=="body":
-                self.body=i
-            elif i.nodeName=="version":
-                self.version = i.childNodes[0].nodeValue
-        return self
-
-#==============================================================================
-    ## Write XML.
-    # Write XML data to the file.
-    # \param fileName - name of file to store data.
-    def write(self, fileName):
-        HDLR=file(fileName, "w")
-        self.doc.writexml(HDLR)
-        HDLR.close()
-
-#==============================================================================
-    ## Add variable head.
-    # Add some variable to the head section.
-    # \param attrName - name of the attribute.
-    # \param attrValue - value of the attribute.
-    def addHeadInfo(self, attrName, attrValue):
-        if not self.head:
-            self.head=self.doc.createElement("head")
-        self.root.appendChild(self.head)
-
-        if not attrName or not attrValue:
-            return
-
-        attrEl = self.doc.createElement(attrName)
-        attrTxt = self.doc.createTextNode(attrValue)
-        attrEl.appendChild(attrTxt)
-        self.head.appendChild(attrEl)
-
-#==============================================================================
-    ## Add media.
-    # Add media info to the body section.
-    # \param media - Media class instance.
-    def addMedia(self, media):
-        if not media:
-            return
-        if type(media)!=type(Media()):
-            return
-        if not self.body:
-            self.body=self.doc.createElement("body")
-            self.root.appendChild(self.body)
-
-        data = self.doc.createElement("data")
-        self.body.appendChild(data)
-
-        source = self.doc.createElement("source")
-        sType= self.doc.createAttribute("type")
-        sType.nodeValue=media.MIME
-        source.setAttributeNode(sType)
-        sTxt = self.doc.createTextNode(media.source)
-        source.appendChild(sTxt)
-        data.appendChild(source)
-
-        for i in media.Streams:
-            tmpMedia = self.doc.createElement("media")
-            data.appendChild(tmpMedia)
-
-            tmpEl = self.doc.createElement("type")
-            tmpTxt = self.doc.createTextNode(i.MIME)
-            tmpEl.appendChild(tmpTxt)
-            tmpMedia.appendChild(tmpEl)
-
-            tmpEl = self.doc.createElement("name")
-            tmpTxt = self.doc.createTextNode(i.Name)
-            tmpEl.appendChild(tmpTxt)
-            tmpMedia.appendChild(tmpEl)
-
-            tmpEl = self.doc.createElement("id")
-            tmpTxt = self.doc.createTextNode(str(i.ID))
-            tmpEl.appendChild(tmpTxt)
-            tmpMedia.appendChild(tmpEl)
-
-            if not i.attrs:
-                continue
-
-            attrs = self.doc.createElement("attrs")
-            tmpMedia.appendChild(attrs)
-            for j in i.attrs.keys():
-                tmpEl = self.doc.createElement(j)
-                tmpTxt = self.doc.createTextNode(i.attrs[j])
-                tmpEl.appendChild(tmpTxt)
-                attrs.appendChild(tmpEl)
-
-#==============================================================================
-    ## Add subtitles.
-    # Add subtitles to the body section.
-    # \param subtitle - Subtitles class instance.
-    def addSubtitle(self, subtitle):
-        if not subtitle:
-            return
-        if type(subtitle)!=type(Subtitles()):
-            return
-        if not self.body:
-            self.body=self.doc.createElement("body")
-            self.root.appendChild(self.body)
-
-        data = self.doc.createElement("subtitles")
-        self.body.appendChild(data)
-
-        source = self.doc.createElement("source")
-        sTxt = self.doc.createTextNode(str(subtitle.subSource))
-        source.appendChild(sTxt)
-        data.appendChild(source)
-
-        for i in subtitle.subKeys:
-            sub = self.doc.createElement("sub")
-            tmpEl = self.doc.createElement("start")
-            tmpTxt = self.doc.createTextNode(str(subtitle.subs[i].start_time))
-            tmpEl.appendChild(tmpTxt)
-            sub.appendChild(tmpEl)
-            tmpEl = self.doc.createElement("end")
-            tmpTxt = self.doc.createTextNode(str(subtitle.subs[i].end_time))
-            tmpEl.appendChild(tmpTxt)
-            sub.appendChild(tmpEl)
-            tmpEl = self.doc.createElement("text")
-            tmpTxt = self.doc.createTextNode(str(subtitle.subs[i].text))
-            tmpEl.appendChild(tmpTxt)
-            sub.appendChild(tmpEl)
-            data.appendChild(sub)
-
-#==============================================================================
-    ##Get head
-    # Get list of the head section attributes.
-    # \return list of the attrName => attrValue
-    def getHead(self):
-        if not self.head:
-            return None
-        ret={}
-        for i in self.head.childNodes:
-            ret[i.nodeName]=i.childNodes[0].nodeValue
-        return ret
-
-#==============================================================================
-    ## Get media.
-    # Get media info from XML.
-    # \return List of the Media class.
-    def getMedia(self):
-        if not self.body:
-            return None
-        ret=[]
-        for i in self.body.childNodes:
-            if i.nodeName=="data":
-                tMedia=Media()
-                for j in i.childNodes:
-                    if j.nodeName=="source":
-                        mType=j.attributes["type"]
-                        if not mType:
-                            return None
-                        tMedia.MIME=mType.nodeValue
-                        tMedia.source=j.childNodes[0].nodeValue
-                    elif j.nodeName=="media":
-                        tStream = Stream()
-                        for k in j.childNodes:
-                            nodeName = k.nodeName
-                            if nodeName == "type":
-                                tStream.MIME = k.childNodes[0].nodeValue
-                            elif nodeName == "id":
-                                tStream.ID = k.childNodes[0].nodeValue
-                            elif nodeName == "name":
-                                tStream.Name = k.childNodes[0].nodeValue
-                            elif nodeName == "attrs":
-                                for l in k.childNodes:
-                                    tStream.addAttr(l.nodeName, l.childNodes[0].nodeValue)
-                            tMedia.addStream(tStream)
-                ret.append(tMedia)
-        return ret
-
-#==============================================================================
-    ##Get subtitles.
-    # Get subtitles from XML project file.
-    # \raturn Array of the Subtitles.
-    def getSubtitle(self):
-        if not self.body:
-            return None
-        ret=[]
-        for i in self.body.childNodes:
-            if i.nodeName=="subtitles":
-                tSubtitles=Subtitles()
-                for j in i.childNodes:
-                    if j.nodeName=="source":
-                        tSubtitles.subSource=j.childNodes[0].nodeValue
-                    elif j.nodeName=="sub":
-                        tSub=Sub()
-                        for k in j.childNodes:
-                            nodeName = k.nodeName
-                            if nodeName == "start":
-                                tSub.start_time=int(k.childNodes[0].nodeValue)
-                            elif nodeName == "end":
-                                tSub.end_time=int(k.childNodes[0].nodeValue)
-                            elif nodeName == "text":
-                                tSub.text=str(k.childNodes[0].nodeValue)
-                        tSubtitles.subs[tSub.start_time]=tSub
-                        tSubtitles.updateKeys()
-                ret.append(tSubtitles)
-        return ret

Copied: trunk/subtle/SubtleXML.py (from rev 14791, trunk/subtle/SouffleurXML.py)
===================================================================
--- trunk/subtle/SubtleXML.py	                        (rev 0)
+++ trunk/subtle/SubtleXML.py	2008-04-23 19:49:35 UTC (rev 14792)
@@ -0,0 +1,266 @@
+## \file SouffleurXML.py
+# Documentation for subtitles module of Souffleur project.
+# \author Maxim Litvinov (aka DarakuTenshi) <otaky at ukr.net>
+
+import xml.dom.minidom
+
+from Subtitles import Sub
+from Subtitles import Subtitles
+
+## ProjectXML class.
+# Class for working whith XML formated project file.
+class ProjectXML:
+    ## Constructor
+    def __init__(self):
+        self.impl = xml.dom.minidom.getDOMImplementation()
+        self.doc = self.impl.createDocument(None, "souffleur", None)
+        self.root = self.doc.documentElement
+
+        rootAttr= self.doc.createAttribute("type")
+        rootAttr.nodeValue="project"
+
+        self.root.setAttributeNode(rootAttr)
+
+        versionEl = self.doc.createElement("version")
+        versionTxt = self.doc.createTextNode("0")
+        versionEl.appendChild(versionTxt)
+        self.root.appendChild(versionEl)
+
+        self.head = None
+        self.body = None
+        self.version = 0
+
+    ## \var impl
+    # DOMImplementation for XML parsing.
+    
+    ## \var doc
+    # Document XML object.
+    
+    ## \var root
+    # Root element ("souffleur" section) in the object.
+    
+    ## \var head
+    # Object of the "head" section in the XML.
+    
+    ## \var body 
+    # Object of the "body" section in the XML.
+    
+    ## \var version
+    # Version of the pfoject file format.
+
+#==============================================================================
+    ## Load XML file.
+    # Load XML tree from the file.
+    # \param fileName - name of the XML project file.
+    # \return self object or None.
+    def load(self, fileName):
+        self.root = None
+        self.head = None
+        self.body = None
+        self.version = None
+        self.doc = xml.dom.minidom.parse(fileName)
+        if self.doc.documentElement.nodeName != "souffleur":
+            return None
+        self.root=self.doc.documentElement
+        for i in self.root.childNodes:
+            if i.nodeName=="head":
+                self.head=i
+            elif i.nodeName=="body":
+                self.body=i
+            elif i.nodeName=="version":
+                self.version = i.childNodes[0].nodeValue
+        return self
+
+#==============================================================================
+    ## Write XML.
+    # Write XML data to the file.
+    # \param fileName - name of file to store data.
+    def write(self, fileName):
+        HDLR=file(fileName, "w")
+        self.doc.writexml(HDLR)
+        HDLR.close()
+
+#==============================================================================
+    ## Add variable head.
+    # Add some variable to the head section.
+    # \param attrName - name of the attribute.
+    # \param attrValue - value of the attribute.
+    def addHeadInfo(self, attrName, attrValue):
+        if not self.head:
+            self.head=self.doc.createElement("head")
+        self.root.appendChild(self.head)
+
+        if not attrName or not attrValue:
+            return
+
+        attrEl = self.doc.createElement(attrName)
+        attrTxt = self.doc.createTextNode(attrValue)
+        attrEl.appendChild(attrTxt)
+        self.head.appendChild(attrEl)
+
+#==============================================================================
+    ## Add media.
+    # Add media info to the body section.
+    # \param media - Media class instance.
+    def addMedia(self, media):
+        if not media:
+            return
+        if type(media)!=type(Media()):
+            return
+        if not self.body:
+            self.body=self.doc.createElement("body")
+            self.root.appendChild(self.body)
+
+        data = self.doc.createElement("data")
+        self.body.appendChild(data)
+
+        source = self.doc.createElement("source")
+        sType= self.doc.createAttribute("type")
+        sType.nodeValue=media.MIME
+        source.setAttributeNode(sType)
+        sTxt = self.doc.createTextNode(media.source)
+        source.appendChild(sTxt)
+        data.appendChild(source)
+
+        for i in media.Streams:
+            tmpMedia = self.doc.createElement("media")
+            data.appendChild(tmpMedia)
+
+            tmpEl = self.doc.createElement("type")
+            tmpTxt = self.doc.createTextNode(i.MIME)
+            tmpEl.appendChild(tmpTxt)
+            tmpMedia.appendChild(tmpEl)
+
+            tmpEl = self.doc.createElement("name")
+            tmpTxt = self.doc.createTextNode(i.Name)
+            tmpEl.appendChild(tmpTxt)
+            tmpMedia.appendChild(tmpEl)
+
+            tmpEl = self.doc.createElement("id")
+            tmpTxt = self.doc.createTextNode(str(i.ID))
+            tmpEl.appendChild(tmpTxt)
+            tmpMedia.appendChild(tmpEl)
+
+            if not i.attrs:
+                continue
+
+            attrs = self.doc.createElement("attrs")
+            tmpMedia.appendChild(attrs)
+            for j in i.attrs.keys():
+                tmpEl = self.doc.createElement(j)
+                tmpTxt = self.doc.createTextNode(i.attrs[j])
+                tmpEl.appendChild(tmpTxt)
+                attrs.appendChild(tmpEl)
+
+#==============================================================================
+    ## Add subtitles.
+    # Add subtitles to the body section.
+    # \param subtitle - Subtitles class instance.
+    def addSubtitle(self, subtitle):
+        if not subtitle:
+            return
+        if type(subtitle)!=type(Subtitles()):
+            return
+        if not self.body:
+            self.body=self.doc.createElement("body")
+            self.root.appendChild(self.body)
+
+        data = self.doc.createElement("subtitles")
+        self.body.appendChild(data)
+
+        source = self.doc.createElement("source")
+        sTxt = self.doc.createTextNode(str(subtitle.subSource))
+        source.appendChild(sTxt)
+        data.appendChild(source)
+
+        for i in subtitle.subKeys:
+            sub = self.doc.createElement("sub")
+            tmpEl = self.doc.createElement("start")
+            tmpTxt = self.doc.createTextNode(str(subtitle.subs[i].start_time))
+            tmpEl.appendChild(tmpTxt)
+            sub.appendChild(tmpEl)
+            tmpEl = self.doc.createElement("end")
+            tmpTxt = self.doc.createTextNode(str(subtitle.subs[i].end_time))
+            tmpEl.appendChild(tmpTxt)
+            sub.appendChild(tmpEl)
+            tmpEl = self.doc.createElement("text")
+            tmpTxt = self.doc.createTextNode(str(subtitle.subs[i].text))
+            tmpEl.appendChild(tmpTxt)
+            sub.appendChild(tmpEl)
+            data.appendChild(sub)
+
+#==============================================================================
+    ##Get head
+    # Get list of the head section attributes.
+    # \return list of the attrName => attrValue
+    def getHead(self):
+        if not self.head:
+            return None
+        ret={}
+        for i in self.head.childNodes:
+            ret[i.nodeName]=i.childNodes[0].nodeValue
+        return ret
+
+#==============================================================================
+    ## Get media.
+    # Get media info from XML.
+    # \return List of the Media class.
+    def getMedia(self):
+        if not self.body:
+            return None
+        ret=[]
+        for i in self.body.childNodes:
+            if i.nodeName=="data":
+                tMedia=Media()
+                for j in i.childNodes:
+                    if j.nodeName=="source":
+                        mType=j.attributes["type"]
+                        if not mType:
+                            return None
+                        tMedia.MIME=mType.nodeValue
+                        tMedia.source=j.childNodes[0].nodeValue
+                    elif j.nodeName=="media":
+                        tStream = Stream()
+                        for k in j.childNodes:
+                            nodeName = k.nodeName
+                            if nodeName == "type":
+                                tStream.MIME = k.childNodes[0].nodeValue
+                            elif nodeName == "id":
+                                tStream.ID = k.childNodes[0].nodeValue
+                            elif nodeName == "name":
+                                tStream.Name = k.childNodes[0].nodeValue
+                            elif nodeName == "attrs":
+                                for l in k.childNodes:
+                                    tStream.addAttr(l.nodeName, l.childNodes[0].nodeValue)
+                            tMedia.addStream(tStream)
+                ret.append(tMedia)
+        return ret
+
+#==============================================================================
+    ##Get subtitles.
+    # Get subtitles from XML project file.
+    # \raturn Array of the Subtitles.
+    def getSubtitle(self):
+        if not self.body:
+            return None
+        ret=[]
+        for i in self.body.childNodes:
+            if i.nodeName=="subtitles":
+                tSubtitles=Subtitles()
+                for j in i.childNodes:
+                    if j.nodeName=="source":
+                        tSubtitles.subSource=j.childNodes[0].nodeValue
+                    elif j.nodeName=="sub":
+                        tSub=Sub()
+                        for k in j.childNodes:
+                            nodeName = k.nodeName
+                            if nodeName == "start":
+                                tSub.start_time=int(k.childNodes[0].nodeValue)
+                            elif nodeName == "end":
+                                tSub.end_time=int(k.childNodes[0].nodeValue)
+                            elif nodeName == "text":
+                                tSub.text=str(k.childNodes[0].nodeValue)
+                        tSubtitles.subs[tSub.start_time]=tSub
+                        tSubtitles.updateKeys()
+                ret.append(tSubtitles)
+        return ret



More information about the commits mailing list