|
|
|
@ -1,6 +1,6 @@ |
|
|
|
import requests as rq |
|
|
|
import requests as rq |
|
|
|
import re |
|
|
|
import re |
|
|
|
from logging import debug, error, basicConfig |
|
|
|
from logging import debug, error, basicConfig, DEBUG, WARNING, ERROR, INFO |
|
|
|
import json |
|
|
|
import json |
|
|
|
|
|
|
|
|
|
|
|
with open("config.json") as configFile: |
|
|
|
with open("config.json") as configFile: |
|
|
|
@ -17,15 +17,15 @@ def retrieve_return_data(lease_number: str, apiKey: str, details: bool = False) |
|
|
|
""" |
|
|
|
""" |
|
|
|
debug(f"[I] retrieve_return_data: {lease_number} | deatils: {details}") |
|
|
|
debug(f"[I] retrieve_return_data: {lease_number} | deatils: {details}") |
|
|
|
if re.match("\d{3}-\d{7}-\d{3}", lease_number) == None: |
|
|
|
if re.match("\d{3}-\d{7}-\d{3}", lease_number) == None: |
|
|
|
error(f"[!E!] Invalid lease number: {lease_number}") |
|
|
|
error(f"[E] Invalid lease number: {lease_number}") |
|
|
|
return {"error": f"Invalid lease number: {lease_number}"} |
|
|
|
return {"error": f"Invalid lease number: {lease_number}"} |
|
|
|
resp = rq.post(RETURNCENTER_BASE_RL, |
|
|
|
resp = rq.post(RETURNCENTER_BASE_RL, |
|
|
|
json={"action": "get", "lease_number": lease_number, "details": "yes" if details else "no"}, |
|
|
|
json={"action": "get", "lease_number": lease_number, "details": "yes" if details else "no"}, |
|
|
|
headers={"Content-Type": "application/json"}, |
|
|
|
headers={"Content-Type": "application/json"}, |
|
|
|
auth=(apiKey, '')) |
|
|
|
auth=(apiKey, '')) |
|
|
|
if not resp.ok(): |
|
|
|
if not resp.ok: |
|
|
|
error(f"[!E!] retrieve_return_data: response was unsuccessful: {resp.text}") |
|
|
|
error(f"[E] retrieve_return_data: response was unsuccessful: {resp.text}") |
|
|
|
return {"error": f"{resp.text}"} |
|
|
|
return {"error": f"{resp.status_code} | {resp.text}"} |
|
|
|
debug(f"[I] retrieve_return_data: resp: {resp}\n{resp.json()}") |
|
|
|
debug(f"[I] retrieve_return_data: resp: {resp}\n{resp.json()}") |
|
|
|
return dict(resp.json()) |
|
|
|
return dict(resp.json()) |
|
|
|
|
|
|
|
|
|
|
|
@ -42,19 +42,19 @@ def cancel_return(ra_number: str, apiKey: str, cancel_reason: str = "No longer n |
|
|
|
json={"action": "cancel", "ra_number": ra_number, "reason": cancel_reason}, |
|
|
|
json={"action": "cancel", "ra_number": ra_number, "reason": cancel_reason}, |
|
|
|
headers={"Content-Type": "application/json"}, |
|
|
|
headers={"Content-Type": "application/json"}, |
|
|
|
auth=(apiKey, '')) |
|
|
|
auth=(apiKey, '')) |
|
|
|
if not resp.ok(): |
|
|
|
if not resp.ok: |
|
|
|
error(f"[!E!] cancel_return: response was unsuccessful: {resp.text}") |
|
|
|
error(f"[E] cancel_return: response was unsuccessful: {resp.text}") |
|
|
|
return {"error": f"{resp.text}"} |
|
|
|
return {"error": f"{resp.status_code} | {resp.text}"} |
|
|
|
debug(f"[I] cancel_return: resp: {resp}\n{resp.json()}") |
|
|
|
debug(f"[I] cancel_return: resp: {resp}\n{resp.json()}") |
|
|
|
return dict(resp.json()) |
|
|
|
return dict(resp.json()) |
|
|
|
|
|
|
|
|
|
|
|
def search_and_cancel(lease_number: str, apiKey: str, details: bool = False, cancel_reason: str = "No longer needed") -> dict: |
|
|
|
def search_and_cancel(lease_number: str, apiKey: str, details: bool = False, cancel_reason: str = "No longer needed") -> dict: |
|
|
|
searchResult = retrieve_return_data(lease_number, apiKey, details, cancel_reason) |
|
|
|
searchResult = retrieve_return_data(lease_number, apiKey, details, cancel_reason) |
|
|
|
if "error" in searchResult.keys(): |
|
|
|
if "error" in searchResult.keys(): |
|
|
|
error(f"[!E!] search_and_cancel: Failed to find lease number: {lease_number}\n{searchResult}") |
|
|
|
error(f"[E] search_and_cancel: Failed to find lease number: {lease_number}\n{searchResult}") |
|
|
|
return searchResult |
|
|
|
return searchResult |
|
|
|
cancelresult = cancel_return(searchResult["ra_number"], apiKey, cancel_return) |
|
|
|
cancelresult = cancel_return(searchResult["ra_number"], apiKey, cancel_return) |
|
|
|
if "error" in cancelresult.keys(): |
|
|
|
if "error" in cancelresult.keys(): |
|
|
|
error(f"[!E!] search_and_cancel: Failed to cancel RA: {lease_number} | {searchResult['ra_number']}\n{cancelresult}") |
|
|
|
error(f"[E] search_and_cancel: Failed to cancel RA: {lease_number} | {searchResult['ra_number']}\n{cancelresult}") |
|
|
|
return searchResult |
|
|
|
return searchResult |
|
|
|
return {"success": "RA has been canceled"} |
|
|
|
return {"success": "RA has been canceled"} |