def generate_circle_data(): """ Create a JSON file based on current circle members that identifies the level of circle membership. Save this file to S3. """ # circle wall sf = SalesforceConnection() response = sf.query(circle_query) new_dict = _extract_and_map(argument=response, key='Text_For_Donor_Wall__c', value='Membership_Level_TT__c', sort_key='Name') intermediate = _invert_and_aggregate(new_dict) now_sorted = _sort_circle(intermediate) final = _strip_sort_key(now_sorted) json_output = json.dumps(final) push_to_s3(filename='circle-members.json', contents=json_output)
from salesforce import SalesforceConnection import requests import json from s3 import push_to_s3 sf = SalesforceConnection() path = "/services/data/v46.0/analytics/reports/00O6f00000874N2EAI" url = "{}{}".format(sf.instance_url, path) resp = requests.get(url, headers=sf.headers) content = json.loads(resp.text) print(content) the_good_stuff = content["factMap"]["T!T"]["aggregates"][3] print(the_good_stuff) push_to_s3(filename="fmd2021.json", contents=the_good_stuff)
for j in i.findAll('td'): v = j.text.strip() if v in stations: station = v s[station] = [] elif (v != "") and (v not in ignore) and station: s[station].append(v) # Regex to match Last Updated r = re.compile('<\/b>([^\s]+)\s+(.*)(AM|PM)') # Search all of the body of HTML m = r.search(str(soup.body)) # assign the Date to d, time to t, and the Period (AM/PM) to p d = m.group(1).strip() t = m.group(2).strip() p = m.group(3).strip() date = datetime.strptime("%s %s %s" % (d, t, p), "%m/%d/%Y %I:%M %p") s["last modified"] = date.strftime('%s') print(s) s3.push_to_s3("status", str(s)) ## todo: ensure all stations are added to dictionary ## todo: add timezone to ensure correct epoch time
sleep(3) bulk.close_job(job) rows = bulk.get_batch_result_iter(job, batch, parse_csv=True) accts = DataFrame.from_dict(list(rows)) accts.rename(columns={'Id': 'AccountId'}, inplace=True) return opps, accts # Circles print "Fetching Circle data..." generate_circle_data() # Sponsors opps, accts = sf_data(sponsors_query) print "Transforming and exporting to JSON..." json_output = convert_sponsors(opportunities=opps, accounts=accts) print "Saving sponsors to S3..." push_to_s3(filename='sponsors.json', contents=json_output) # Donors opps, accounts = sf_data(donors_query) print "Transforming and exporting to JSON..." json_output = convert_donors(opportunities=opps, accounts=accts) print "Saving donors to S3..." push_to_s3(filename='donors.json', contents=json_output)