Ansel coding fixes

svn: r1272
This commit is contained in:
Don Allingham 2003-01-26 05:11:35 +00:00
parent 254ac30ed2
commit 7a019f1941
3 changed files with 42 additions and 37 deletions

View File

@ -256,7 +256,7 @@ class SourceEditor:
self.pub_field.set_text("") self.pub_field.set_text("")
values = self.db.getSourceMap().values() values = self.db.getSourceMap().values()
values.sort(by_title) # values.sort(by_title)
sel_child = None sel_child = None
list = [] list = []

View File

@ -150,30 +150,30 @@ _twobyte = {
_utoa = { _utoa = {
u'\x00\xA1' : '\xC6', u'\x00\xA3' : '\xB9', u'\x00\xA9' : '\xC3', u'\xA1' : '\xC6', u'\xA3' : '\xB9', u'\xA9' : '\xC3',
u'\x00\xAE' : '\xAA', u'\x00\xB0' : '\xC0', u'\x00\xB1' : '\xAB', u'\xAE' : '\xAA', u'\xB0' : '\xC0', u'\xB1' : '\xAB',
u'\x00\xB7' : '\xA8', u'\x00\xB8' : '\xF0\x20', u'\x00\xBF' : '\xC5', u'\xB7' : '\xA8', u'\xB8' : '\xF0\x20', u'\xBF' : '\xC5',
u'\x00\xC0' : '\xE1\x41', u'\x00\xC1' : '\xE2\x41', u'\x00\xC2' : '\xE3\x41', u'\xC0' : '\xE1\x41', u'\xC1' : '\xE2\x41', u'\xC2' : '\xE3\x41',
u'\x00\xC3' : '\xE4\x41', u'\x00\xC4' : '\xE8\x41', u'\x00\xC5' : '\xEA\x41', u'\xC3' : '\xE4\x41', u'\xC4' : '\xE8\x41', u'\xC5' : '\xEA\x41',
u'\x00\xC6' : '\xA5', u'\x00\xC7' : '\xF0\x43', u'\x00\xC8' : '\xE1\x45', u'\xC6' : '\xA5', u'\xC7' : '\xF0\x43', u'\xC8' : '\xE1\x45',
u'\x00\xC9' : '\xE2\x45', u'\x00\xCA' : '\xE3\x45', u'\x00\xCB' : '\xE8\x45', u'\xC9' : '\xE2\x45', u'\xCA' : '\xE3\x45', u'\xCB' : '\xE8\x45',
u'\x00\xCC' : '\xE1\x49', u'\x00\xCD' : '\xE2\x49', u'\x00\xCE' : '\xE3\x49', u'\xCC' : '\xE1\x49', u'\xCD' : '\xE2\x49', u'\xCE' : '\xE3\x49',
u'\x00\xCF' : '\xE8\x49', u'\x00\xD0' : '\xA3', u'\x00\xD1' : '\xE4\x4E', u'\xCF' : '\xE8\x49', u'\xD0' : '\xA3', u'\xD1' : '\xE4\x4E',
u'\x00\xD2' : '\xE1\x4F', u'\x00\xD3' : '\xE2\x4F', u'\x00\xD4' : '\xE3\x4F', u'\xD2' : '\xE1\x4F', u'\xD3' : '\xE2\x4F', u'\xD4' : '\xE3\x4F',
u'\x00\xD5' : '\xE4\x4F', u'\x00\xD6' : '\xE8\x4F', u'\x00\xD8' : '\xA2', u'\xD5' : '\xE4\x4F', u'\xD6' : '\xE8\x4F', u'\xD8' : '\xA2',
u'\x00\xD9' : '\xE1\x55', u'\x00\xDA' : '\xE2\x55', u'\x00\xDB' : '\xE3\x55', u'\xD9' : '\xE1\x55', u'\xDA' : '\xE2\x55', u'\xDB' : '\xE3\x55',
u'\x00\xDC' : '\xE8\x55', u'\x00\xDD' : '\xE2\x59', u'\x00\xDE' : '\xA4', u'\xDC' : '\xE8\x55', u'\xDD' : '\xE2\x59', u'\xDE' : '\xA4',
u'\x00\xDF' : '\xCF', u'\x00\xE0' : '\xE1\x61', u'\x00\xE1' : '\xE2\x61', u'\xDF' : '\xCF', u'\xE0' : '\xE1\x61', u'\xE1' : '\xE2\x61',
u'\x00\xE2' : '\xE3\x61', u'\x00\xE3' : '\xE4\x61', u'\x00\xE4' : '\xE8\x61', u'\xE2' : '\xE3\x61', u'\xE3' : '\xE4\x61', u'\xE4' : '\xE8\x61',
u'\x00\xE5' : '\xEA\x61', u'\x00\xE6' : '\xB5', u'\x00\xE7' : '\xF0\x63', u'\xE5' : '\xEA\x61', u'\xE6' : '\xB5', u'\xE7' : '\xF0\x63',
u'\x00\xE8' : '\xE1\x65', u'\x00\xE9' : '\xE2\x65', u'\x00\xEA' : '\xE3\x65', u'\xE8' : '\xE1\x65', u'\xE9' : '\xE2\x65', u'\xEA' : '\xE3\x65',
u'\x00\xEB' : '\xE8\x65', u'\x00\xEC' : '\xE1\x69', u'\x00\xED' : '\xE2\x69', u'\xEB' : '\xE8\x65', u'\xEC' : '\xE1\x69', u'\xED' : '\xE2\x69',
u'\x00\xEE' : '\xE3\x69', u'\x00\xEF' : '\xE8\x69', u'\x00\xF0' : '\xBA', u'\xEE' : '\xE3\x69', u'\xEF' : '\xE8\x69', u'\xF0' : '\xBA',
u'\x00\xF1' : '\xE4\x6E', u'\x00\xF2' : '\xE1\x6F', u'\x00\xF3' : '\xE2\x6F', u'\xF1' : '\xE4\x6E', u'\xF2' : '\xE1\x6F', u'\xF3' : '\xE2\x6F',
u'\x00\xF4' : '\xE3\x6F', u'\x00\xF5' : '\xE4\x6F', u'\x00\xF6' : '\xE8\x6F', u'\xF4' : '\xE3\x6F', u'\xF5' : '\xE4\x6F', u'\xF6' : '\xE8\x6F',
u'\x00\xF8' : '\xB2', u'\x00\xF9' : '\xE1\x75', u'\x00\xFA' : '\xE2\x75', u'\xF8' : '\xB2', u'\xF9' : '\xE1\x75', u'\xFA' : '\xE2\x75',
u'\x00\xFB' : '\xE3\x75', u'\x00\xFC' : '\xE8\x75', u'\x00\xFD' : '\xE2\x79', u'\xFB' : '\xE3\x75', u'\xFC' : '\xE8\x75', u'\xFD' : '\xE2\x79',
u'\x00\xFE' : '\xB4', u'\x00\xFF' : '\xE8\x79', u'\x01\x00' : '\xE5\x41', u'\xFE' : '\xB4', u'\xFF' : '\xE8\x79', u'\x01' : '\xE5\x41',
u'\x01\x01' : '\xE5\x61', u'\x01\x02' : '\xE6\x41', u'\x01\x03' : '\xE6\x61', u'\x01\x01' : '\xE5\x61', u'\x01\x02' : '\xE6\x41', u'\x01\x03' : '\xE6\x61',
u'\x01\x04' : '\xF1\x41', u'\x01\x05' : '\xF1\x61', u'\x01\x06' : '\xE2\x43', u'\x01\x04' : '\xF1\x41', u'\x01\x05' : '\xF1\x61', u'\x01\x06' : '\xE2\x43',
u'\x01\x07' : '\xE2\x63', u'\x01\x08' : '\xE3\x43', u'\x01\x09' : '\xE3\x63', u'\x01\x07' : '\xE2\x63', u'\x01\x08' : '\xE3\x43', u'\x01\x09' : '\xE3\x63',
@ -221,7 +221,7 @@ _utoa = {
u'\x01\xEA' : '\xF1\x4F', u'\x01\xEB' : '\xF1\x6F', u'\x01\xF0' : '\xE9\x6A', u'\x01\xEA' : '\xF1\x4F', u'\x01\xEB' : '\xF1\x6F', u'\x01\xF0' : '\xE9\x6A',
u'\x01\xF4' : '\xE2\x47', u'\x01\xF5' : '\xE2\x67', u'\x01\xFC' : '\xE2\xA5', u'\x01\xF4' : '\xE2\x47', u'\x01\xF5' : '\xE2\x67', u'\x01\xFC' : '\xE2\xA5',
u'\x01\xFD' : '\xE2\xB5', u'\x02\xB9' : '\xA7', u'\x02\xBA' : '\xB7', u'\x01\xFD' : '\xE2\xB5', u'\x02\xB9' : '\xA7', u'\x02\xBA' : '\xB7',
u'\x02\xBE' : '\xAE', u'\x02\xBF' : '\xB0', u'\x03\x00' : '\xE1', u'\x02\xBE' : '\xAE', u'\x02\xBF' : '\xB0', u'\x03' : '\xE1',
u'\x03\x01' : '\xE2', u'\x03\x02' : '\xE3', u'\x03\x03' : '\xE4', u'\x03\x01' : '\xE2', u'\x03\x02' : '\xE3', u'\x03\x03' : '\xE4',
u'\x03\x04' : '\xE5', u'\x03\x06' : '\xE6', u'\x03\x07' : '\xE7', u'\x03\x04' : '\xE5', u'\x03\x06' : '\xE6', u'\x03\x07' : '\xE7',
u'\x03\x09' : '\xE0', u'\x03\x0A' : '\xEA', u'\x03\x0B' : '\xEE', u'\x03\x09' : '\xE0', u'\x03\x0A' : '\xEA', u'\x03\x0B' : '\xEE',
@ -229,7 +229,7 @@ _utoa = {
u'\x03\x15' : '\xED', u'\x03\x1C' : '\xF8', u'\x03\x23' : '\xF2', u'\x03\x15' : '\xED', u'\x03\x1C' : '\xF8', u'\x03\x23' : '\xF2',
u'\x03\x24' : '\xF3', u'\x03\x25' : '\xF4', u'\x03\x26' : '\xF7', u'\x03\x24' : '\xF3', u'\x03\x25' : '\xF4', u'\x03\x26' : '\xF7',
u'\x03\x27' : '\xF0', u'\x03\x28' : '\xF1', u'\x03\x2E' : '\xF9', u'\x03\x27' : '\xF0', u'\x03\x28' : '\xF1', u'\x03\x2E' : '\xF9',
u'\x03\x32' : '\xF6', u'\x03\x33' : '\xF5', u'\x1E\x00' : '\xF4\x41', u'\x03\x32' : '\xF6', u'\x03\x33' : '\xF5', u'\x1E' : '\xF4\x41',
u'\x1E\x01' : '\xF4\x61', u'\x1E\x02' : '\xE7\x42', u'\x1E\x03' : '\xE7\x62', u'\x1E\x01' : '\xF4\x61', u'\x1E\x02' : '\xE7\x42', u'\x1E\x03' : '\xE7\x62',
u'\x1E\x04' : '\xF2\x42', u'\x1E\x05' : '\xF2\x62', u'\x1E\x0A' : '\xE7\x44', u'\x1E\x04' : '\xF2\x42', u'\x1E\x05' : '\xF2\x62', u'\x1E\x0A' : '\xE7\x44',
u'\x1E\x0B' : '\xE7\x64', u'\x1E\x0C' : '\xF2\x44', u'\x1E\x0D' : '\xF2\x64', u'\x1E\x0B' : '\xE7\x64', u'\x1E\x0C' : '\xF2\x44', u'\x1E\x0D' : '\xF2\x64',
@ -308,15 +308,20 @@ def utf8_to_ansel(s):
buff = cStringIO.StringIO() buff = cStringIO.StringIO()
while s: while s:
c0 = ord(s[0]) c0 = ord(s[0])
print c0
if c0 <= 3 or c0 == 0x1e or c0 >= 0xf3: if c0 <= 3 or c0 == 0x1e or c0 >= 0xf3:
try: try:
print s[0:2], _utoa.has_key(s[0:2])
head = _utoa[s[0:2]] head = _utoa[s[0:2]]
s = s[2:] s = s[2:]
except: except:
head = '?' head = '?'
s = s[1:] s = s[1:]
elif c0 > 127:
try:
head = _utoa[s[0:1]]
s = s[1:]
except:
head = '?'
s = s[1:]
else: else:
head = s[0] head = s[0]
s = s[1:] s = s[1:]

View File

@ -760,15 +760,15 @@ class GedcomWriter:
self.g.write("1 RESI\n") self.g.write("1 RESI\n")
self.print_date("2 DATE",addr.getDateObj()) self.print_date("2 DATE",addr.getDateObj())
if self.resi == 0: if self.resi == 0:
self.write_long_text("ADDR",2,addr.getStreet()) self.write_long_text("ADDR",2,self.cnvtxt(addr.getStreet()))
if addr.getCity(): if addr.getCity():
self.g.write("3 CITY %s\n" % addr.getCity()) self.g.write("3 CITY %s\n" % self.cnvtxt(addr.getCity()))
if addr.getState(): if addr.getState():
self.g.write("3 STAE %s\n" % addr.getState()) self.g.write("3 STAE %s\n" % self.cnvtxt(addr.getState()))
if addr.getPostal(): if addr.getPostal():
self.g.write("3 POST %s\n" % addr.getPostal()) self.g.write("3 POST %s\n" % self.cnvtxt(addr.getPostal()))
if addr.getCountry(): if addr.getCountry():
self.g.write("3 CTRY %s\n" % addr.getCountry()) self.g.write("3 CTRY %s\n" % self.cnvtxt(addr.getCountry()))
else: else:
text = addr.getStreet() text = addr.getStreet()
text = addr_append(text,addr.getCity()) text = addr_append(text,addr.getCity())
@ -968,7 +968,7 @@ class GedcomWriter:
if ref_text != "" or not ref.getDate().isEmpty(): if ref_text != "" or not ref.getDate().isEmpty():
self.g.write('%d DATA\n' % (level+1)) self.g.write('%d DATA\n' % (level+1))
if ref_text != "": if ref_text != "":
self.write_long_text("TEXT",level+2,ref_text) self.write_long_text("TEXT",level+2,self.cnvtxt(ref_text))
pfx = "%d DATE" % (level+2) pfx = "%d DATE" % (level+2)
self.print_date(pfx,ref.getDate()) self.print_date(pfx,ref.getDate())
else: else:
@ -989,10 +989,10 @@ class GedcomWriter:
else: else:
self.g.write("\n") self.g.write("\n")
if ref.getText(): if ref.getText():
self.write_long_text("TEXT",level+1,ref_text) self.write_long_text("TEXT",level+1,self.cnvtxt(ref_text))
if ref.getComments(): if ref.getComments():
self.write_long_text("NOTE",level+1,ref.getComments()) self.write_long_text("NOTE",level+1,self.cnvtxt(ref.getComments()))
def fid(self,id): def fid(self,id):
return id return id