75 |
key = 'title' |
key = 'title' |
76 |
def __init__(self, var, s, list = []): |
def __init__(self, var, s, list = []): |
77 |
dbg("mp: %s %s" % (s,list)) |
dbg("mp: %s %s" % (s,list)) |
78 |
|
"""Grep longer title after variable name.""" |
79 |
if var == None and s.find(' ')!=-1: |
if var == None and s.find(' ')!=-1: |
80 |
self.var = s.split(' ')[0] |
self.var = s.split(' ')[0] |
81 |
s = s[len(self.var)+1:] |
s = s[len(self.var)+1:] |
82 |
if s[0] == '"' and s[-1]=='"': |
if s[0] == '"' and s[-1]=='"': |
83 |
s = s[1:len(s)-1] |
s = s[1:len(s)-1] |
84 |
else: self.var = var or s |
else: self.var = var or s |
85 |
self.name = s |
|
86 |
|
"""Title could be used as name if contains no spaces""" |
87 |
|
if len(s.split(' ')) > 0: |
88 |
|
self.name = self.var |
89 |
|
else: self.name = s |
90 |
|
self.title = s |
91 |
|
|
92 |
self.do_contents(list) |
self.do_contents(list) |
93 |
if self.link != None: |
if self.link != None: |
94 |
self.link.bbox = ('bboxmeasuredpic(%s)' % (self.var)) |
self.link.bbox = ('bboxmeasuredpic(%s)' % (self.var)) |
96 |
def setup_code(self): |
def setup_code(self): |
97 |
s = """ |
s = """ |
98 |
picture %%.pict; |
picture %%.pict; |
99 |
%%.pict = diagramTitle("%name%"); |
%%.pict = diagramTitle("""+'"'+self.title+'"'+"""); |
100 |
picmeasurements(%%); |
picmeasurements(%%); |
101 |
""" |
""" |
102 |
return self.repl(s) |
return self.repl(s) |
132 |
try: |
try: |
133 |
refers_file = open(refers[id], 'r') |
refers_file = open(refers[id], 'r') |
134 |
title = re.compile('<title>([^<]*)</title>') |
title = re.compile('<title>([^<]*)</title>') |
135 |
title = title.findall(refers_file.read()) |
title = title.findall(refers_file.read())[0] |
136 |
refers_file.close() |
refers_file.close() |
137 |
except IOError: |
except IOError: |
138 |
raise MetapostException("Referenced file %s defined in %s was not found." % (refers[id], filepath)) |
raise MetapostException("Referenced file %s defined in %s was not found." % (refers[id], filepath)) |
139 |
|
|
140 |
strip = re.compile('[a-zA-ZåäöÅÄÖ ]*') |
# Could just a <title> be good enough for the title :P |
141 |
if len(title) > 0: title = strip.findall(title[0])[0] |
# strip = re.compile('[a-zA-ZåäöÅÄÖ+ ]*') |
142 |
else: title = refers[id].split("/")[-1].split(".")[0] |
# if len(title) > 0: title = "".join(strip.findall(title[0])) |
143 |
|
if len(title) == 0: title = refers[id].split("/")[-1].split(".")[0] |
144 |
|
|
145 |
if config.link_base_directory == None: |
if config.link_base_directory == None: |
146 |
target = relative_path(config.working_directory, refers[id]) |
target = relative_path(config.working_directory, refers[id]) |