Guest User

Untitled

a guest
Dec 11th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. from lxml import etree
  4. import zipfile
  5.  
  6. # some namespaces we may need
  7. DRAW="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
  8. DRAWC = "{%s}" % DRAW
  9. PRES='urn:oasis:names:tc:opendocument:xmlns:presentation:1.0'
  10. PRESC = "{%s}" % PRES
  11.  
  12. NS = {'presentation': PRES,
  13. "draw":DRAW }
  14.  
  15. def getTree(path):
  16. return etree.XML(path.read())
  17.  
  18. def printNotes(slides):
  19. for slide in slides:
  20. title = slide.get(DRAWC+"name")
  21. print "---- %s ----" % title
  22. notes = slide.xpath("presentation:notes",namespaces=NS)
  23. for note in notes:
  24. bits = [c.text for c in note.iterdescendants()]
  25. print "\n".join(filter(lambda x: x, bits))
  26. print " "
  27.  
  28.  
  29. def getSlides(et):
  30. return et.xpath("//draw:page",namespaces=NS)
  31.  
  32. if __name__=="__main__":
  33. from sys import argv
  34. filepath = argv[1]
  35. z = zipfile.ZipFile(filepath)
  36. content = z.open("content.xml")
  37. et = getTree(content)
  38. slides = getSlides(et)
  39. printNotes(slides)
Add Comment
Please, Sign In to add comment