-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreds.py
46 lines (37 loc) · 1.21 KB
/
creds.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
import random
import datetime
from google.cloud import datastore
def get_stubhub_key(project_id):
return get_lru_key('Stubhub', project_id)
def get_email_key(project_id):
return get_lru_key('Sendgrid', project_id)
###########################
# not used
#def get_random_key(project_id):
# key_list = get_key_list(project_id)
# return random.choice(key_list)
###########################
def get_lru_key(key_type, project_id):
client = datastore.Client(project=project_id)
query = client.query(kind='Creds')
query.add_filter('key_type', '=', key_type)
query.order = ['last_used']
key_iter = query.fetch(1)
for key in key_iter:
key_to_return = key['key']
key['last_used'] = datetime.datetime.utcnow()
client.put(key)
return key_to_return
#def get_key_list(project_id):
# client = datastore.Client(project=project_id)
# query = datastore.Query(client=client, kind='StubhubKey')
# key_iter = query.fetch()
# key_list = []
# for key in key_iter:
# key_list.append(key['key'])
# return key_list
###########################
if __name__ == '__main__':
# key_list = get_key_list('kochman-net-website')
# print 'successfully retrieved ' + str(len(key_list)) + ' keys'
print 'lru key: ' + get_stubhub_key('kochman-net-website')