[Bio] / FigKernelScripts / make_maps_from_sub.py Repository:
ViewVC logotype

Diff of /FigKernelScripts/make_maps_from_sub.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Wed Jun 16 14:57:28 2004 UTC revision 1.2, Wed Jun 16 16:08:20 2004 UTC
# Line 2  Line 2 
2  import FIG_Config  import FIG_Config
3  import re  import re
4  import os, sys, string  import os, sys, string
5    import shutil
6    
7  IN_DIR = "%s/SubsystemDiagrams/" % FIG_Config.data  IN_DIR = "%s/SubsystemDiagrams/" % FIG_Config.data
8  OUT_DIR = "%s/MAP_SUPPORT/Maps/" % FIG_Config.data  OUT_DIR = "%s/MAP_SUPPORT/Maps/" % FIG_Config.data
9    
10    if not os.path.isdir(IN_DIR):
11            print "Creating ", IN_DIR
12            os.makedirs(IN_DIR)
13    
14    if not os.path.isdir(OUT_DIR):
15            print "Creating ", OUT_DIR
16            os.makedirs(OUT_DIR)
17    
18  def add_to_index(id, name):  def add_to_index(id, name):
19          line = "%s\t%s\n" % (id, name)          line = "%s\t%s\n" % (id, name)
20          file = open("%s/MAP_SUPPORT/INDEX" % FIG_Config.data, "r")          index_file = "%s/MAP_SUPPORT/INDEX" % FIG_Config.data
21    
22            if os.path.isfile(index_file):
23    
24                    file = open(index_file, "r")
25          l = file.readlines()          l = file.readlines()
26                    file.close()
27            else:
28                    l = []
29    
30          if line not in l:          if line not in l:
31                  l.append(line)                  l.append(line)
32                  print "Adding ", line                  print "Adding ", line
33          file = open("%s/MAP_SUPPORT/INDEX" % FIG_Config.data, "w")  
34            file = open(index_file, "w")
35          file.writelines(l)          file.writelines(l)
36          file.close()          file.close()
37    
# Line 32  Line 50 
50  def make_maps(in_dir, dir):  def make_maps(in_dir, dir):
51          print          print
52          sub = fig.get_subsystem(dir)          sub = fig.get_subsystem(dir)
53            if sub is None:
54                    return
55    
56          diags = sub.get_diagrams()          diags = sub.get_diagrams()
57            if diags is None:
58                    return
59          for diagram in diags:          for diagram in diags:
60                  mapname = dir+"_"+diagram                  mapname = dir+"_"+diagram
61                  if not os.path.isdir(OUT_DIR+mapname):                  if not os.path.isdir(OUT_DIR+mapname):
# Line 46  Line 69 
69                  links = {}                  links = {}
70                  for aitem in areas:                  for aitem in areas:
71                          area, tag, value = aitem                          area, tag, value = aitem
72                          print "area=%s tag=%s value=%s" % (area, tag, value)                          # print "area=%s tag=%s value=%s" % (area, tag, value)
73    
74                          if tag == "role":                          if tag == "role":
75                                  roles[area] = value                                  roles[area] = value
# Line 56  Line 79 
79                                  if shape_kind == "rect":                                  if shape_kind == "rect":
80                                          x1,y1,x2,y2 = shape_coords.split(",");                                          x1,y1,x2,y2 = shape_coords.split(",");
81                                          cvalue = "rect (%s,%s) (%s,%s)" %(x1, y1, x2, y2)                                          cvalue = "rect (%s,%s) (%s,%s)" %(x1, y1, x2, y2)
82                                            link_coords[area] = "<AREA shape=rect coords=%s,%s,%s,%s " % (x1,y1,x2,y2)
83    
84                                    elif shape_kind == "circle":
85                                            x, y, r = shape_coords.split(",");
86                                            cvalue = "circ (%s,%s) %s" % (x, y, r)
87                                            link_coords[area] = "<AREA shape=circle coords=%s,%s,%s " % (x, y, r)
88                                  else:                                  else:
89                                          print "Unknown shape kind ", shape_kind                                          print "Unknown shape kind ", shape_kind
90                                          cvalue = ""                                          cvalue = ""
91    
92                                  coords[area] = cvalue                                  coords[area] = cvalue
                                 link_coords[area] = "<AREA shape=rect coords=%s,%s,%s,%s " % (x1,y1,x2,y2)  
93                          if tag == "link":                          if tag == "link":
94                                  m = re.search(r'^"([^"]+)",(.*)$', value)                                  m = re.search(r'^"([^"]+)",(.*)$', value)
95                                  if m:                                  if m:
# Line 78  Line 106 
106                                  link_table.write('%s href="%s">\n' % (link_coords[area], links[area]))                                  link_table.write('%s href="%s">\n' % (link_coords[area], links[area]))
107                  role_coords.close()                  role_coords.close()
108                  link_table.close()                  link_table.close()
109    
110                    #
111                    # mapstuff needs name_coords.table with the same contents as role_coords.table
112                    #
113    
114                    shutil.copyfile(OUT_DIR + mapname + "/role_coords.table",
115                                    OUT_DIR + mapname + "/name_coords.table")
116    
117                  add_to_index(mapname, dir)                  add_to_index(mapname, dir)
118    
119    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3