--- ZSQLExtend/ZSQLExtend.py 2007/12/11 15:47:52 1.123 +++ ZSQLExtend/ZSQLExtend.py 2008/02/15 13:05:41 1.124 @@ -357,7 +357,7 @@ class ZSQLExtendFolder(Folder,Persistent return ret - def importXMLFileFMP(self,table,dsn=None,uploadfile=None,update_fields=None,id_field=None,sync_mode=False, + def importXMLFileFMP(self,tables,dsn=None,uploadfile=None,update_fields=None,id_field=None,sync_mode=False, lc_names=True,keep_fields=False,ascii_db=False,replace=False,backup=False, debug=False,log_to_response=False, redirect_url=None,RESPONSE=None): @@ -389,46 +389,53 @@ class ZSQLExtendFolder(Folder,Persistent if not dsn: dsn=self.getConnectionObj().connection_string - - options=Options() - options.dsn=dsn - options.table=table - options.filename=filename - options.update_fields=update_fields - options.id_field=id_field - options.sync_mode=sync_mode - options.lc_names=lc_names - options.replace_table=replace - options.keep_fields=keep_fields - options.ascii_db=ascii_db - options.replace_table=replace - options.backup_table=backup - options.debug=debug - - if RESPONSE and log_to_response: - # set up logging to response as plain text - RESPONSE.setHeader("Content-Type","text/plain; charset=utf-8") - RESPONSE.write("Import FMPXML file...\n\n") - loghandler = logging.StreamHandler(RESPONSE) - if debug: - loghandler.setLevel(logging.DEBUG) - else: - loghandler.setLevel(logging.INFO) - logger = logging.getLogger('db.import.fmpxml') - logger.addHandler(loghandler) - options.use_logger_instance = logger + + tablelist=tables.split(',') + logging.debug("tablelist: %s" %tablelist) + #table=tables + + for table in tablelist : + logging.debug("table: %s" %table) + options=Options() + options.dsn=dsn + options.table=table + options.filename=filename + options.update_fields=update_fields + options.id_field=id_field + options.sync_mode=sync_mode + options.lc_names=lc_names + options.replace_table=replace + options.keep_fields=keep_fields + options.ascii_db=ascii_db + options.replace_table=replace + options.backup_table=backup + options.debug=debug + + if RESPONSE and log_to_response: + # set up logging to response as plain text + RESPONSE.setHeader("Content-Type","text/plain; charset=utf-8") + RESPONSE.write("Import FMPXML file...\n\n") + loghandler = logging.StreamHandler(RESPONSE) + if debug: + loghandler.setLevel(logging.DEBUG) + else: + loghandler.setLevel(logging.INFO) + logger = logging.getLogger('db.import.fmpxml') + logger.addHandler(loghandler) + options.use_logger_instance = logger - importFMPXML(options) + importFMPXML(options) + + + if RESPONSE and log_to_response: + loghandler.flush() + RESPONSE.write("\n\n DONE!") + + elif RESPONSE and redirect_url: + RESPONSE.redirect(redirect_url) + os.remove(filename) - - if RESPONSE and log_to_response: - loghandler.flush() - RESPONSE.write("\n\n DONE!") - return - - if RESPONSE and redirect_url: - RESPONSE.redirect(redirect_url) def generateIndex(self,field,index_name,table,RESPONSE=None):