--- ZSQLExtend/importFMPXML.py 2008/09/05 19:05:57 1.27 +++ ZSQLExtend/importFMPXML.py 2008/10/06 16:02:31 1.28 @@ -22,7 +22,7 @@ except: fm_ns = 'http://www.filemaker.com/fmpxmlresult' -version_string = "V0.6.1 ROC 2.7.2008" +version_string = "V0.6.2 ROC 6.10.2008" def unicodify(text, withNone=False): """decode str (utf-8 or latin-1 representation) into unicode object""" @@ -160,6 +160,7 @@ class xml_handler: self.replace_table = getattr(options,"replace_table",None) self.backup_table = getattr(options,"backup_table",None) self.read_before_update = getattr(options,"read_before_update",None) + self.debug_data = getattr(options,"debug_data",None) self.logger.debug("dsn: "+repr(getattr(options,"dsn",None))) self.logger.debug("table: "+repr(self.table)) @@ -172,6 +173,7 @@ class xml_handler: self.logger.debug("replace_table: "+repr(self.replace_table)) self.logger.debug("backup_table: "+repr(self.backup_table)) self.logger.debug("read_before_update: "+repr(self.read_before_update)) + self.logger.debug("debug_data: "+repr(self.debug_data)) self.dbIDs = {} self.rowcnt = 0 @@ -468,7 +470,8 @@ class xml_handler: # update existing row (by id_field) if self.read_before_update: # read data - self.logger.debug("update check: %s = %s"%(id_val, args)) + if self.debug_data: + self.logger.debug("update check: %s = %s"%(id_val, args)) oldrow = SimpleSearch(self.db, self.selQuery, [id_val], ascii=self.ascii_db) #i = 0 #for v in oldrow[0]: @@ -476,19 +479,22 @@ class xml_handler: # i += 1 if tuple(oldrow[0]) != tuple(args): # data has changed -- update - self.logger.debug("really update: %s = %s"%(id_val, args)) + if self.debug_data: + self.logger.debug("really update: %s = %s"%(id_val, args)) args.append(id_val) # last arg is id SimpleSearch(self.db, self.updQuery, args, ascii=self.ascii_db) else: # always update - self.logger.debug("update: %s = %s"%(id_val, args)) + if self.debug_data: + self.logger.debug("update: %s = %s"%(id_val, args)) args.append(id_val) # last arg is id SimpleSearch(self.db, self.updQuery, args, ascii=self.ascii_db) else: # create new row - self.logger.debug("insert: %s"%args) + if self.debug_data: + self.logger.debug("insert: %s"%args) SimpleSearch(self.db, self.addQuery, args, ascii=self.ascii_db) #self.logger.info(" row:"+"%d (%s)"%(self.rowcnt,id_val)) @@ -618,6 +624,9 @@ if __name__ == "__main__": opars.add_option("-d", "--debug", default=False, action="store_true", dest="debug", help="debug mode (more output)") + opars.add_option("--debug-data", default=False, action="store_true", + dest="debug_data", + help="debug mode for data (even more output)") (options, args) = opars.parse_args()