42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
# rc2py.py
|
|
# This module is part of the spambayes project, which is Copyright 2003
|
|
# The Python Software Foundation and is covered by the Python Software
|
|
# Foundation license.
|
|
__author__="Adam Walker"
|
|
__doc__=""""
|
|
Converts an .rc windows resource source file into a python source file
|
|
with the same basic public interface as the rcparser module.
|
|
"""
|
|
import sys, os, stat
|
|
import rcparser
|
|
|
|
def convert(inputFilename = None, outputFilename = None):
|
|
"""See the module doc string"""
|
|
if inputFilename is None:
|
|
inputFilename = "dialogs.rc"
|
|
if outputFilename is None:
|
|
outputFilename = "test.py"
|
|
rcp = rcparser.ParseDialogs(inputFilename)
|
|
in_stat = os.stat(inputFilename)
|
|
|
|
out = open(outputFilename, "wt")
|
|
out.write("#%s\n" % outputFilename)
|
|
out.write("#This is a generated file. Please edit %s instead.\n" % inputFilename)
|
|
out.write("_rc_size_=%d\n_rc_mtime_=%d\n" % (in_stat[stat.ST_SIZE], in_stat[stat.ST_MTIME]))
|
|
out.write("class FakeParser:\n")
|
|
out.write("\tdialogs = "+repr(rcp.dialogs)+"\n")
|
|
out.write("\tids = "+repr(rcp.ids)+"\n")
|
|
out.write("\tnames = "+repr(rcp.names)+"\n")
|
|
out.write("\tbitmaps = "+repr(rcp.bitmaps)+"\n")
|
|
out.write("def ParseDialogs(s):\n")
|
|
out.write("\treturn FakeParser()\n")
|
|
out.close()
|
|
|
|
if __name__=="__main__":
|
|
if len(sys.argv)>1:
|
|
convert(sys.argv[1], sys.argv[2])
|
|
else:
|
|
convert()
|
|
|
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|