700 |
"-xsize", self.w * scale, "-ysize", self.h * scale, |
"-xsize", self.w * scale, "-ysize", self.h * scale, |
701 |
"-xborder", 0, "-yborder", 0]] |
"-xborder", 0, "-yborder", 0]] |
702 |
|
|
703 |
def run(prefix): |
def run(prefix_in, prefix_out=""): |
704 |
if prefix.endswith(".gen"): |
if prefix_out == "": prefix_out = prefix_in |
705 |
genprefix = prefix |
if not prefix_out.endswith(".gen"): prefix_out = prefix_out + ".gen" |
706 |
else: genprefix = prefix + ".gen" |
|
707 |
if settings.has_key('tmpdir'): |
if settings.has_key('tmpdir'): |
708 |
path = settings['tmpdir'] + "/" |
path = settings['tmpdir'] + "/" |
709 |
else: path = ''; |
else: path = ''; |
710 |
|
|
711 |
s = open(path+prefix+".uml").read() |
s = open(path+prefix_in+".uml").read() |
712 |
l = parseIndented(s) |
l = parseIndented(s) |
713 |
m = mplist(l) |
m = mplist(l) |
714 |
|
|
715 |
gen1 = open(path+genprefix+".1", "w") |
gen1 = open(path+prefix_out+".1", "w") |
716 |
gen1.write(m.setupCode()) |
gen1.write(m.setupCode()) |
717 |
gen1.close() |
gen1.close() |
718 |
gen2 = open(path+genprefix+".2", "w") |
gen2 = open(path+prefix_out+".2", "w") |
719 |
gen2.write(m.drawCode()) |
gen2.write(m.drawCode()) |
720 |
gen2.close() |
gen2.close() |
721 |
gen3 = open(path+genprefix+".3", "w") |
gen3 = open(path+prefix_out+".3", "w") |
722 |
gen3.write(""" |
gen3.write(""" |
723 |
|
|
724 |
prologues := 1; |
prologues := 1; |
726 |
|
|
727 |
beginfig(1) |
beginfig(1) |
728 |
|
|
729 |
input %(genprefix)s.1 |
input %(prefix_out)s.1 |
730 |
input %(prefix)s.mp |
input %(prefix_in)s.mp |
731 |
input %(genprefix)s.2 |
input %(prefix_out)s.2 |
732 |
endfig |
endfig |
733 |
end |
end |
734 |
""" % locals()) |
""" % locals()) |
735 |
gen3.close() |
gen3.close() |
736 |
|
|
737 |
syscmd = "/usr/bin/mpost %s" % genprefix+".3"; |
syscmd = "/usr/bin/mpost %s" % prefix_out+".3"; |
738 |
if settings.has_key('tmpdir'): |
if settings.has_key('tmpdir'): |
739 |
os.system("cd "+path+";"+syscmd) |
os.system("cd "+path+";"+syscmd) |
740 |
else: os.system(syscmd) |
else: os.system(syscmd) |
741 |
|
|
742 |
log = open(path+genprefix+".log").read() |
log = open(path+prefix_out+".log").read() |
743 |
print "LINKS" |
print "LINKS" |
744 |
links = [] |
links = [] |
745 |
|
|
758 |
|
|
759 |
list = bbox.pstopnm(4) |
list = bbox.pstopnm(4) |
760 |
print "PSTOPNM: ", list |
print "PSTOPNM: ", list |
761 |
syscmd = ("pstopnm -verbose "+" ".join(list)+" <"+path+genprefix\ |
syscmd = ("pstopnm -verbose "+" ".join(list)+" <"+path+prefix_out\ |
762 |
+""".1 | pnmscale -reduce 4 | |
+""".1 | pnmscale -reduce 4 | |
763 |
pnmtopng >"""+path+genprefix+".png") |
pnmtopng >"""+path+prefix_out+".png") |
764 |
print "Command:",syscmd |
print "Command:",syscmd |
765 |
os.system(syscmd) |
os.system(syscmd) |
766 |
|
|
772 |
</HEAD> |
</HEAD> |
773 |
<BODY> |
<BODY> |
774 |
<P> |
<P> |
775 |
%(prefix)s<BR> |
%(prefix_in)s<BR> |
776 |
<OBJECT data="%(filename)s" type="image/png" usemap="map1"> |
<OBJECT data="%(filename)s" type="image/png" usemap="map1"> |
777 |
<map name="map1"> |
<map name="map1"> |
778 |
%(links)s |
%(links)s |
780 |
</OBJECT> |
</OBJECT> |
781 |
</BODY> |
</BODY> |
782 |
</HTML> |
</HTML> |
783 |
""" % { "prefix": prefix, |
""" % { "prefix_in": prefix_in, |
784 |
"filename": genprefix+".png", |
"filename": prefix_out+".png", |
785 |
"links": " ".join([l.imgmapanchor() for l in links]) } |
"links": " ".join([l.imgmapanchor() for l in links]) } |
786 |
html = open(path+genprefix+".html", "w") |
html = open(path+prefix_out+".html", "w") |
787 |
html.write(htmlcode) |
html.write(htmlcode) |
788 |
html.close() |
html.close() |
789 |
|
|