Fixed hanging problem if 0 TRLR line is not present

svn: r954
This commit is contained in:
Don Allingham 2002-05-03 01:03:35 +00:00
parent 70658a52c8
commit 8f3fb34a07

View File

@ -62,6 +62,8 @@ UNICODE = 2
db = None db = None
callback = None callback = None
UNEXPECTED_EOF = "Unexpected End of File"
def nocnv(s): def nocnv(s):
return s return s
@ -250,7 +252,10 @@ class GedcomParser:
def get_next(self): def get_next(self):
if self.backoff == 0: if self.backoff == 0:
self.text = self.cnv(string.strip(self.f.readline())) next_line = self.f.readline()
if next_line == '':
raise UNEXPECTED_EOF
self.text = self.cnv(string.strip(next_line))
self.text = string.translate(self.text,self.trans,self.delc) self.text = string.translate(self.text,self.trans,self.delc)
self.index = self.index + 1 self.index = self.index + 1
@ -294,10 +299,15 @@ class GedcomParser:
self.index = 0 self.index = 0
self.fam_count = 0 self.fam_count = 0
self.indi_count = 0 self.indi_count = 0
self.parse_header() try:
self.parse_submitter() self.parse_header()
self.parse_record() self.parse_submitter()
self.parse_trailer() self.parse_record()
self.parse_trailer()
except UNEXPECTED_EOF:
self.error_text_obj.insert_defaults('Error: Incomplete file')
self.error_text_obj.insert_defaults('\n')
self.update(self.families_obj,str(self.fam_count)) self.update(self.families_obj,str(self.fam_count))
self.update(self.people_obj,str(self.indi_count)) self.update(self.people_obj,str(self.indi_count))
self.break_note_links() self.break_note_links()