print data insert = """ INSERT into account_link (datasift_user_id, datasift_username, datasift_email_address, accountid, accountname) VALUES ('%(user_id)s', '%(username)s', '%(email)s', '%(accountid)s', '%(name)s') ON DUPLICATE KEY UPDATE datasift_username = '******', datasift_email_address = '%(email)s', accountid = '%(accountid)s', accountname = '%(name)s' """ % data logging.debug("MySQL Query: {0}".format(insert.encode('utf-8'))) mysqlDb.connect() mysqlDb.execute_query(insert) mysqlDb.commit() sfdc_update[account['Id']].append(r[0][2]) # Append the username returned # Update SFDC with the usernames if len(sfdc_update): data = {} for sfdc_id, usernames in sfdc_update.items(): data[sfdc_id] = ", ".join(usernames) sfdc.update_sfdc_object('Account', 'Username_s__c', data) logging.info("Finished updating SFDC.") try: sfdcLastModified = sfdc.sfdc_timestamp() logging.info("Current Salesforce Timestamp: {0}".format(sfdcLastModified)) except Exception, err: logging.exception(err) sys.exit() mysqlDb.update_job_timestamp('SFDC_DATASIFT_USER_ID', sfdcLastModified) logging.info("Updating SFDC_DATASIFT_USER_ID timestamp.")
######################## SFDC Accounts ######################## # Get the last modified timestamp sfdcLastModified = sfdc.sfdc_timestamp() # Grab the last time Accounts were successfully updated scriptLastRun = mysqlDb.pull_job_timestamp("SFDC_ACCOUNT_OWNERS_LM") query = "SELECT Id, Name, OwnerId, Owner.Name, Account_Owner_Name__c FROM Account WHERE LastModifiedDate > {0}".format( scriptLastRun ) results = sfdc.sfdc_query(query) accountUpdates = processQueryResults(accountOwnerField, results["results"]) if len(accountUpdates): print "Processing {0} Accounts".format(len(accountUpdates)) sfdc.update_sfdc_object("Account", accountOwnerField, accountUpdates, sf_batchSize) mysqlDb.update_job_timestamp("SFDC_ACCOUNT_OWNERS_LM", sfdcLastModified) ######################## SFDC Leads ######################## # Get the last modified timestamp sfdcLastModified = sfdc.sfdc_timestamp() # Grab the last time Leads were successfully updated scriptLastRun = mysqlDb.pull_job_timestamp("SFDC_LEAD_OWNERS_LM") query = "SELECT Id, Name, OwnerId, Owner.Name, Lead_Owner_Name__c FROM Lead WHERE LastModifiedDate > {0}".format( scriptLastRun ) results = sfdc.sfdc_query(query) leadUpdates = processQueryResults(leadOwnerField, results["results"])