ac_word = ac_prog.split(' ')[0]
print '+checking for "' + ac_word + '"... ',
path = os.environ["PATH"].split(os.pathsep) + path
+ extlist = ['']
+ if os.environ.has_key("PATHEXT"):
+ extlist = extlist + os.environ["PATHEXT"].split(os.pathsep)
for ac_dir in path:
- # check both ac_word and ac_word.exe (for windows system)
- if os.path.isfile( os.path.join(ac_dir, ac_word) ) or \
- os.path.isfile( os.path.join(ac_dir, ac_word + ".exe") ):
- print ' yes'
- # write rc entries for this command
- if len(rc_entry) == 1:
- addToRC(rc_entry[0].replace('%%', ac_prog))
- elif len(rc_entry) > 1:
- addToRC(rc_entry[idx].replace('%%', ac_prog))
- return [ac_dir, ac_word]
+ for ext in extlist:
+ if os.path.isfile( os.path.join(ac_dir, ac_word + ext) ):
+ print ' yes'
+ # write rc entries for this command
+ if len(rc_entry) == 1:
+ addToRC(rc_entry[0].replace('%%', ac_prog))
+ elif len(rc_entry) > 1:
+ addToRC(rc_entry[idx].replace('%%', ac_prog))
+ return [ac_dir, ac_word]
# if not successful
print ' no'
# write rc entries for 'not found'
\converter dvi2 dvi "python -tt $$s/scripts/clean_dvi.py $$i $$o" ""'''
else:
converter_entry = r'\converter latex dvi "%%" "latex"'
- path, LATEX = checkProg('a Latex2e program', ['pplatex $$i', 'latex $$i', 'latex2e $$i'],
+ path, LATEX = checkProg('a Latex2e program', ['pplatex $$i', 'platex $$i', 'latex $$i', 'latex2e $$i'],
rc_entry = [converter_entry])
# no latex
if LATEX != '':
rc_entry = [r'\Format dvi dvi DVI D "%%" "" "document,vector"'])
if dtl_tools:
# Windows only: DraftDVI
- addToRC(r'\Format dvi2 dvi DraftDVI "" "" "document,vector"')
+ addToRC(r'\Format dvi2 dvi DraftDVI "" "" "" "vector"')
#
checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'],
rc_entry = [r'\Format html html HTML H "%%" "" "document"'])
def checkLatexConfig(check_config, bool_docbook, bool_linuxdoc):
- ''' Explore the LaTeX configuration '''
+ ''' Explore the LaTeX configuration
+ Return None (will be passed to sys.exit()) for success.
+ '''
print 'checking LaTeX configuration... ',
# if --without-latex-config is forced, or if there is no previous
# version of textclass.lst, re-generate a default file.
tx.write(processLayoutFile(file, bool_docbook, bool_linuxdoc))
tx.close()
print '\tdone'
+ if not check_config:
+ return None
# the following will generate textclass.lst.tmp, and packages.lst.tmp
- if check_config:
+ else:
print '\tauto'
removeFiles(['wrap_chkconfig.ltx', 'chkconfig.vars', \
'chkconfig.classes', 'chklayouts.tex'])
break;
if re.match('^\+', line):
print line,
- fout.close()
+ # if the command succeeds, None will be returned
+ ret = fout.close()
#
# currently, values in chhkconfig are only used to set
# \font_encoding
and os.path.isfile('packages.lst.tmp') and len(open('packages.lst.tmp').read()) > 0:
shutil.move('textclass.lst.tmp', 'textclass.lst')
shutil.move('packages.lst.tmp', 'packages.lst')
+ return ret
def checkModulesConfig():
addToRC(r'\tex_expects_windows_paths %s' % windows_style_tex_paths)
checkOtherEntries()
# --without-latex-config can disable lyx_check_config
- checkLatexConfig( lyx_check_config and LATEX != '', bool_docbook, bool_linuxdoc)
+ ret = checkLatexConfig(lyx_check_config and LATEX != '',
+ bool_docbook, bool_linuxdoc)
checkModulesConfig() #lyx_check_config and LATEX != '')
removeTempFiles()
+ sys.exit(ret)