Hi,

On 8 aug. 2012, at 14:03, Eelco Deuling <deulingee...@gmail.com> wrote:

> I have finished "part one": make a directory structure and all the necessary 
> files for an epub.
> As this is my first-ever python script there should be some things wrong, but 
> it works:

Let me help you out. The script is not too shabby, but could use some cleanup.


#!/usr/bin/env python
#>> This uses the system python. Slightly more flexible.

####################################################################
# call the operating system (?)
#>> Load the 'os' module in python. 
#>> This contains a lot of functionality for interaction with the os
####################################################################
import os

####################################################################
# create the directory structure
####################################################################
My_Epub = "epub"
if not os.path.exists(My_Epub):
    os.mkdir(My_Epub)

root_path = "./epub/"
folders = ["META-INF", "OEBPS", "OEBPS/texts", "OEBPS/css", "OEBPS/media", 
"OEBPS/fonts"]
for folder in folders:
   os.mkdir(os.path.join(root_path,folder))

####################################################################
# create the mimetype file
#>> Use os.path.join() here too
#>> Your version didn't close the file (explicitly). 
#>> It was implicitly closed on script-end.
####################################################################
with open(os.path.join(My_Epub, "mimetype"), "w") as fp:
    fp.write("application/epub+zip")

####################################################################
# create the container xml file
####################################################################
My_Container_xml = """<?xml version="1.0" ?>
<container version="1.0" 
xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/content.opf" 
media-type="application/oebps-package+xml" />
</rootfiles>
</container>
"""

with open(os.path.join(My_Epub, "META-INF", "container.xml"),"w") as fp:
    fp.write(My_Container_xml)

####################################################################
# create empty toc.ncx and empty content.opf
####################################################################
with open(os.path.join(My_Epub, "OEBPS", "toc.ncx"), "w") as fp:
    fp.write("")
with open(os.path.join(My_Epub, "OEBPS", "content.opf"), "w") as fp:
    fp.write("")

----
> This gives me the chance to copy all html files, my css, images, fonts and 
> movie files to the right directories.
> Now I will have to fill the empty toc.ncx and content.opf files with the 
> right content: maybe with os.listdirā€¦
> 
> This will be continued (hopefully!).
> All help would be welcome!

There is an epub python package. No need to reinvent the wheel. 
http://code.google.com/p/python-epub-builder/
(I've never used this code, no idea how good this is).

Best,

Maarten

-- 
-- 
You received this message because you are subscribed to the 
"BBEdit Talk" discussion group on Google Groups.
To post to this group, send email to bbedit@googlegroups.com
To unsubscribe from this group, send email to
bbedit+unsubscr...@googlegroups.com
For more options, visit this group at
<http://groups.google.com/group/bbedit?hl=en>
If you have a feature request or would like to report a problem, 
please email "supp...@barebones.com" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>



Reply via email to