def GetUsers(): users = [] query = """ SELECT Id, Username_s__c FROM Account WHERE Support_Package__c in ('Premier', 'Elite', 'Elite VIP') and Account_Status__c = 'Customer' """ # Create object for Salesforce methods sfdc = SalesforceTask(config.sfUser, config.sfPass, config.sfApiToken) results = sfdc.sfdc_query(query) for row in results['results']: user_list = row['Username_s__c'].split(',') for user in user_list: users.append(user.strip()) return users
import re from env import MySqlTask from env import SalesforceTask 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))
#/usr/bin # -*- coding: utf-8 -*- from env import SalesforceTask from env import MySqlTask import config import re import logging import sys 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) sfdc = SalesforceTask(config.sfUser, config.sfPass, config.sfApiToken) mysqlDb = MySqlTask(config.mysql_username, config.mysql_password, config.mysql_host, config.mysql_database) sfdc_update = {} # Get the last modified timestamp from internal database startTime = mysqlDb.pull_job_timestamp('SFDC_DATASIFT_USER_ID') logging.info("Pulling SFDC_DATASIFT_USER_ID; start time of {0}".format(startTime)) # Pull from SFDC query = "Select Id, DataSift_UserID__c, Name FROM Account WHERE Account_Status__c = 'Customer' and DataSift_UserID__c != '' and LastModifiedDate > {0}".format(startTime) results = sfdc.sfdc_query(query) if results['count'] > 0: for account in results['results']:
users = {} for user in data: if user["Owner"]["Name"] != user[fieldName]: users[user["Id"]] = user["Owner"]["Name"] return users if __name__ == "__main__": try: # 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) logging.info("Logging into SFDC...") ######################## 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"])