Exemple #1
0
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)
Exemple #3
0
    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

Exemple #4
0
        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)