You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
|
|
import json
|
|
|
|
import requests
|
|
|
|
|
|
|
|
BASE_URL = "http://localhost:8000"
|
|
|
|
|
|
|
|
def usage():
|
|
|
|
print("Possible actions:\n list [url1] [url2] ...\n upload [url1] [url2] ...\n del [url1] [url2] ...")
|
|
|
|
sys.exit(1)
|
|
|
|
|
|
|
|
def main():
|
|
|
|
try:
|
|
|
|
action = sys.argv[1]
|
|
|
|
except IndexError:
|
|
|
|
usage()
|
|
|
|
|
|
|
|
try:
|
|
|
|
urls = sys.argv[2:]
|
|
|
|
except IndexError:
|
|
|
|
urls = []
|
|
|
|
|
|
|
|
if action == "list":
|
|
|
|
if len(urls) == 0:
|
|
|
|
result = requests.get(f"{BASE_URL}/urls")
|
|
|
|
else:
|
|
|
|
result = requests.post(f"{BASE_URL}/urls", json={"urls": urls})
|
|
|
|
elif action == "upload":
|
|
|
|
result = requests.post(f"{BASE_URL}/urls/upload", json={"urls": urls})
|
|
|
|
elif action == "del":
|
|
|
|
if len(urls) == 0:
|
|
|
|
result = requests.get(f"{BASE_URL}/urls/delete")
|
|
|
|
else:
|
|
|
|
result = requests.post(f"{BASE_URL}/urls/delete", json={"urls": urls})
|
|
|
|
else:
|
|
|
|
usage()
|
|
|
|
|
|
|
|
if result.status_code == 200:
|
|
|
|
if len(result.text) > 0:
|
|
|
|
print(json.dumps(result.json()))
|
|
|
|
else:
|
|
|
|
print("200 OK")
|
|
|
|
else:
|
|
|
|
print(result.text)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|