-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WIFI-6930: Adding function for creating a device reservation on a per…
…fecto device (#387) * WIFI-6930: Adding function for creating a device reservation on a perfecto device Signed-off-by: Ajaydeep Grewal <[email protected]> * Adding reservation update and delete functions Signed-off-by: Ajaydeep Grewal <[email protected]>
- Loading branch information
1 parent
24e3d76
commit b5ccaa7
Showing
1 changed file
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
'''This file will have perfecto reservation related functions''' | ||
import time | ||
import requests | ||
|
||
# Creates a reservation based on the deviceID. | ||
# E.g. perfecto_device_reservation.reservation_device(request,"09.02.2022 13:52:00","09.02.2022 14:19:00", "3747365744583398") | ||
# Returns reservationId if the reservation is successful.Returns an empty string if the request is not successful | ||
def create(request, startTime, endTime, deviceId): | ||
pattern = '%d.%m.%Y %H:%M:%S' | ||
startTime = int(time.mktime(time.strptime(startTime, pattern)))*1000 | ||
endTime = int(time.mktime(time.strptime(endTime, pattern)))*1000 | ||
securityToken = request.config.getini("securityToken") | ||
perfectoURL = request.config.getini("perfectoURL") | ||
url = f"https://{perfectoURL}.perfectomobile.com/services/reservations?Operation=create&securityToken={securityToken}&StartTime=" + str(startTime) + "&EndTime=" + str(endTime) + "&ResourceIds=" + deviceId | ||
print("url" + url) | ||
resp = requests.get(url=url) | ||
if resp.status_code == 200: | ||
print("Request was successful") | ||
data = resp.json() | ||
reservationId = data["reservationIds"][0] | ||
print(f"ReservationId: {reservationId}") | ||
return reservationId | ||
else: | ||
print("Request was not successful") | ||
print(resp.content) | ||
return "" | ||
|
||
# Deletes an already created reservation | ||
# E.g. perfecto_device_reservation.delete(request,"114").This reservationId is returned from 'create' function | ||
# Returns True if the request is successfully deleted, False otherwise | ||
def delete(request, reservationId): | ||
securityToken = request.config.getini("securityToken") | ||
perfectoURL = request.config.getini("perfectoURL") | ||
url = f"https://{perfectoURL}.perfectomobile.com/services/reservations/{reservationId}?operation=delete&securityToken={securityToken}" | ||
resp = requests.get(url=url) | ||
if resp.status_code == 200: | ||
print(f"Request was successful. Successfully deleted reservation {reservationId}") | ||
return True | ||
else: | ||
print(f"Request was not successful.Not able to delete reservation {reservationId}") | ||
print(resp.content) | ||
return "" | ||
|
||
# Updates an already created reservation | ||
# E.g. perfecto_device_reservation.update(request,"15.02.2022 14:52:00","15.02.2022 15:19:00", "117").This reservationId is returned from 'create' function | ||
# Returns True if the request is successfully updated, False otherwise | ||
def update(request, startTime, endTime, reservationId): | ||
pattern = '%d.%m.%Y %H:%M:%S' | ||
startTime = int(time.mktime(time.strptime(startTime, pattern)))*1000 | ||
endTime = int(time.mktime(time.strptime(endTime, pattern)))*1000 | ||
securityToken = request.config.getini("securityToken") | ||
perfectoURL = request.config.getini("perfectoURL") | ||
url = f"https://{perfectoURL}.perfectomobile.com/services/reservations/{reservationId}?Operation=update&securityToken={securityToken}&StartTime=" + str(startTime) + "&EndTime=" + str(endTime) | ||
print("url" + url) | ||
resp = requests.get(url=url) | ||
if resp.status_code == 200: | ||
print(f"Request was successful. Successfully updated the reservation {reservationId}") | ||
data = resp.json() | ||
return True | ||
else: | ||
print(f"Request was not successful.Not able to delete reservation {reservationId}") | ||
print(resp.content) | ||
return False |