A Client-side Command Line App in Python

import sys,requests,json

BASE_URL =’http://raps’

def printLightToconsole(light):
print(‘light {0} has house code of {1} and unit code of {2}’.
format(light[‘lightId’],light[‘houseCode’],light[‘unitCode’]))

def printSingleLight(lightId):
returnedJson = requests.get(BASE_URL+’/’+lightId).json()
printfSingleLight(returnedJson)

def printAllLights():
returnedJson = requests.get(BASE_URL).json()
for light in returnedJson[‘light’]
printLightToconsole(light)

def addLight(lightId,houseCode,unitCode):
lightsJson = json.dumps({“lightId”:lightId,”houseCode”:houseCode,”unitCode”:unitCode})
requestHeaders = {‘content-type’:’application/json’,’Accept’:’text/plain’}
requests.post(BASE_URL,data=lightsJson,headers=requestHeaders)
def setLightState(lightId,command):
requests.put(BASE_URL+’/{0}/{1}’.format(lightId,command))

def deleteLight(lightId):
requests.delete(BASE_URL+’/’+lightId)

def process(argv):
if(argv[0] == ‘getall’):
printAllLights()
elif(argv[0] == ‘get’)
printSingleLight(argv[1])
elif(argv[0] == ‘add’)
addLight(argv[1],argv[2],argv[3])
elif(argv[0] == ‘set’)
setLightState(argv[1],argv[2])
elif(argv[0] == ‘delete’)
deleteLight(argv[1])

if __name__ == ‘__main__’:
process(sys.argv[1:])

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s