frogress/consumer_scripts/cat_jam.py

88 lines
1.8 KiB
Python
Executable File

#! /usr/bin/env python3
import argparse
import requests
from typing import List
BASE_URL = "http://127.0.0.1:8000/projects"
def make_slug_url(args: argparse.Namespace) -> str:
if BASE_URL:
url_components = [BASE_URL]
else:
url_components = [args.base_url]
for arg in [args.project, args.version]:
if arg != "":
url_components.append(arg)
return str.join("/", url_components)
def make_url_options(args: argparse.Namespace) -> str:
options: List[str] = []
ret = str.join("&", options)
if ret != "":
return "?" + ret
else:
return ""
def make_url(args: argparse.Namespace) -> str:
url = make_slug_url(args)
url += make_url_options(args)
return url
categories = [
# "default",
# "boot",
# "code",
# "overlays",
"assets",
"archives",
"audio",
"interface",
"misc",
"objects",
"scenes",
"text",
]
def main() -> None:
description = "Make categories."
epilog = ""
parser = argparse.ArgumentParser(
description=description,
epilog=epilog,
formatter_class=argparse.RawTextHelpFormatter,
)
# parser.add_argument("base_url", help="")
parser.add_argument("-p", "--project", help="", default="")
parser.add_argument("-v", "--version", help="", default="")
args = parser.parse_args()
url = make_url(args)
url += "/"
url += "?format=json"
print(url)
request_data = {}
for cat in categories:
request_data[cat] = cat.capitalize()
request_json = {"api_key": "2", "categories": request_data}
print(request_json)
with requests.post(url, json=request_json) as r:
print(r.status_code)
print(r.text)
if __name__ == "__main__":
main()