-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
67 lines (54 loc) · 2.1 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from datetime import datetime
from flask import Flask, render_template
import json
import requests
from job_dict import job_dict
app = Flask(__name__)
#testmode = os.getenv("TESTMODE", False)
def connectSheets():
url = 'https://spreadsheets.google.com/feeds/list/1zBeYVkoyLavJIIBKJ9aG8ID_ZtLe-UHeKK72hk_ZKfE/1/public/values?alt=json'
jobs = json.loads(requests.get(url).text)['feed']['entry']
job_dict = []
for each in jobs:
timestamp = datetime.strptime(each['gsx$timestamp']['$t'].strip(), '%m/%d/%Y')
postedby = each['gsx$postedby']['$t']
company = each['gsx$company']['$t']
role = each['gsx$role']['$t']
location = each['gsx$location']['$t']
remote = each['gsx$remote']['$t']
remoterestrictions = each['gsx$remoterestrictions']['$t']
salaryrange = each['gsx$salaryrange']['$t']
visasponsorship = each['gsx$visasponsorship']['$t']
url = each['gsx$url']['$t']
contact = each['gsx$contact']['$t']
descriptionornotes = each['gsx$descriptionornotes']['$t']
job_dict.append({"timestamp": timestamp,
"postedby" : postedby,
"location" : location,
"company": company,
"role": role,
"remote" : remote,
"remoterestrictions" : remoterestrictions,
"salaryrange" : salaryrange,
"visasponsorship" : visasponsorship,
"url" : url,
"contact" : contact,
"descriptionornotes" : descriptionornotes
})
print('job dict:')
#print(job_dict)
print('\n\n\n')
#job_dict.reverse()
#sorted(job_dict, key=lambda item: (item['timestamp']))
job_dict = sorted(job_dict, key=lambda item: item['timestamp'])
return job_dict
@app.route('/')
def main():
jobs = connectSheets()
#print(jobs)
#jobs = job_dict
#jobs.reverse()
#sorted(each.items(), reverse=True)
return render_template('base.html', jobs=jobs)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port='8001')