From 7f5e91d9eae9b218d44cb415faa74951cac2b6b0 Mon Sep 17 00:00:00 2001 From: Doug Blank Date: Tue, 16 Feb 2010 02:18:24 +0000 Subject: [PATCH] 3428: When running with pythonw.exe, Windows may crash if you write to stdout svn: r14396 --- src/plugins/export/ExportCsv.py | 6 +- src/plugins/export/ExportDjango.py | 6 +- src/plugins/export/ExportXml.py | 2 +- src/plugins/import/ImportCsv.py | 69 ++++++++------- src/plugins/import/ImportDjango.py | 5 +- src/plugins/import/ImportGeneWeb.py | 127 ++++++++++++++-------------- src/plugins/import/ImportGrdb.py | 61 ++++--------- src/plugins/import/ImportProGen.py | 1 - src/plugins/import/ImportVCard.py | 4 +- src/plugins/import/ImportXml.py | 22 ++--- 10 files changed, 138 insertions(+), 165 deletions(-) diff --git a/src/plugins/export/ExportCsv.py b/src/plugins/export/ExportCsv.py index 472764c1d..85ef4cebd 100644 --- a/src/plugins/export/ExportCsv.py +++ b/src/plugins/export/ExportCsv.py @@ -40,7 +40,7 @@ import codecs # #------------------------------------------------------------------------ import logging -log = logging.getLogger(".ExportCSV") +LOG = logging.getLogger(".ExportCSV") #------------------------------------------------------------------------- # @@ -309,8 +309,8 @@ class CSVWriter(object): if self.include_children: self.total += len(self.flist) ######################## - print "Possible people to export:", len(self.plist) - print "Possible families to export:", len(self.flist) + LOG.debug("Possible people to export: %s", len(self.plist)) + LOG.debug("Possible families to export: %s", len(self.flist)) ########################### sort: sortorder = [] for key in self.plist: diff --git a/src/plugins/export/ExportDjango.py b/src/plugins/export/ExportDjango.py index 125eef68d..020aa94ec 100644 --- a/src/plugins/export/ExportDjango.py +++ b/src/plugins/export/ExportDjango.py @@ -41,7 +41,7 @@ import time # #------------------------------------------------------------------------ import logging -log = logging.getLogger(".ExportDjango") +LOG = logging.getLogger(".ExportDjango") #------------------------------------------------------------------------ # @@ -86,7 +86,7 @@ def export_all(database, filename, option_box=None, callback=None): dji.clear_tables("primary", "secondary", "ref") for step in [0, 1]: - print >> sys.stderr, "Exporting Step %d..." % (step + 1) + LOG.debug("Exporting Step %d..." % (step + 1)) # --------------------------------- # Person # --------------------------------- @@ -185,7 +185,7 @@ def export_all(database, filename, option_box=None, callback=None): total_time = time.time() - start msg = ngettext('Export Complete: %d second','Export Complete: %d seconds', total_time ) % total_time - print >> sys.stderr, msg + LOG.debug(msg) return True class NoFilenameOptions(ExportOptions.WriterOptionBox): diff --git a/src/plugins/export/ExportXml.py b/src/plugins/export/ExportXml.py index e45fd5352..72507a5c7 100644 --- a/src/plugins/export/ExportXml.py +++ b/src/plugins/export/ExportXml.py @@ -149,7 +149,7 @@ class GrampsXmlWriter(UpdateCallback): else: g = open(filename,"w") except IOError,msg: - print str(msg) + LOG.warn(str(msg)) raise DbWriteFailure((_('Failure writing %s') % filename, str(msg))) return 0 diff --git a/src/plugins/import/ImportCsv.py b/src/plugins/import/ImportCsv.py index 98d57bb10..c723ed549 100644 --- a/src/plugins/import/ImportCsv.py +++ b/src/plugins/import/ImportCsv.py @@ -30,8 +30,6 @@ # #------------------------------------------------------------------------- import time -from gen.ggettext import sgettext as _ -from gen.ggettext import ngettext import csv import codecs import cStringIO @@ -42,19 +40,21 @@ import cStringIO # #------------------------------------------------------------------------ import logging -log = logging.getLogger(".ImportCSV") +LOG = logging.getLogger(".ImportCSV") #------------------------------------------------------------------------- # # GRAMPS modules # #------------------------------------------------------------------------- +from gen.ggettext import sgettext as _ +from gen.ggettext import ngettext import gen.lib from QuestionDialog import ErrorDialog from DateHandler import parser as _dp from Utils import gender as gender_map -from gui.utils import ProgressMeter from Utils import create_id +from gui.utils import ProgressMeter #------------------------------------------------------------------------- # @@ -138,7 +138,7 @@ def rd(line_number, row, col, key, default = None): """ Return Row data by column name """ if key in col: if col[key] >= len(row): - print "Warning: missing '%s, on line %d" % (key, line_number) + LOG.warn("missing '%s, on line %d" % (key, line_number)) return default retval = row[col[key]].strip() if retval == "": @@ -312,7 +312,6 @@ class CSVParser(object): self.db = db self.filename = filename self.callback = callback - self.debug = 0 def readCSV(self): fp = None @@ -367,7 +366,7 @@ class CSVParser(object): else: return None else: - print "error: invalid lookup type in CSV import: '%s'" % type + LOG.warn("invalid lookup type in CSV import: '%s'" % type) return None def storeup(self, type, id, object): @@ -379,7 +378,7 @@ class CSVParser(object): elif type == "family": self.fref[id.lower()] = object else: - print "error: invalid storeup type in CSV import: '%s'" % type + LOG.warn("invalid storeup type in CSV import: '%s'" % type) def process(self): progress = ProgressMeter(_('CSV Import')) @@ -428,7 +427,7 @@ class CSVParser(object): husband = self.lookup("person", husband) if husband is None and wife is None: # might have children, so go ahead and add - print "Warning: no parents on line %d; adding family anyway" % line_number + LOG.warn("no parents on line %d; adding family anyway" % line_number) family = self.get_or_create_family(marriage_ref, husband, wife) # adjust gender, if not already provided if husband: @@ -488,7 +487,7 @@ class CSVParser(object): # family, child family_ref = rd(line_number, row, col, "family") if family_ref is None: - print "Error: no family reference found for family on line %d" % line_number + LOG.warn("no family reference found for family on line %d" % line_number) continue # required child = rd(line_number, row, col, "child") source = rd(line_number, row, col, "source") @@ -497,17 +496,17 @@ class CSVParser(object): child = self.lookup("person", child) family = self.lookup("family", family_ref) if family is None: - print "Error: no matching family reference found for family on line %d" % line_number + LOG.warn("no matching family reference found for family on line %d" % line_number) continue if child is None: - print "Error: no matching child reference found for family on line %d" % line_number + LOG.warn("no matching child reference found for family on line %d" % line_number) continue # is this child already in this family? If so, don't add - if self.debug: print "children:", [ref.ref for ref in family.get_child_ref_list()] - if self.debug: print "looking for:", child.get_handle() + LOG.debug("children: %s", [ref.ref for ref in family.get_child_ref_list()]) + LOG.debug("looking for: %s", child.get_handle()) if child.get_handle() not in [ref.ref for ref in family.get_child_ref_list()]: # add child to family - if self.debug: print " adding child to family", child.get_gramps_id(), family.get_gramps_id() + LOG.debug(" adding child [%s] to family [%s]", child.get_gramps_id(), family.get_gramps_id()) childref = gen.lib.ChildRef() childref.set_reference_handle(child.get_handle()) family.add_child_ref( childref) @@ -529,7 +528,7 @@ class CSVParser(object): source_refs = child.get_source_references() found = 0 for ref in source_refs: - if self.debug: print "child: looking for ref:", ref.ref, source.get_handle() + LOG.debug("child: %s looking for ref: %s", ref.ref, source.get_handle()) if ref.ref == source.get_handle(): found = 1 if not found: @@ -586,7 +585,7 @@ class CSVParser(object): person = self.lookup("person", person_ref) if person is None: if surname is None: - print "Warning: empty surname for new person on line %d" % line_number + LOG.warn("empty surname for new person on line %d" % line_number) surname = "" # new person person = self.create_person(firstname, surname) @@ -686,7 +685,7 @@ class CSVParser(object): source_refs = person.get_source_references() found = 0 for ref in source_refs: - if self.debug: print "person: looking for ref:", ref.ref, source.get_handle() + LOG.debug("person: %s looking for ref: %s", ref.ref, source.get_handle()) if ref.ref == source.get_handle(): found = 1 if not found: @@ -695,21 +694,21 @@ class CSVParser(object): person.add_source_reference(sref) self.db.commit_person(person, self.trans) else: - print "Warning: ignoring line %d" % line_number + LOG.warn("ignoring line %d" % line_number) t = time.time() - t msg = ngettext('Import Complete: %d second','Import Complete: %d seconds', t ) % t self.db.transaction_commit(self.trans,_("CSV import")) self.db.enable_signals() self.db.request_rebuild() - print msg - print "New Families: %d" % self.fam_count - print "New Individuals: %d" % self.indi_count + LOG.debug(msg) + LOG.debug("New Families: %d" % self.fam_count) + LOG.debug("New Individuals: %d" % self.indi_count) progress.close() return None def get_or_create_family(self, family_ref, husband, wife): # if a gramps_id and exists: - if self.debug: print "get_or_create_family" + LOG.debug("get_or_create_family") if family_ref.startswith("[") and family_ref.endswith("]"): family = self.db.get_family_from_gramps_id(family_ref[1:-1]) if family: @@ -724,7 +723,7 @@ class CSVParser(object): if wife.get_handle() != fam_wife_handle: # this wife is not the same old one! Add her! family.set_mother_handle(wife.get_handle()) - if self.debug: print " returning existing family" + LOG.debug(" returning existing family") return family # if not, create one: family = gen.lib.Family() @@ -752,13 +751,13 @@ class CSVParser(object): def get_or_create_event(self, object, type, date=None, place=None, source=None): """ Add or find a type event on object """ # first, see if it exists - if self.debug: print "get_or_create_event" + LOG.debug("get_or_create_event") ref_list = object.get_event_ref_list() - if self.debug: print "refs:", ref_list + LOG.debug("refs: %s", ref_list) # look for a match, and possible correction for ref in ref_list: event = self.db.get_event_from_handle(ref.ref) - if self.debug: print " compare event type", int(event.get_type()), type + LOG.debug(" compare event type %s == %s", int(event.get_type()), type) if int(event.get_type()) == type: # Match! Let's update if date: @@ -769,7 +768,7 @@ class CSVParser(object): source_refs = event.get_source_references() found = 0 for ref in source_refs: - if self.debug: print "get_or_create_event: looking for ref:", ref.ref, source.get_handle() + LOG.debug("get_or_create_event: %s looking for ref: %s", ref.ref, source.get_handle()) if ref.ref == source.get_handle(): found = 1 if not found: @@ -777,10 +776,10 @@ class CSVParser(object): sref.set_reference_handle(source.get_handle()) event.add_source_reference(sref) self.db.commit_event(event,self.trans) - if self.debug: print " returning existing event" + LOG.debug(" returning existing event") return (0, event) # else create it: - if self.debug: print " creating event" + LOG.debug(" creating event") event = gen.lib.Event() if type: event.set_type(gen.lib.EventType(type)) @@ -792,7 +791,7 @@ class CSVParser(object): source_refs = event.get_source_references() found = 0 for ref in source_refs: - if self.debug: print "looking for ref:", ref.ref, source.get_handle() + LOG.debug("%s looking for ref: %s", ref.ref, source.get_handle()) if ref.ref == source.get_handle(): found = 1 if not found: @@ -814,8 +813,8 @@ class CSVParser(object): def get_or_create_place(self,place_name): place_list = self.db.iter_place_handles() - if self.debug: print "get_or_create_place: list:", list(place_list) - if self.debug: print "get_or_create_place: looking for:", place_name + LOG.debug("get_or_create_place: list: %s", list(place_list)) + LOG.debug("get_or_create_place: looking for: %s", place_name) for place_handle in place_list: place = self.db.get_place_from_handle(place_handle) if place.get_title() == place_name: @@ -828,8 +827,8 @@ class CSVParser(object): def get_or_create_source(self, source_text): source_list = self.db.get_source_handles() - if self.debug: print "get_or_create_source: list:", source_list - if self.debug: print "get_or_create_source: looking for:", source_text + LOG.debug("get_or_create_source: list: %s", source_list) + LOG.debug("get_or_create_source: looking for: %s", source_text) for source_handle in source_list: source = self.db.get_source_from_handle(source_handle) if source.get_title() == source_text: diff --git a/src/plugins/import/ImportDjango.py b/src/plugins/import/ImportDjango.py index 76d4c7336..fab0fafb1 100644 --- a/src/plugins/import/ImportDjango.py +++ b/src/plugins/import/ImportDjango.py @@ -40,7 +40,7 @@ import os # #------------------------------------------------------------------------ import logging -log = logging.getLogger(".ImportDjango") +LOG = logging.getLogger(".ImportDjango") #------------------------------------------------------------------------- # @@ -186,8 +186,7 @@ class DjangoReader(object): self.db.transaction_commit(self.trans, _("Django import")) self.db.enable_signals() self.db.request_rebuild() - print >> sys.stderr, msg - + LOG.debug(msg) def import_data(db, filename, callback=None): g = DjangoReader(db, filename, callback) diff --git a/src/plugins/import/ImportGeneWeb.py b/src/plugins/import/ImportGeneWeb.py index 584199c25..1ad998cdf 100644 --- a/src/plugins/import/ImportGeneWeb.py +++ b/src/plugins/import/ImportGeneWeb.py @@ -39,7 +39,7 @@ from gen.ggettext import ngettext # #------------------------------------------------------------------------ import logging -log = logging.getLogger(".ImportGeneWeb") +LOG = logging.getLogger(".ImportGeneWeb") #------------------------------------------------------------------------- # @@ -66,8 +66,6 @@ _cal_map = { 'F' : gen.lib.Date.CAL_FRENCH, } -enable_debug = False - #------------------------------------------------------------------------- # # @@ -142,7 +140,7 @@ class GeneWebParser(object): fields = line.split(" ") - self.debug("LINE: %s" %line) + LOG.debug("LINE: %s" %line) if fields[0] == "fam": self.current_mode = "fam" self.read_family_line(line,fields) @@ -172,7 +170,8 @@ class GeneWebParser(object): elif fields[0] == "encoding:": self.encoding = fields[1] else: - print "parse_geneweb_file(): Token >%s< unknown. line %d skipped: %s" % (fields[0],self.lineno,line) + LOG.warn("parse_geneweb_file(): Token >%s< unknown. line %d skipped: %s" % + (fields[0],self.lineno,line)) except Errors.GedcomError, err: self.errmsg(str(err)) @@ -183,9 +182,9 @@ class GeneWebParser(object): self.db.enable_signals() self.db.request_rebuild() - print msg - print "Families: %d" % len(self.fkeys) - print "Individuals: %d" % len(self.ikeys) + LOG.debug(msg) + LOG.debug("Families: %d" % len(self.fkeys)) + LOG.debug("Individuals: %d" % len(self.ikeys)) return None def read_family_line(self,line,fields): @@ -198,7 +197,7 @@ class GeneWebParser(object): self.fkeys.append(self.current_family.get_handle()) idx = 1; - self.debug("\nHusband:") + LOG.debug("\nHusband:") (idx, husband) = self.parse_person(fields,idx,gen.lib.Person.MALE,None) if husband: self.current_husband_handle = husband.get_handle() @@ -206,9 +205,9 @@ class GeneWebParser(object): self.db.commit_family(self.current_family,self.trans) husband.add_family_handle(self.current_family.get_handle()) self.db.commit_person(husband,self.trans) - self.debug("Marriage:") + LOG.debug("Marriage:") idx = self.parse_marriage(fields,idx) - self.debug("Wife:") + LOG.debug("Wife:") (idx,wife) = self.parse_person(fields,idx,gen.lib.Person.FEMALE,None) if wife: self.current_family.set_mother_handle(wife.get_handle()) @@ -218,14 +217,14 @@ class GeneWebParser(object): return None def read_relationship_person(self,line,fields): - self.debug("\Relationships:") + LOG.debug("\Relationships:") (idx,person) = self.parse_person(fields,1,gen.lib.Person.UNKNOWN,None) if person: self.current_relationship_person_handle = person.get_handle() def read_relation_lines(self): if not self.current_relationship_person_handle: - print "Unknown person for relationship in line %d!" % self.lineno + LOG.warn("Unknown person for relationship in line %d!" % self.lineno) return None rel_person = self.db.get_person_from_handle(self.current_relationship_person_handle) while 1: @@ -245,14 +244,14 @@ class GeneWebParser(object): (idx,asso_p) = self.parse_person(fields,0,gen.lib.Person.UNKNOWN,None) pref = gen.lib.PersonRef() pref.set_relation(matches.groups()[0]) - print("TODO: Handle association types properly") + LOG.warn("TODO: Handle association types properly") pref.set_reference_handle(asso_p.get_handle()) rel_person.add_person_ref(pref) self.db.commit_person(rel_person,self.trans) else: - print "Invalid name of person in line %d" % self.lineno + LOG.warn("Invalid name of person in line %d" % self.lineno) else: - print "Invalid relationship in line %d" % self.lineno + LOG.warn("Invalid relationship in line %d" % self.lineno) break self.current_mode = None return None @@ -261,7 +260,7 @@ class GeneWebParser(object): def read_source_line(self,line,fields): if not self.current_family: - print "Unknown family of child in line %d!" % self.lineno + LOG.warn("Unknown family of child in line %d!" % self.lineno) return None source = self.get_or_create_source(self.decode(fields[1])) self.current_family.add_source_reference(source) @@ -269,7 +268,7 @@ class GeneWebParser(object): return None def read_witness_line(self,line,fields): - self.debug("Witness:") + LOG.debug("Witness:") if fields[1] == "m:": (idx,wit_p) = self.parse_person(fields,2,gen.lib.Person.MALE,None) elif fields[1] == "f:": @@ -298,12 +297,12 @@ class GeneWebParser(object): def read_children_lines(self): father_surname = "Dummy" if not self.current_husband_handle: - print "Unknown father for child in line %d!" % self.lineno + LOG.warn("Unknown father for child in line %d!" % self.lineno) return None husb = self.db.get_person_from_handle(self.current_husband_handle) father_surname = husb.get_primary_name().get_surname() if not self.current_family: - print "Unknown family of child in line %d!" % self.lineno + LOG.warn("Unknown family of child in line %d!" % self.lineno) return None while 1: line = self.get_next_line() @@ -314,7 +313,7 @@ class GeneWebParser(object): fields = line.split(" ") if fields[0] == "-": - self.debug("Child:") + LOG.debug("Child:") child = None if fields[1] == "h": (idx,child) = self.parse_person(fields,2,gen.lib.Person.MALE,father_surname) @@ -363,7 +362,7 @@ class GeneWebParser(object): def read_family_comment(self,line,fields): if not self.current_family: - print "Unknown family of child in line %d!" % self.lineno + LOG.warn("Unknown family of child in line %d!" % self.lineno) return None n = gen.lib.Note() n.set(line) @@ -424,8 +423,8 @@ class GeneWebParser(object): #while idx < len(fields) and not fields[idx][0] == "+": while idx < len(fields) and not (fields[idx] and fields[idx][0] == "+"): if fields[idx]: - print "parse_marriage(): Unknown field:", \ - "'%s' in line %d!" % (fields[idx], self.lineno) + LOG.warn(("parse_marriage(): Unknown field: " + + "'%s' in line %d!") % (fields[idx], self.lineno)) idx += 1 while idx < len(fields) and mariageDataRe.match(fields[idx]): @@ -433,33 +432,33 @@ class GeneWebParser(object): idx += 1 if field.startswith("+"): mar_date = self.parse_date(self.decode(field)) - self.debug(" Married at: %s" % field) + LOG.debug(" Married at: %s" % field) elif field.startswith("-"): div_date = self.parse_date(self.decode(field)) - self.debug(" Div at: %s" % field) + LOG.debug(" Div at: %s" % field) elif field == "#mp" and idx < len(fields): mar_place = self.get_or_create_place(self.decode(fields[idx])) - self.debug(" Marriage place: %s" % fields[idx]) + LOG.debug(" Marriage place: %s" % fields[idx]) idx += 1 elif field == "#ms" and idx < len(fields): mar_source = self.get_or_create_source(self.decode(fields[idx])) - self.debug(" Marriage source: %s" % fields[idx]) + LOG.debug(" Marriage source: %s" % fields[idx]) idx += 1 elif field == "#sep" and idx < len(fields): sep_date = self.parse_date(self.decode(fields[idx])) - self.debug(" Seperated since: %s" % fields[idx]) + LOG.debug(" Seperated since: %s" % fields[idx]) idx += 1 elif field == "#nm": - self.debug(" Are not married.") + LOG.debug(" Are not married.") married = 0 elif field == "#noment": - self.debug(" Not mentioned.") + LOG.debug(" Not mentioned.") elif field == "#eng": - self.debug(" Are engaged.") + LOG.debug(" Are engaged.") engaged = 1 else: - print "parse_marriage(): Unknown field", \ - "'%s'for mariage in line %d!" % (field, self.lineno) + LOG.warn(("parse_marriage(): Unknown field " + + "'%s'for mariage in line %d!") % (field, self.lineno)) if mar_date or mar_place or mar_source: mar = self.create_event( @@ -493,7 +492,7 @@ class GeneWebParser(object): if not father_surname: if not idx < len(fields): - print "Missing surname of person in line %d!" % self.lineno + LOG.warn("Missing surname of person in line %d!" % self.lineno) surname ="" else: surname = self.decode(fields[idx]) @@ -502,7 +501,7 @@ class GeneWebParser(object): surname = father_surname if not idx < len(fields): - print "Missing firstname of person in line %d!" % self.lineno + LOG.warn("Missing firstname of person in line %d!" % self.lineno) firstname = "" else: firstname = self.decode(fields[idx]) @@ -513,7 +512,7 @@ class GeneWebParser(object): surname = self.decode(fields[idx]) idx += 1 - self.debug("Person: %s %s" % (firstname, surname)) + LOG.debug("Person: %s %s" % (firstname, surname)) person = self.get_or_create_person(firstname,surname) name = gen.lib.Name() name.set_type( gen.lib.NameType(gen.lib.NameType.BIRTH)) @@ -556,13 +555,13 @@ class GeneWebParser(object): field = fields[idx] idx += 1 if field.startswith('('): - self.debug("Public Name: %s" % field) + LOG.debug("Public Name: %s" % field) public_name = self.decode(field[1:-1]) elif field.startswith('{'): - self.debug("Firstsname Alias: %s" % field) + LOG.debug("Firstsname Alias: %s" % field) firstname_aliases.append(self.decode(field[1:-1])) elif field.startswith('['): - self.debug("Title: %s" % field) + LOG.debug("Title: %s" % field) titleparts = self.decode(field[1:-1]).split(":") tname = ttitle = tplace = tstart = tend = tnth = None try: @@ -591,11 +590,11 @@ class GeneWebParser(object): title_ref.set_reference_handle(title.get_handle()) person.add_event_ref(title_ref) elif field == '#nick' and idx < len(fields): - self.debug("Nick Name: %s" % fields[idx]) + LOG.debug("Nick Name: %s" % fields[idx]) nick_names.append(self.decode(fields[idx])) idx += 1 elif field == '#occu' and idx < len(fields): - self.debug("Occupation: %s" % fields[idx]) + LOG.debug("Occupation: %s" % fields[idx]) occu = self.create_event( gen.lib.EventType.OCCUPATION, self.decode(fields[idx])) occu_ref = gen.lib.EventRef() @@ -603,80 +602,80 @@ class GeneWebParser(object): person.add_event_ref(occu_ref) idx += 1 elif field == '#alias' and idx < len(fields): - self.debug("Name Alias: %s" % fields[idx]) + LOG.debug("Name Alias: %s" % fields[idx]) name_aliases.append(self.decode(fields[idx])) idx += 1 elif field == '#salias' and idx < len(fields): - self.debug("Surname Alias: %s" % fields[idx]) + LOG.debug("Surname Alias: %s" % fields[idx]) surname_aliases.append(self.decode(fields[idx])) idx += 1 elif field == '#image' and idx < len(fields): - self.debug("Image: %s" % fields[idx]) + LOG.debug("Image: %s" % fields[idx]) idx += 1 elif field == '#src' and idx < len(fields): - self.debug("Source: %s" % fields[idx]) + LOG.debug("Source: %s" % fields[idx]) source = self.get_or_create_source(self.decode(fields[idx])) idx += 1 elif field == '#bs' and idx < len(fields): - self.debug("Birth Source: %s" % fields[idx]) + LOG.debug("Birth Source: %s" % fields[idx]) birth_source = self.get_or_create_source(self.decode(fields[idx])) idx += 1 elif field[0] == '!': - self.debug("Baptize at: %s" % fields[idx]) + LOG.debug("Baptize at: %s" % fields[idx]) bapt_date = self.parse_date(self.decode(fields[idx][1:])) idx += 1 elif field == '#bp' and idx < len(fields): - self.debug("Birth Place: %s" % fields[idx]) + LOG.debug("Birth Place: %s" % fields[idx]) birth_place = self.get_or_create_place(self.decode(fields[idx])) idx += 1 elif field == '#pp' and idx < len(fields): - self.debug("Baptize Place: %s" % fields[idx]) + LOG.debug("Baptize Place: %s" % fields[idx]) bapt_place = self.get_or_create_place(self.decode(fields[idx])) idx += 1 elif field == '#ps' and idx < len(fields): - self.debug("Baptize Source: %s" % fields[idx]) + LOG.debug("Baptize Source: %s" % fields[idx]) bapt_source = self.get_or_create_source(self.decode(fields[idx])) idx += 1 elif field == '#dp' and idx < len(fields): - self.debug("Death Place: %s" % fields[idx]) + LOG.debug("Death Place: %s" % fields[idx]) death_place = self.get_or_create_place(self.decode(fields[idx])) idx += 1 elif field == '#ds' and idx < len(fields): - self.debug("Death Source: %s" % fields[idx]) + LOG.debug("Death Source: %s" % fields[idx]) death_source = self.get_or_create_source(self.decode(fields[idx])) idx += 1 elif field == '#buri' and idx < len(fields): - self.debug("Burial Date: %s" % fields[idx]) + LOG.debug("Burial Date: %s" % fields[idx]) bur_date = self.parse_date(self.decode(fields[idx])) idx += 1 elif field == '#crem' and idx < len(fields): - self.debug("Cremention Date: %s" % fields[idx]) + LOG.debug("Cremention Date: %s" % fields[idx]) crem_date = self.parse_date(self.decode(fields[idx])) idx += 1 elif field == '#rp' and idx < len(fields): - self.debug("Burial Place: %s" % fields[idx]) + LOG.debug("Burial Place: %s" % fields[idx]) bur_place = self.get_or_create_place(self.decode(fields[idx])) idx += 1 elif field == '#rs' and idx < len(fields): - self.debug("Burial Source: %s" % fields[idx]) + LOG.debug("Burial Source: %s" % fields[idx]) bur_source = self.get_or_create_source(self.decode(fields[idx])) idx += 1 elif field == '#apubl': - self.debug("This is a public record") + LOG.debug("This is a public record") elif field == '#apriv': - self.debug("This is a private record") + LOG.debug("This is a private record") person.set_privacy(True) elif field == '#h': - self.debug("This is a restricted record") + LOG.debug("This is a restricted record") #TODO: Gramps does currently not feature this level person.set_privacy(True) elif dateRe.match(field): if not birth_parsed: - self.debug("Birth Date: %s" % field) + LOG.debug("Birth Date: %s" % field) birth_date = self.parse_date(self.decode(field)) birth_parsed = True else: - self.debug("Death Date: %s" % field) + LOG.debug("Death Date: %s" % field) death_date = self.parse_date(self.decode(field)) if field == "mj": death_cause = "Died joung" @@ -690,8 +689,8 @@ class GeneWebParser(object): death_cause = "Disappeared" #TODO: Set special death types more properly else: - print "parse_person(): Unknown field", \ - "'%s' for person in line %d!" % (field, self.lineno) + LOG.warn(("parse_person(): Unknown field " + + "'%s' for person in line %d!") % (field, self.lineno)) if public_name: name = person.get_primary_name() diff --git a/src/plugins/import/ImportGrdb.py b/src/plugins/import/ImportGrdb.py index 4ceeb6cea..63d8e9de9 100644 --- a/src/plugins/import/ImportGrdb.py +++ b/src/plugins/import/ImportGrdb.py @@ -38,7 +38,7 @@ import cPickle as pickle import time from bsddb import dbshelve, db import logging -__LOG = logging.getLogger(".Db") +LOG = logging.getLogger(".Db") #------------------------------------------------------------------------- # @@ -158,7 +158,6 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): def __open_table(self, file_name, table_name, dbtype=db.DB_HASH): dbmap = dbshelve.DBShelf(self.env) dbmap.db.set_pagesize(16384) - print file_name if self.readonly: dbmap.open(file_name, table_name, dbtype, db.DB_RDONLY) else: @@ -739,9 +738,7 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): # Use the secondary index to locate all the reference_map entries # that include a reference to the object we are looking for. - print "FIND BACKLINK" referenced_cur = self.get_reference_map_referenced_cursor() - print "refcur", referenced_cur try: ret = referenced_cur.set(handle) @@ -1400,7 +1397,7 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): # under certain circumstances during a database reload, # data_map can be none. If so, then don't report an error if data_map: - __LOG.error("Failed to get from handle", exc_info=True) + LOG.error("Failed to get from handle", exc_info=True) if data: newobj = class_type() newobj.unserialize(data) @@ -1508,7 +1505,6 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): self.txn = None def undo(self, update_history=True): - print "Undoing it" if self.UseTXN: self.txn = self.env.txn_begin() status = DbBase.undo(self, update_history) @@ -1521,7 +1517,6 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): return status def redo(self, update_history=True): - print "Redoing it" if self.UseTXN: self.txn = self.env.txn_begin() status = DbBase.redo(self, update_history) @@ -1568,30 +1563,10 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): self.gramps_upgrade_13() if version < 14: self.gramps_upgrade_14() - print "Upgrade time:", int(time.time()-t), "seconds" + LOG.debug("Upgrade time: %s %s", int(time.time()-t), "seconds") def gramps_upgrade_10(self): - print "Upgrading to DB version 10..." - - # Remove event column metadata, since columns have changed. - # This will reset all columns to defaults in event view - ## This action is removed: column data is no longer used, so no - ## need to change it - #for name in (PERSON_COL_KEY, EVENT_COL_KEY): - # try: - # if self.UseTXN: - # # Start transaction if needed - # the_txn = self.env.txn_begin() - # else: - # the_txn = None - # self.metadata.delete(name, txn=the_txn) - # if self.UseTXN: - # the_txn.commit() - # else: - # self.metadata.sync() - # except KeyError: - # if self.UseTXN: - # the_txn.abort() + LOG.debug("Upgrading to DB version 10...") # This upgrade adds attribute lists to Event and EventRef objects length = self.get_number_of_events() + len(self.person_map) \ @@ -1713,10 +1688,10 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): else: self.metadata.sync() - print "Done upgrading to DB version 10" + LOG.debug("Done upgrading to DB version 10") def gramps_upgrade_11(self): - print "Upgrading to DB version 11..." + LOG.debug("Upgrading to DB version 11...") # This upgrade modifies addresses and locations length = len(self.person_map) + len(self.place_map) \ @@ -1822,10 +1797,10 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): else: self.metadata.sync() - print "Done upgrading to DB version 11" + LOG.debug("Done upgrading to DB version 11") def gramps_upgrade_12(self): - print "Upgrading to DB version 12..." + LOG.debug("Upgrading to DB version 12...") # Hook up surnames table_flags = self.__open_flags() self.surnames = db.DB(self.env) @@ -1850,14 +1825,14 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): else: self.metadata.sync() - print "Done upgrading to DB version 12" + LOG.debug("Done upgrading to DB version 12") def gramps_upgrade_13(self): """ First upgrade in 2.3/3.0 branch. We assume that the data is at least from 2.2.x. """ - print "Upgrading to DB version 13..." + LOG.debug("Upgrading to DB version 13...") # Hook up note id index table_flags = self.__open_flags() self.nid_trans = db.DB(self.env) @@ -1977,7 +1952,7 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): table_flags) self.reference_map_referenced_map.close() - print "Done upgrading to DB version 13" + LOG.debug("Done upgrading to DB version 13") def commit_13(self,data_tuple,data_key_name,data_map, note_handles=None): """ @@ -2314,13 +2289,13 @@ class GrampsBSDDB(DbGrdb, UpdateCallback): urls, new_lds_list, new_source_list, note_list, change, marker, priv, new_person_ref_list) else: - print name, obj + LOG.warn("could not convert_notes_13 %s %s", name, obj) # Return the required tuple return (new_obj, note_handles) def gramps_upgrade_14(self): """Upgrade database from version 13 to 14.""" - print "Upgrading to DB version 14..." + LOG.debug("Upgrading to DB version 14...") # This upgrade modifies notes and dates length = (len(self.note_map) + len(self.person_map) + len(self.event_map) + len(self.family_map) + @@ -2695,22 +2670,22 @@ def importData(database, filename, callback=None, cl=0): other_database.load(new_filename, callback) except: if cl: - print "Error: %s could not be opened. Exiting." % new_filename + LOG.warn("%s could not be opened. Exiting." % new_filename) else: import traceback - print traceback.print_exc() + traceback.print_exc() ErrorDialog(_("%s could not be opened") % new_filename) return if not other_database.version_supported(): if cl: - print "Error: %s could not be opened.\n%s Exiting." \ + LOG.warn("Error: %s could not be opened.\n%s Exiting." \ % (filename, _("The database version is not supported " "by this version of Gramps.\n"\ "Please upgrade to the corresponding version " "or use XML for porting data between different " - "database versions.")) + "database versions."))) else: ErrorDialog(_("%s could not be opened") % filename, _("The Database version is not supported " @@ -2853,7 +2828,7 @@ def importData(database, filename, callback=None, cl=0): msg = _("Your family tree groups name %s together" " with %s, did not change this grouping to %s") % ( key, present, value) - print msg + LOG.warn(msg) else: database.set_name_group_mapping(key, value) diff --git a/src/plugins/import/ImportProGen.py b/src/plugins/import/ImportProGen.py index 4f50723db..5130afa77 100644 --- a/src/plugins/import/ImportProGen.py +++ b/src/plugins/import/ImportProGen.py @@ -137,7 +137,6 @@ def _read_recs(table, bname): recs.append(tups) log.info("# length %s.recs[] = %d" % (table['name1'], len(recs))) - print "# length %s.recs[] = %d" % (table['name1'], len(recs)) return recs diff --git a/src/plugins/import/ImportVCard.py b/src/plugins/import/ImportVCard.py index cde1b6ca2..d33b527ba 100644 --- a/src/plugins/import/ImportVCard.py +++ b/src/plugins/import/ImportVCard.py @@ -39,7 +39,7 @@ from gen.ggettext import ngettext # #------------------------------------------------------------------------ import logging -log = logging.getLogger(".ImportVCard") +LOG = logging.getLogger(".ImportVCard") #------------------------------------------------------------------------- # @@ -136,7 +136,7 @@ class VCardParser(object): elif fields[0] == "URL": self.add_url(fields, line_parts.group(2)) else: - print "Token >%s< unknown. line skipped: %s" % (fields[0],line) + LOG.warn("Token >%s< unknown. line skipped: %s" % (fields[0],line)) except Errors.GedcomError, err: self.errmsg(str(err)) diff --git a/src/plugins/import/ImportXml.py b/src/plugins/import/ImportXml.py index 17e08f57d..bd870678d 100644 --- a/src/plugins/import/ImportXml.py +++ b/src/plugins/import/ImportXml.py @@ -31,6 +31,8 @@ import sys from xml.parsers.expat import ExpatError, ParserCreate from gen.ggettext import gettext as _ import re +import logging +LOG = logging.getLogger(".ImportXML") #------------------------------------------------------------------------- # @@ -117,8 +119,8 @@ def importData(database, filename, callback=None, cl=0): info = parser.parse(xml_file, line_cnt, person_cnt) except IOError, msg: if cl: - print "Error reading %s" % filename - print msg + LOG.warn("Error reading %s" % filename) + LOG.warn(msg) import traceback traceback.print_exc() sys.exit(1) @@ -129,8 +131,8 @@ def importData(database, filename, callback=None, cl=0): return except ExpatError, msg: if cl: - print "Error reading %s" % filename - print "The file is probably either corrupt or not a valid Gramps database." + LOG.warn("Error reading %s" % filename) + LOG.warn("The file is probably either corrupt or not a valid Gramps database.") sys.exit(1) else: ErrorDialog(_("Error reading %s") % filename, @@ -2456,14 +2458,14 @@ def open_file(filename, cli): xml_file = open(filename, "r") except IOError, msg: if cli: - print "Error: %s could not be opened Exiting." % filename - print msg + LOG.warn("Error: %s could not be opened Exiting." % filename) + LOG.warn(msg) else: ErrorDialog(_("%s could not be opened") % filename, str(msg)) xml_file = None except: if cli: - print "Error: %s could not be opened. Exiting." % filename + LOG.warn("Error: %s could not be opened. Exiting." % filename) else: ErrorDialog(_("%s could not be opened") % filename) xml_file = None @@ -2483,7 +2485,7 @@ def version_is_valid(filename, cli): "version of Gramps and try again." ) % (parser.get_gramps_version(), const.VERSION) if cli: - print msg + LOG.warn(msg) return False else: ErrorDialog(msg) @@ -2501,7 +2503,7 @@ def version_is_valid(filename, cli): 'xmlversion': parser.get_xmlns_version(), } if cli: - print msg + LOG.warn(msg) return False else: ErrorDialog(_('The file will not be imported'), msg) @@ -2521,7 +2523,7 @@ def version_is_valid(filename, cli): 'xmlversion': parser.get_xmlns_version(), } if cli: - print msg + LOG.warn(msg) return True else: WarningDialog(_('Old xml file'), msg)