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