from env import ZendeskTask if config.logLevel == "info": logging.basicConfig(format='%(asctime)s | %(levelname)s | %(filename)s | %(message)s', level=logging.INFO, filename=config.logFile) else: logging.basicConfig(format='%(asctime)s | %(levelname)s | %(filename)s | %(message)s', level=logging.DEBUG, filename=config.logFile) if __name__ == "__main__": # Create object for internal database methods (mySQL) mysqlDb = MySqlTask(config.mysql_username, config.mysql_password, config.mysql_host, config.mysql_database) # Create object for Salesforce methods sfdc = SalesforceTask(config.sfUser, config.sfPass, config.sfApiToken) # Create object for Zendesk methods zd = ZendeskTask(config.zenURL, config.zenAgent, config.zenPass, config.zenToken) ### Pull SFDC Contact Info to Zendesk ### try: sfdcLastModified = sfdc.sfdc_timestamp() logging.info("Current Salesforce Timestamp: {0}".format(sfdcLastModified)) except Exception, err: logging.error(err) sys.exit() # Get the last modified timestamp from internal database startTime = { "startTime" : mysqlDb.pull_job_timestamp('SFDC_CONTACT_LM_PULL') } logging.info("Pulling an internal start time of {0}".format(startTime)) ##### Extract modified SFDC Contacts##### logging.info("Pulling Authorized Support Contacts from Salesforce")
timeToConvert = datetime.fromtimestamp(time.mktime(time.strptime(origDateTime, timeFormat))) #print timeToConvert if not offset.find("+"): minuteOffset = float(offset[1:]) * .6 return str(timeToConvert - timedelta(minutes=minuteOffset)) else: minuteOffset = float(offset[1:]) * .6 return str(timeToConvert + timedelta(minutes=minuteOffset)) if __name__ == "__main__": logging.info("Running incremental Zendesk export...") # Create object for Zendesk queries zd = ZendeskTask(config.zenURL, config.zenAgent, config.zenPass, config.zenToken) # Create object for internal database methods (mySQL) zendeskDb = MySqlTask(config.zendeskMySql['username'], config.zendeskMySql['password'], config.zendeskMySql['host'], config.zendeskMySql['database']) zendeskDb.connect() # Grab the last time Accounts were successfully updated start_time = zendeskDb.pull_job_timestamp("INCREMENTAL_EXPORT") logging.info("INCREMENTAL_EXPORT: start_time={0}".format(start_time)) try: tickets = zd.get_tickets(start_time)
logging.info("Sucessfully opened configuration file.") f.close() except Exception, err: logging.exception(err) sys.exit(1) # Create object for internal database methods (mySQL) mysqlDb = MySqlTask(config['mysql_username'], config['mysql_password'], config['mysql_host'], config['mysql_database']) # Create object for Salesforce methods sfdc = SalesforceTask(config['sfUser'], config['sfPass'], config['sfApiToken']) # Create object for Zendesk methods zd = ZendeskTask(config['zenURL'], config['zenAgent'], config['zenPass'], config['zenToken']) ### Pull SFDC Account Info to Zendesk Organizations ### try: sfdcLastModified = sfdc.sfdc_timestamp() logging.info("Current Salesforce Timestamp: {0}".format(sfdcLastModified)) except Exception, err: logging.exception(err) sys.exit() # Get the last modified timestamp from internal database startTime = mysqlDb.pull_job_timestamp('SFDC_ACCOUNTS_LAST_MODIFIED') logging.info("Pulling SFDC_ACCOUNTS_LAST_MODIFIED; start time of {0}".format(startTime)) ##### Extract all SFDC Accounts ##### logging.info("Pulling Accounts from Salesforce")