logger.debug('previous = ' + previous)
if os.path.isdir( previous ):
logger.info('Found directory "%s".', previous)
- copy_tree( previous, cwd, true )
+ copy_tree( previous, cwd, True )
logger.info('Content copied to directory "%s".', cwd)
return
for searching but the whole string is used to replace
%% for a rc_entry. So, feel free to add '$$i' etc for programs.
- path: additional pathes
+ path: additional paths (will be prepended to the program name)
rc_entry: entry to outfile, can be
1. emtpy: no rc entry will be added
ac_prog = ac_prog.replace(ac_word, r'%s -jar \"%s\"' % (java, os.path.join(ac_dir, ac_word)))
elif ac_word.endswith('.pl'):
ac_prog = ac_prog.replace(ac_word, r'%s -w \"%s\"' % (perl, os.path.join(ac_dir, ac_word)))
+ elif ac_dir in additional_path:
+ ac_prog = ac_prog.replace(ac_word, r'\"%s\"' % (os.path.join(ac_dir, ac_word)))
# write rc entries for this command
if len(rc_entry) == 1:
addToRC(rc_entry[0].replace('%%', ac_prog))
ac_prog = ac_prog.replace(ac_word, r'%s -jar \"%s\"' % (java, os.path.join(ac_dir, ac_word)))
elif ac_word.endswith('.pl'):
ac_prog = ac_prog.replace(ac_word, r'%s -w \"%s\"' % (perl, os.path.join(ac_dir, ac_word)))
+ elif ac_dir in additional_path:
+ ac_prog = ac_prog.replace(ac_word, r'\"%s\"' % (os.path.join(ac_dir, ac_word)))
# write rc entries for this command
if found_prime == False:
if len(rc_entry) == 1:
dtl_tools = False
return dtl_tools
+def checkInkscape():
+ ''' Check whether Inkscape is available and return the full path (Windows only) '''
+ if os.name != 'nt':
+ return 'inkscape'
+ import _winreg
+ aReg = _winreg.ConnectRegistry(None, _winreg.HKEY_CLASSES_ROOT)
+ try:
+ aKey = _winreg.OpenKey(aReg, r"inkscape.svg\DefaultIcon")
+ val = _winreg.QueryValueEx(aKey, "")
+ return str(val[0]).split('"')[1].replace('.exe', '')
+ except EnvironmentError:
+ try:
+ aKey = _winreg.OpenKey(aReg, r"Applications\inkscape.exe\shell\open\command")
+ val = _winreg.QueryValueEx(aKey, "")
+ return str(val[0]).split('"')[1].replace('.exe', '')
+ except EnvironmentError:
+ return 'inkscape'
def checkLatex(dtl_tools):
''' Check latex, return lyx_check_config '''
checkViewerEditor('a FEN viewer and editor', ['xboard -lpf $$i -mode EditPosition'],
rc_entry = [r'\Format fen fen FEN "" "%%" "%%" "" ""'])
#
- checkViewerEditor('a SVG viewer and editor', ['inkscape'],
- rc_entry = [r'\Format svg "svg, svgz" SVG "" "%%" "%%" "vector,zipped=native" "image/svg+xml"'])
+ checkViewerEditor('a SVG viewer and editor', [inkscape_name],
+ rc_entry = [r'\Format svg "svg, svgz" SVG "" "%%" "%%" "vector,zipped=native" "image/svg+xml"'],
+ path = [inkscape_path])
#
imageformats = r'''\Format bmp bmp BMP "" "%s" "%s" "" "image/x-bmp"
\Format gif gif GIF "" "%s" "%s" "" "image/gif"
checkProg('an OpenDocument -> LaTeX converter', ['w2l -clean $$i'],
rc_entry = [ r'\converter odt latex "%%" ""' ])
#
+ checkProg('an Open Document (Pandoc) -> LaTeX converter', ['pandoc -s -f odt -o $$o -t latex $$i'],
+ rc_entry = [ r'\converter odt3 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
checkProg('an OpenDocument -> EPS converter', ['libreoffice -headless -nologo -convert-to eps $$i', 'unoconv -f eps --stdout $$i > $$o'],
rc_entry = [ r'\converter odg eps2 "%%" ""'])
# Only define a converter to pdf6 for graphics
- checkProg('a SVG -> PDF converter', ['rsvg-convert -f pdf -o $$o $$i', 'inkscape --file=$$i --export-area-drawing --without-gui --export-pdf=$$o'],
- rc_entry = [ r'\converter svg pdf6 "%%" ""'])
+ checkProg('a SVG -> PDF converter', ['rsvg-convert -f pdf -o $$o $$i', inkscape_name + ' --file=$$i --export-area-drawing --without-gui --export-pdf=$$o'],
+ rc_entry = [ r'\converter svg pdf6 "%%" ""'],
+ path = ['', inkscape_path])
#
- checkProg('a SVG -> EPS converter', ['rsvg-convert -f ps -o $$o $$i', 'inkscape --file=$$i --export-area-drawing --without-gui --export-eps=$$o'],
- rc_entry = [ r'\converter svg eps "%%" ""'])
+ checkProg('a SVG -> EPS converter', ['rsvg-convert -f ps -o $$o $$i', inkscape_name + ' --file=$$i --export-area-drawing --without-gui --export-eps=$$o'],
+ rc_entry = [ r'\converter svg eps "%%" ""'],
+ path = ['', inkscape_path])
#
- checkProg('a SVG -> PNG converter', ['rsvg-convert -f png -o $$o $$i', 'inkscape --without-gui --file=$$i --export-png=$$o'],
- rc_entry = [ r'\converter svg png "%%" ""'])
+ checkProg('a SVG -> PNG converter', ['rsvg-convert -f png -o $$o $$i', inkscape_name + ' --without-gui --file=$$i --export-png=$$o'],
+ rc_entry = [ r'\converter svg png "%%" ""'],
+ path = ['', inkscape_path])
#
# gnumeric/xls/ods to tex
# check java and perl before any checkProg that may require them
java = checkProg('a java interpreter', ['java'])[1]
perl = checkProg('a perl interpreter', ['perl'])[1]
+ (inkscape_path, inkscape_name) = os.path.split(checkInkscape())
checkFormatEntries(dtl_tools)
checkConverterEntries()
(chk_docbook, bool_docbook, docbook_cmd) = checkDocBook()