logger.debug('previous = ' + previous)
if os.path.isdir( previous ):
logger.info('Found directory "%s".', previous)
- copy_tree( previous, cwd )
+ copy_tree( previous, cwd, True )
logger.info('Content copied to directory "%s".', cwd)
return
sys.exit(2)
logger.info('checking for ' + description + '...')
## print '(' + ','.join(progs) + ')',
+ additional_path = path
+ path = os.environ["PATH"].split(os.pathsep) + additional_path
+ extlist = ['']
+ if "PATHEXT" in os.environ:
+ extlist = extlist + os.environ["PATHEXT"].split(os.pathsep)
global java, perl
for idx in range(len(progs)):
# ac_prog may have options, ac_word is the command name
if ac_word.endswith('.pl') and perl == '':
continue
msg = '+checking for "' + ac_word + '"... '
- path = os.environ["PATH"].split(os.pathsep) + path
- extlist = ['']
- if "PATHEXT" in os.environ:
- extlist = extlist + os.environ["PATHEXT"].split(os.pathsep)
for ac_dir in path:
if hasattr(os, "access") and not os.access(ac_dir, os.F_OK):
continue
sys.exit(2)
logger.info('checking for ' + description + '...')
## print '(' + ','.join(progs) + ')',
+ additional_path = path
+ path = os.environ["PATH"].split(os.pathsep) + additional_path
+ extlist = ['']
+ if "PATHEXT" in os.environ:
+ extlist = extlist + os.environ["PATHEXT"].split(os.pathsep)
found_prime = False
real_ac_dir = ''
real_ac_word = not_found
if ac_word.endswith('.pl') and perl == '':
continue
msg = '+checking for "' + ac_word + '"... '
- path = os.environ["PATH"].split(os.pathsep) + path
- extlist = ['']
- if "PATHEXT" in os.environ:
- extlist = extlist + os.environ["PATHEXT"].split(os.pathsep)
found_alt = False
for ac_dir in path:
if hasattr(os, "access") and not os.access(ac_dir, os.F_OK):
rc_entry = [r'\Format noteedit not Noteedit "" "%%" "%%" "vector" ""'])
#
checkViewerEditor('an OpenDocument viewer', ['libreoffice', 'lwriter', 'lowriter', 'oowriter', 'swriter', 'abiword'],
- rc_entry = [r'''\Format odt odt "OpenDocument" "" "%%" "%%" "document,vector,menu=export" "application/vnd.oasis.opendocument.text"
+ rc_entry = [r'''\Format odt odt "OpenDocument (tex4ht)" "" "%%" "%%" "document,vector,menu=export" "application/vnd.oasis.opendocument.text"
+\Format odt2 odt "OpenDocument (eLyXer)" "" "%%" "%%" "document,vector,menu=export" "application/vnd.oasis.opendocument.text"
+\Format odt3 odt "OpenDocument (Pandoc)" "" "%%" "%%" "document,vector,menu=export" "application/vnd.oasis.opendocument.text"
\Format sxw sxw "OpenOffice.Org (sxw)" "" "" "" "document,vector" "application/vnd.sun.xml.writer"'''])
#
checkViewerEditor('a Rich Text and Word viewer', ['libreoffice', 'lwriter', 'lowriter', 'oowriter', 'swriter', 'abiword'],
rc_entry = [r'''\Format rtf rtf "Rich Text Format" "" "%%" "%%" "document,vector,menu=export" "application/rtf"
-\Format word doc "MS Word" W "%%" "%%" "document,vector,menu=export" "application/msword"'''])
+\Format word doc "MS Word" W "%%" "%%" "document,vector,menu=export" "application/msword"
+\Format word2 docx "MS Word Office Open XML" O "%%" "%%" "document,vector,menu=export" "application/vnd.openxmlformats-officedocument.wordprocessingml.document"'''])
#
# entries that do not need checkProg
addToRC(r'''\Format date "" "date command" "" "" "" "" ""
path, elyxer = checkProg('a LyX -> HTML (MS Word) converter',
['elyxer.py --nofooter --html --directory $$r $$i $$o', 'elyxer --nofooter --html --directory $$r $$i $$o'],
rc_entry = [ r'\converter lyx wordhtml "%%" ""' ])
+ path, elyxer = checkProg('a LyX -> OpenDocument (eLyXer) converter',
+ ['elyxer.py --html --nofooter --unicode --directory $$r $$i $$o', 'elyxer --html --nofooter --unicode --directory $$r $$i $$o'],
+ rc_entry = [ r'\converter lyx odt2 "%%" ""' ])
+ path, elyxer = checkProg('a LyX -> Word converter',
+ ['elyxer.py --html --nofooter --unicode --directory $$r $$i $$o', 'elyxer --html --nofooter --unicode --directory $$r $$i $$o'],
+ rc_entry = [ r'\converter lyx word "%%" ""' ])
if elyxer.find('elyxer') >= 0:
addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''')
addToRC(r'''\copier wordhtml "python -tt $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''')
#
checkProg('an OpenDocument -> LaTeX converter', ['w2l -clean $$i'],
rc_entry = [ r'\converter odt latex "%%" ""' ])
+ #
+ checkProg('a MS Word Office Open XML converter -> LaTeX', ['pandoc -s -f docx -o $$o -t latex $$i'],
+ rc_entry = [ r'\converter word2 latex "%%" ""' ])
# Only define a converter to pdf6, otherwise the odt format could be
# used as an intermediate step for export to pdf, which is not wanted.
checkProg('an OpenDocument -> PDF converter', ['unoconv -f pdf --stdout $$i > $$o'],
# directly available as application.
# On SuSE the scripts have a .sh suffix, and on debian they are in /usr/share/tex4ht/
# Both SuSE and debian have oolatex
- checkProg('a LaTeX -> Open Document converter', [
+ checkProg('a LaTeX -> Open Document (tex4ht) converter', [
'oolatex $$i', 'mk4ht oolatex $$i', 'oolatex.sh $$i', '/usr/share/tex4ht/oolatex $$i',
'htlatex $$i \'xhtml,ooffice\' \'ooffice/! -cmozhtf\' \'-coo\' \'-cvalidate\''],
rc_entry = [ r'\converter latex odt "%%" "needaux"' ])
checkProg('a LaTeX -> RTF converter', ['latex2rtf -p -S -o $$o $$i', 'latex2rt -p -S -o $$o $$i'],
rc_entry = [ r'\converter latex rtf "%%" "needaux"' ])
#
+ checkProg('a LaTeX -> Open Document (Pandoc) converter', ['pandoc -s -f latex -o $$o -t odt $$i'],
+ rc_entry = [ r'\converter latex odt3 "%%" ""' ])
+ #
+ checkProg('a LaTeX -> MS Word Office Open XML converter', ['pandoc -s -f latex -o $$o -t docx $$i'],
+ rc_entry = [ r'\converter latex word2 "%%" ""' ])
+ #
checkProg('a RTF -> HTML converter', ['unrtf --html $$i > $$o'],
rc_entry = [ r'\converter rtf html "%%" ""' ])
# Do not define a converter to pdf6, ps is a pure export format
return x.strip()
classname = file.split(os.sep)[-1].split('.')[0]
# return ('LaTeX', '[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article}
- p = re.compile(r'\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}')
- q = re.compile(r'\DeclareCategory{(.*)}')
+ p = re.compile(r'^\s*#\s*\\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}\s*$')
+ q = re.compile(r'^\s*#\s*\\DeclareCategory{(.*)}\s*$')
classdeclaration = ""
categorydeclaration = '""'
for line in open(file).readlines():
# Construct the list of classes to test for.
# build the list of available layout files and convert it to commands
# for chkconfig.ltx
- declare = re.compile(r'\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}')
- category = re.compile(r'\DeclareCategory{(.*)}')
+ declare = re.compile(r'^\s*#\s*\\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}\s*$')
+ category = re.compile(r'^\s*#\s*\\DeclareCategory{(.*)}\s*$')
empty = re.compile(r'^\s*$')
testclasses = list()
for file in glob.glob( os.path.join('layouts', '*.layout') ) + \