if data['notes']:
for n in data['notes']:
if n['text']:
- self.notes.add(Note(n['text'], fid=n['id']))
+ self.notes.add(Note(n['text']))
def add_source(data=None):
if data:
for s in list_sources:
- if s.fid == data[fid]:
+ if s.fid == data['id']:
return s
return Source(data)
file.write('1 PUBL ' + self.url + '\n')
for n in self.notes:
n.link(file, 1)
- file.write('1 _FSFTID ' + self.fid + '\n')
+ file.write('1 REFN ' + self.fid + '\n')
def link(self, file=sys.stdout, level=1):
file.write(str(level) + ' SOUR @S' + str(self.num) + '@\n')
self.indi[fid].print(file)
for husb, wife in sorted(self.fam, key=lambda x: self.fam.__getitem__(x).num):
self.fam[(husb, wife)].print(file)
- notes = sorted(list_notes, key=lambda x: x.num)
- for i, n in enumerate(notes):
- if i > 0:
- if n.num == notes[i - 1].num:
- continue
- n.print(file)
- for s in list_sources:
- s.print(file)
sources = sorted(list_sources, key=lambda x: x.num)
for i, s in enumerate(sources):
if i > 0:
if s.num == sources[i - 1].num:
continue
s.print(file)
+ notes = sorted(list_notes, key=lambda x: x.num)
+ for i, n in enumerate(notes):
+ if i > 0:
+ if n.num == notes[i - 1].num:
+ continue
+ n.print(file)
file.write('0 TRLR\n')
self.note[num] = Note(num=num)
self.indi[self.num].notes.add(self.note[num])
elif self.tag == 'SOUR':
- num = int(self.data[2:len(self.data) - 1])
- self.sour[num] = Source(num=num)
- self.indi[self.num].notes.add(self.note[num])
+ self.indi[self.num].sources.add(self.get_link_source())
self.flag = True
def __get_fam(self):
self.note[num] = Note(num=num)
self.fam[self.num].notes.add(self.note[num])
elif self.tag == 'SOUR':
- num = int(self.data[2:len(self.data) - 1])
- self.sour[num] = Source(num=num)
- self.fam[self.num].notes.add(self.note[num])
+ self.fam[self.num].sources.add(self.get_link_source())
self.flag = True
def __get_note(self):
self.sour[self.num].title = self.data
elif self.tag == 'AUTH':
self.sour[self.num].citation = self.data
- elif self.sour == 'PUBL':
- self.url = self.data
- elif self.tag == '_FSFTID':
- self.fid = self.data
+ elif self.tag == 'PUBL':
+ self.sour[self.num].url = self.data
+ elif self.tag == 'REFN':
+ self.sour[self.num].fid = self.data
elif self.tag == 'NOTE':
num = int(self.data[2:len(self.data) - 1])
self.note[num] = Note(num=num)
- self.notes.add(self.note[num])
+ self.sour[self.num].notes.add(self.note[num])
+ self.flag = True
+
+ def get_link_source(self):
+ num = int(self.data[2:len(self.data) - 1])
+ self.sour[num] = Source(num=num)
+ while self.__get_line() and self.level > 1:
+ if self.tag == 'PAGE':
+ self.flag = True
+ return (self.sour[num], self.data)
self.flag = True
+ return (self.sour[num],)
def __get_fact(self):
fact = Fact()