/
testing.py
136 lines (107 loc) · 4.11 KB
/
testing.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
from urllib2 import Request, urlopen, URLError
import urllib
import json
#BackEndURL = 'http://ec2-35-162-32-145.us-west-2.compute.amazonaws.com:5000'
BackEndURL = 'https://python-hello-world-flask-amulmehta-2232.mybluemix.net'
def getLatLug(address):
KEY = 'AIzaSyC6J06KCLzmvuoab3ve5asK0ygAOvF2wVc'
address = address.replace(' ','+')
link = 'https://maps.googleapis.com/maps/api/geocode/json?address={}&key={}'.format(address,KEY)
request = Request(link)
try:
response = urlopen(request)
content = json.loads(response.read())
lat = content['results'][0]['geometry']['location']['lat']
lng = content['results'][0]['geometry']['location']['lng']
return (lat,lng)
except URLError, e:
print('No GeoCode. Got an error code:', e)
def getBalance():
url = 'http://ec2-35-162-32-145.us-west-2.compute.amazonaws.com:5000/balance'
post_fields = {'userId':123}
request = Request(url+'?'+urllib.urlencode(post_fields))
try:
response = urlopen(request)
content = json.loads(response.read())
return content['balance']
except URLError, e:
print('No Balance. Got an error code:', e)
def getNearestBank(location):
lat,lng = location
url = BackEndURL+'/nearestLocation'
post_fields = {"latitude": lat, "longitude": lng}
link = url +'?' + urllib.urlencode(post_fields)
try:
request = Request(link)
#request.get_method = lambda: "POST"
response = urlopen(request)
content = json.loads(response.read())
return content['nearestLocations']
except URLError, e:
print('Unable to get nearest bank. Got an error code:', e)
def getHour(location,day):
lat,lng = location
url = BackEndURL + '/openHours'
post_fields = {"latitude": lat, "longitude": lng, "day": day}
link = url +'?' + urllib.urlencode(post_fields)
try:
request = Request(link)
response = urlopen(request)
content = json.loads(response.read())
return content['openHours']
except URLError, e:
print('Unable to get Hours, Got an error code: ', e)
def transfer(name,amount):
url = BackEndURL + '/transferMoney'
post_fields = {'name':name,'amount':amount}
link = url +'?' + urllib.urlencode(post_fields)
try:
request = Request(link)
response = urlopen(request)
content = json.loads(response.read())
message = content['message']
amount = message.split(' ')[0]
message = message[len(amount)+1:]
if amount != 'Sorry,':
amount = "{0:.2f}".format(round(float(amount),2)).split('.')
amount = '{} dollars and {} cents '.format(amount[0], amount[1] if amount[1]!='00' else '')
return amount+message+'.'
return content['message']+'.'
except URLError, e:
print('Unable to transfer, Got an error code: ', e)
def appointment(date,time,location):
url = BackEndURL + '/scheduleAppointment'
post_fields = {'time':time,'day':date,'latitude':location[0],'longitude':location[1]}
link = url + '?' + urllib.urlencode(post_fields)
#print(link)
try:
request = Request(link)
response = urlopen(request)
content = json.loads(response.read())
return content['message']
except URLError, e:
print('Unable to make appointment, Got an error code: ', e)
def predict(month,year):
url = BackEndURL + '/predict'
post_fields = {'month':month,'year':year}
link = url + '?' + urllib.urlencode(post_fields)
try:
request = Request(link)
response = urlopen(request)
content = json.loads(response.read())
return content['predict']
except URLError, e:
print('Unable to generate prediction, Got an error code: ', e)
import socket # Import socket module
def sendToApp(message):
url = '35.22.103.23'
port = 6000
s = socket.socket()
s.connect((url, port))
s.sendall(message)
s.close()
#print 'get balance',getBalance()
bostonLocation = getLatLug('detroit')
#print getNearestBank(bostonLocation)
print appointment('2017-01-22','13:30',bostonLocation)
sendToApp('Here I am! From Xueguang')