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.
49 lines
1.2 KiB
49 lines
1.2 KiB
#!/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() |