From 7a019f1941d874bf87a90dccf86a96dfde75abe0 Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Sun, 26 Jan 2003 05:11:35 +0000 Subject: [PATCH] Ansel coding fixes svn: r1272 --- gramps2/src/Sources.py | 2 +- gramps2/src/ansel_utf8.py | 61 ++++++++++++++++-------------- gramps2/src/plugins/WriteGedcom.py | 16 ++++---- 3 files changed, 42 insertions(+), 37 deletions(-) diff --git a/gramps2/src/Sources.py b/gramps2/src/Sources.py index 6794810f3..468e6eecb 100644 --- a/gramps2/src/Sources.py +++ b/gramps2/src/Sources.py @@ -256,7 +256,7 @@ class SourceEditor: self.pub_field.set_text("") values = self.db.getSourceMap().values() - values.sort(by_title) +# values.sort(by_title) sel_child = None list = [] diff --git a/gramps2/src/ansel_utf8.py b/gramps2/src/ansel_utf8.py index 819764362..051b20476 100644 --- a/gramps2/src/ansel_utf8.py +++ b/gramps2/src/ansel_utf8.py @@ -150,30 +150,30 @@ _twobyte = { _utoa = { - u'\x00\xA1' : '\xC6', u'\x00\xA3' : '\xB9', u'\x00\xA9' : '\xC3', - u'\x00\xAE' : '\xAA', u'\x00\xB0' : '\xC0', u'\x00\xB1' : '\xAB', - u'\x00\xB7' : '\xA8', u'\x00\xB8' : '\xF0\x20', u'\x00\xBF' : '\xC5', - u'\x00\xC0' : '\xE1\x41', u'\x00\xC1' : '\xE2\x41', u'\x00\xC2' : '\xE3\x41', - u'\x00\xC3' : '\xE4\x41', u'\x00\xC4' : '\xE8\x41', u'\x00\xC5' : '\xEA\x41', - u'\x00\xC6' : '\xA5', u'\x00\xC7' : '\xF0\x43', u'\x00\xC8' : '\xE1\x45', - u'\x00\xC9' : '\xE2\x45', u'\x00\xCA' : '\xE3\x45', u'\x00\xCB' : '\xE8\x45', - u'\x00\xCC' : '\xE1\x49', u'\x00\xCD' : '\xE2\x49', u'\x00\xCE' : '\xE3\x49', - u'\x00\xCF' : '\xE8\x49', u'\x00\xD0' : '\xA3', u'\x00\xD1' : '\xE4\x4E', - u'\x00\xD2' : '\xE1\x4F', u'\x00\xD3' : '\xE2\x4F', u'\x00\xD4' : '\xE3\x4F', - u'\x00\xD5' : '\xE4\x4F', u'\x00\xD6' : '\xE8\x4F', u'\x00\xD8' : '\xA2', - u'\x00\xD9' : '\xE1\x55', u'\x00\xDA' : '\xE2\x55', u'\x00\xDB' : '\xE3\x55', - u'\x00\xDC' : '\xE8\x55', u'\x00\xDD' : '\xE2\x59', u'\x00\xDE' : '\xA4', - u'\x00\xDF' : '\xCF', u'\x00\xE0' : '\xE1\x61', u'\x00\xE1' : '\xE2\x61', - u'\x00\xE2' : '\xE3\x61', u'\x00\xE3' : '\xE4\x61', u'\x00\xE4' : '\xE8\x61', - u'\x00\xE5' : '\xEA\x61', u'\x00\xE6' : '\xB5', u'\x00\xE7' : '\xF0\x63', - u'\x00\xE8' : '\xE1\x65', u'\x00\xE9' : '\xE2\x65', u'\x00\xEA' : '\xE3\x65', - u'\x00\xEB' : '\xE8\x65', u'\x00\xEC' : '\xE1\x69', u'\x00\xED' : '\xE2\x69', - u'\x00\xEE' : '\xE3\x69', u'\x00\xEF' : '\xE8\x69', u'\x00\xF0' : '\xBA', - u'\x00\xF1' : '\xE4\x6E', u'\x00\xF2' : '\xE1\x6F', u'\x00\xF3' : '\xE2\x6F', - u'\x00\xF4' : '\xE3\x6F', u'\x00\xF5' : '\xE4\x6F', u'\x00\xF6' : '\xE8\x6F', - u'\x00\xF8' : '\xB2', u'\x00\xF9' : '\xE1\x75', u'\x00\xFA' : '\xE2\x75', - u'\x00\xFB' : '\xE3\x75', u'\x00\xFC' : '\xE8\x75', u'\x00\xFD' : '\xE2\x79', - u'\x00\xFE' : '\xB4', u'\x00\xFF' : '\xE8\x79', u'\x01\x00' : '\xE5\x41', + u'\xA1' : '\xC6', u'\xA3' : '\xB9', u'\xA9' : '\xC3', + u'\xAE' : '\xAA', u'\xB0' : '\xC0', u'\xB1' : '\xAB', + u'\xB7' : '\xA8', u'\xB8' : '\xF0\x20', u'\xBF' : '\xC5', + u'\xC0' : '\xE1\x41', u'\xC1' : '\xE2\x41', u'\xC2' : '\xE3\x41', + u'\xC3' : '\xE4\x41', u'\xC4' : '\xE8\x41', u'\xC5' : '\xEA\x41', + u'\xC6' : '\xA5', u'\xC7' : '\xF0\x43', u'\xC8' : '\xE1\x45', + u'\xC9' : '\xE2\x45', u'\xCA' : '\xE3\x45', u'\xCB' : '\xE8\x45', + u'\xCC' : '\xE1\x49', u'\xCD' : '\xE2\x49', u'\xCE' : '\xE3\x49', + u'\xCF' : '\xE8\x49', u'\xD0' : '\xA3', u'\xD1' : '\xE4\x4E', + u'\xD2' : '\xE1\x4F', u'\xD3' : '\xE2\x4F', u'\xD4' : '\xE3\x4F', + u'\xD5' : '\xE4\x4F', u'\xD6' : '\xE8\x4F', u'\xD8' : '\xA2', + u'\xD9' : '\xE1\x55', u'\xDA' : '\xE2\x55', u'\xDB' : '\xE3\x55', + u'\xDC' : '\xE8\x55', u'\xDD' : '\xE2\x59', u'\xDE' : '\xA4', + u'\xDF' : '\xCF', u'\xE0' : '\xE1\x61', u'\xE1' : '\xE2\x61', + u'\xE2' : '\xE3\x61', u'\xE3' : '\xE4\x61', u'\xE4' : '\xE8\x61', + u'\xE5' : '\xEA\x61', u'\xE6' : '\xB5', u'\xE7' : '\xF0\x63', + u'\xE8' : '\xE1\x65', u'\xE9' : '\xE2\x65', u'\xEA' : '\xE3\x65', + u'\xEB' : '\xE8\x65', u'\xEC' : '\xE1\x69', u'\xED' : '\xE2\x69', + u'\xEE' : '\xE3\x69', u'\xEF' : '\xE8\x69', u'\xF0' : '\xBA', + u'\xF1' : '\xE4\x6E', u'\xF2' : '\xE1\x6F', u'\xF3' : '\xE2\x6F', + u'\xF4' : '\xE3\x6F', u'\xF5' : '\xE4\x6F', u'\xF6' : '\xE8\x6F', + u'\xF8' : '\xB2', u'\xF9' : '\xE1\x75', u'\xFA' : '\xE2\x75', + u'\xFB' : '\xE3\x75', u'\xFC' : '\xE8\x75', u'\xFD' : '\xE2\x79', + 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\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', @@ -221,7 +221,7 @@ _utoa = { 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\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\x04' : '\xE5', u'\x03\x06' : '\xE6', u'\x03\x07' : '\xE7', 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\x24' : '\xF3', u'\x03\x25' : '\xF4', u'\x03\x26' : '\xF7', 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\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', @@ -308,15 +308,20 @@ def utf8_to_ansel(s): buff = cStringIO.StringIO() while s: c0 = ord(s[0]) - print c0 if c0 <= 3 or c0 == 0x1e or c0 >= 0xf3: try: - print s[0:2], _utoa.has_key(s[0:2]) head = _utoa[s[0:2]] s = s[2:] except: head = '?' s = s[1:] + elif c0 > 127: + try: + head = _utoa[s[0:1]] + s = s[1:] + except: + head = '?' + s = s[1:] else: head = s[0] s = s[1:] diff --git a/gramps2/src/plugins/WriteGedcom.py b/gramps2/src/plugins/WriteGedcom.py index 7b19c6ac9..8742593e4 100644 --- a/gramps2/src/plugins/WriteGedcom.py +++ b/gramps2/src/plugins/WriteGedcom.py @@ -760,15 +760,15 @@ class GedcomWriter: self.g.write("1 RESI\n") self.print_date("2 DATE",addr.getDateObj()) 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(): - self.g.write("3 CITY %s\n" % addr.getCity()) + self.g.write("3 CITY %s\n" % self.cnvtxt(addr.getCity())) 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(): - self.g.write("3 POST %s\n" % addr.getPostal()) + self.g.write("3 POST %s\n" % self.cnvtxt(addr.getPostal())) if addr.getCountry(): - self.g.write("3 CTRY %s\n" % addr.getCountry()) + self.g.write("3 CTRY %s\n" % self.cnvtxt(addr.getCountry())) else: text = addr.getStreet() text = addr_append(text,addr.getCity()) @@ -968,7 +968,7 @@ class GedcomWriter: if ref_text != "" or not ref.getDate().isEmpty(): self.g.write('%d DATA\n' % (level+1)) 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) self.print_date(pfx,ref.getDate()) else: @@ -989,10 +989,10 @@ class GedcomWriter: else: self.g.write("\n") 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(): - self.write_long_text("NOTE",level+1,ref.getComments()) + self.write_long_text("NOTE",level+1,self.cnvtxt(ref.getComments())) def fid(self,id): return id