aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Draxinger <Wolfgang.Draxinger@draxit.de>2011-03-27 16:44:45 +0200
committerWolfgang Draxinger <Wolfgang.Draxinger@draxit.de>2011-03-27 16:44:45 +0200
commit811fcef6af748926f6c7c4a58fc0f92241215f0e (patch)
tree4c333f24afa1c4a0b4c7ee4ac64ae1bfe55b6e4b
parentab0757cb0fdaeff791c802e386f8b443cde9a958 (diff)
downloadmkdcp-811fcef6af748926f6c7c4a58fc0f92241215f0e.tar.gz
mkdcp-811fcef6af748926f6c7c4a58fc0f92241215f0e.tar.bz2
interop xml workd
-rw-r--r--mkdcp.py34
1 files changed, 31 insertions, 3 deletions
diff --git a/mkdcp.py b/mkdcp.py
index 3c48ec0..a8404e5 100644
--- a/mkdcp.py
+++ b/mkdcp.py
@@ -210,6 +210,9 @@ class CompositionPlayList(Asset):
reel.yield_cpl_SMPTE(reellist)
_xml = etree.tostring(cpl, pretty_print=True, xml_declaration=True, standalone=None, encoding='UTF-8')
+ self.size = len(_xml)
+ self.digest = dcp_digest(_xml)
+ return _xml
def xml_Interop(self):
title = escape(self.title.encode('ascii', 'xmlcharrefreplace'))
@@ -234,11 +237,15 @@ class CompositionPlayList(Asset):
reel.yield_cpl_Interop(reellist)
_xml = etree.tostring(cpl, pretty_print=True, xml_declaration=True, standalone=None, encoding='UTF-8')
+ self.size = len(_xml)
self.digest = dcp_digest(_xml)
- self.digest = dcp_digest(_xml)
+ return _xml
def write_SMPTE(self):
pass
+
+ def write_Interop(self):
+ pass
def yield_pkl_SMPTE(self, head_element):
super(CompositionPlayList, self).yield_pkl_SMPTE(head_element)
@@ -261,6 +268,7 @@ class PackingList(Asset):
etree.SubElement(pkl, 'IssueDate' ).text = ISSUEDATE
etree.SubElement(pkl, 'Issuer' ).text = ISSUER
etree.SubElement(pkl, 'Creator' ).text = CREATOR
+ etree.SubElement(pkl, 'Annotation' )
_assetlist = etree.SubElement(pkl, 'AssetList')
@@ -272,6 +280,26 @@ class PackingList(Asset):
self.size=len(_xml)
self.digest=dcp_digest(_xml)
return _xml
+
+ def xml_Interop(self):
+ pkl = etree.Element('{http://www.smpte-ra.org/schemas/429-8/2007/PKL}PackingList',
+ nsmap={None: 'http://www.smpte-ra.org/schemas/429-8/2007/PKL'})
+ etree.SubElement(pkl, 'Id' ).text = 'urn:uuid:' + self.UUID
+ etree.SubElement(pkl, 'IssueDate' ).text = ISSUEDATE
+ etree.SubElement(pkl, 'Issuer' ).text = ISSUER
+ etree.SubElement(pkl, 'Creator' ).text = CREATOR
+ etree.SubElement(pkl, 'Annotation' )
+
+ _assetlist = etree.SubElement(pkl, 'AssetList')
+
+ for asset in self.assets:
+ _asset = etree.SubElement(_assetlist, 'Asset')
+ asset.yield_pkl_Interop(_asset)
+
+ _xml = etree.tostring(pkl, pretty_print=True, xml_declaration=True, standalone=True, encoding='UTF-8')
+ self.size=len(_xml)
+ self.digest=dcp_digest(_xml)
+ return _xml
def yield_am_SMPTE(self, head_element):
_asset = etree.SubElement(head_element, 'Asset')
@@ -279,7 +307,7 @@ class PackingList(Asset):
etree.SubElement(_asset, 'PackingList').text = 'true'
yield_ChunkList_SMPTE(_asset)
- def yield_am_SMPTE(self, head_element):
+ def yield_am_Interop(self, head_element):
_asset = etree.SubElement(head_element, 'Asset')
etree.SubElement(_asset, 'Id').text = 'urn:uuid:' + self.UUID
etree.SubElement(_asset, 'PackingList')
@@ -363,7 +391,7 @@ class Reel(object):
class Assetmap(object):
- def __init__(self, assets=list())
+ def __init__(self, assets=list()):
self.assets = assets
self.UUID = asdcp_genuuid()
self.volumecount = 1