|
Lakshmi Narasimhan |
157476b |
*** chm2pdf-0.9.1_orig/chm2pdf 2008-07-09 16:12:26.000000000 +0530
|
|
Lakshmi Narasimhan |
157476b |
--- chm2pdf-0.9.1/chm2pdf 2011-01-09 17:54:49.581170068 +0530
|
|
Lakshmi Narasimhan |
157476b |
***************
|
|
Lakshmi Narasimhan |
157476b |
*** 27,32 ****
|
|
Lakshmi Narasimhan |
157476b |
--- 27,34 ----
|
|
Lakshmi Narasimhan |
157476b |
import os, os.path
|
|
Lakshmi Narasimhan |
157476b |
import re, glob
|
|
Lakshmi Narasimhan |
157476b |
import getopt
|
|
Lakshmi Narasimhan |
157476b |
+ import tempfile
|
|
Lakshmi Narasimhan |
157476b |
+ import shutil
|
|
Lakshmi Narasimhan |
157476b |
# from BeautifulSoup import BeautifulSoup
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
global version
|
|
Lakshmi Narasimhan |
157476b |
***************
|
|
Lakshmi Narasimhan |
157476b |
*** 39,46 ****
|
|
Lakshmi Narasimhan |
157476b |
global filename #the input filename
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
version = '0.9.1'
|
|
Lakshmi Narasimhan |
157476b |
! CHM2PDF_TEMP_WORK_DIR='/tmp/chm2pdf/work'
|
|
Lakshmi Narasimhan |
157476b |
! CHM2PDF_TEMP_ORIG_DIR='/tmp/chm2pdf/orig'
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
--- 41,48 ----
|
|
Lakshmi Narasimhan |
157476b |
global filename #the input filename
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
version = '0.9.1'
|
|
Lakshmi Narasimhan |
157476b |
! CHM2PDF_TEMP_WORK_DIR=tempfile.mkdtemp()
|
|
Lakshmi Narasimhan |
157476b |
! CHM2PDF_TEMP_ORIG_DIR=tempfile.mkdtemp()
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
***************
|
|
Lakshmi Narasimhan |
157476b |
*** 299,314 ****
|
|
Lakshmi Narasimhan |
157476b |
# ########################### File extraction and correction: START ############################
|
|
Lakshmi Narasimhan |
157476b |
#
|
|
Lakshmi Narasimhan |
157476b |
if options['dontextract'] == '':
|
|
Lakshmi Narasimhan |
157476b |
-
|
|
Lakshmi Narasimhan |
157476b |
- try:
|
|
Lakshmi Narasimhan |
157476b |
- os.mkdir(CHM2PDF_TEMP_WORK_DIR)
|
|
Lakshmi Narasimhan |
157476b |
- except OSError: # The directory already exists.
|
|
Lakshmi Narasimhan |
157476b |
- pass
|
|
Lakshmi Narasimhan |
157476b |
-
|
|
Lakshmi Narasimhan |
157476b |
- try:
|
|
Lakshmi Narasimhan |
157476b |
- os.mkdir(CHM2PDF_TEMP_ORIG_DIR)
|
|
Lakshmi Narasimhan |
157476b |
- except OSError: # The directory already exists.
|
|
Lakshmi Narasimhan |
157476b |
- pass
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
try:
|
|
Lakshmi Narasimhan |
157476b |
os.mkdir(CHM2PDF_ORIG_DIR)
|
|
Lakshmi Narasimhan |
157476b |
--- 301,306 ----
|
|
Lakshmi Narasimhan |
157476b |
***************
|
|
Lakshmi Narasimhan |
157476b |
*** 620,626 ****
|
|
Lakshmi Narasimhan |
157476b |
print '\t--continuous\n\t\tSpecifies that the HTML sources are unstructured (plain web pages).\n\t\tNo page breaks are inserted between each file or URL in the output.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--cookies \'name="value with space"; name=value\'\n\t\t'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--datadir directory\n\t\tSpecifies the location of the HTMLDOC data files, usually /usr/share/htmldoc or C:\Program Files\HTMLDOC '
|
|
Lakshmi Narasimhan |
157476b |
! print "\t--dontextract \n\t\tIf given, %s will not extract the HTML files from the given CHM file, but will use previously extracted copies from the temporary directory " %name + '(i.e. ' + CHM2PDF_TEMP_ORIG_DIR + ' and ' + CHM2PDF_TEMP_WORK_DIR + '). Usually you will use this option after you have used the \'--extract-only\' option to extract the files in order to correct them manually (in ' + CHM2PDF_TEMP_WORK_DIR + '). After the correction, a call with \'--dontextract\' will not overwrite your changes, but will use the corrected files instead.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--duplex\n\t\tSpecifies that the output should be formatted for double-sided printing.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--effectduration {0.1..10.0}\n\t\tSpecifies the duration in seconds of PDF page transition effects.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--embedfonts\n\t\tSpecifies that fonts should be embedded in PDF output.'
|
|
Lakshmi Narasimhan |
157476b |
--- 612,618 ----
|
|
Lakshmi Narasimhan |
157476b |
print '\t--continuous\n\t\tSpecifies that the HTML sources are unstructured (plain web pages).\n\t\tNo page breaks are inserted between each file or URL in the output.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--cookies \'name="value with space"; name=value\'\n\t\t'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--datadir directory\n\t\tSpecifies the location of the HTMLDOC data files, usually /usr/share/htmldoc or C:\Program Files\HTMLDOC '
|
|
Lakshmi Narasimhan |
157476b |
! # print "\t--dontextract \n\t\tIf given, %s will not extract the HTML files from the given CHM file, but will use previously extracted copies from the temporary directory " %name + '(i.e. ' + CHM2PDF_TEMP_ORIG_DIR + ' and ' + CHM2PDF_TEMP_WORK_DIR + '). Usually you will use this option after you have used the \'--extract-only\' option to extract the files in order to correct them manually (in ' + CHM2PDF_TEMP_WORK_DIR + '). After the correction, a call with \'--dontextract\' will not overwrite your changes, but will use the corrected files instead.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--duplex\n\t\tSpecifies that the output should be formatted for double-sided printing.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--effectduration {0.1..10.0}\n\t\tSpecifies the duration in seconds of PDF page transition effects.'
|
|
Lakshmi Narasimhan |
157476b |
print '\t--embedfonts\n\t\tSpecifies that fonts should be embedded in PDF output.'
|
|
Lakshmi Narasimhan |
157476b |
***************
|
|
Lakshmi Narasimhan |
157476b |
*** 1084,1096 ****
|
|
Lakshmi Narasimhan |
157476b |
print 'CHM file "' + filename + '" not found!'
|
|
Lakshmi Narasimhan |
157476b |
return
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
- #remove temporary files
|
|
Lakshmi Narasimhan |
157476b |
- if options['dontextract'] == '':
|
|
Lakshmi Narasimhan |
157476b |
- if options['verbose']=='--verbose' and options['verbositylevel']=='high':
|
|
Lakshmi Narasimhan |
157476b |
- print 'Removing any previous temporary files...'
|
|
Lakshmi Narasimhan |
157476b |
- os.system('rm -r '+CHM2PDF_ORIG_DIR+'/*')
|
|
Lakshmi Narasimhan |
157476b |
- os.system('rm -r '+CHM2PDF_WORK_DIR+'/*')
|
|
Lakshmi Narasimhan |
157476b |
-
|
|
Lakshmi Narasimhan |
157476b |
cfile = chm.CHMFile()
|
|
Lakshmi Narasimhan |
157476b |
cfile.LoadCHM(filename)
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
--- 1076,1081 ----
|
|
Lakshmi Narasimhan |
157476b |
***************
|
|
Lakshmi Narasimhan |
157476b |
*** 1105,1110 ****
|
|
Lakshmi Narasimhan |
157476b |
--- 1090,1097 ----
|
|
Lakshmi Narasimhan |
157476b |
os.system('extract_chmLib ' + filename + ' ' + CHM2PDF_ORIG_DIR + '&> /dev/null')
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
convert_to_pdf(cfile, filename, outputfilename, options)
|
|
Lakshmi Narasimhan |
157476b |
+ shutil.rmtree(CHM2PDF_TEMP_WORK_DIR)
|
|
Lakshmi Narasimhan |
157476b |
+ shutil.rmtree(CHM2PDF_TEMP_ORIG_DIR)
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
|
|
Lakshmi Narasimhan |
157476b |
if __name__ == '__main__':
|