1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import sys
- from PyPPUB import ppub_builder
- from PyPPUB import mimetypes
- import datetime
- builder = ppub_builder.PpubBuilder()
- def set_if_not_empty(field, question):
- answer = input(question)
- if(answer == ""):
- return
- builder.metadata.set_value(field, answer)
- set_if_not_empty("title", "[Metadata] Title? ")
- set_if_not_empty("tags", "[Metadata] Tags? ")
- set_if_not_empty("description", "[Metadata] Description? ")
- set_if_not_empty("author", "[Metadata] Author? ")
- set_if_not_empty("copyright", "[Metadata] Copyright? ")
- set_if_not_empty("licence", "[Metadata] Licence? ")
- builder.metadata.set_value("date", datetime.datetime.now().astimezone().isoformat())
- for arg in sys.argv[1:]:
- print("Adding %s" % arg)
- f = open(arg, 'rb')
- builder.add_asset(arg, mimetypes.guess_type(arg)[0], f.read())
- f.close()
- print("Writing output")
- f = open("output.ppub", 'wb')
- builder.write_to_stream(f)
- f.close()
- print("Complete")
- import ppub
- print("Reading")
- f = open("output.ppub", 'rb')
- pub = ppub.Ppub.from_stream(f)
- for i in range(pub.asset_index.asset_count()):
- asset = pub.asset_index.get_nth_asset(i)
- print("Extracting asset %s" % asset.path)
- of = open("asset_%i" % i, 'wb')
- of.write(pub.get_asset_data(asset))
- of.close()
- print("Done")
|