gradio/js/_website/generate_jsons/generate.py
Freddy Boulton 469fabdaba
Final touches main (#6174)
* remove pinned version

* Remove pins

* add changeset

---------

Co-authored-by: aliabd <ali.si3luwa@gmail.com>
Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2023-10-31 01:59:23 -04:00

40 lines
1.6 KiB
Python

import json
import os
from subprocess import run
from src import changelog, demos, docs, guides
WEBSITE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
GRADIO_DIR = os.path.abspath(os.path.join(WEBSITE_DIR, "..", "..", "gradio"))
def make_dir(root, path):
return os.path.abspath(os.path.join(root, path))
def get_latest_release():
with open(make_dir(GRADIO_DIR, "package.json")) as f:
version = json.load(f)["version"]
with open(make_dir(WEBSITE_DIR, "src/lib/json/version.json"), "w+") as j:
json.dump({
"version": version
}, j)
with open(make_dir(WEBSITE_DIR, "src/lib/json/wheel.json"), "w+") as j:
sha = run(["git", "log", "-1", "--format='%H'"], capture_output=True).stdout.decode("utf-8").strip("'\n")
json.dump({
"wheel": f"https://gradio-builds.s3.amazonaws.com/{sha}/gradio-{version}-py3-none-any.whl"
}, j)
def create_dir_if_not_exists(path):
if not os.path.exists(path):
os.makedirs(path)
create_dir_if_not_exists(make_dir(WEBSITE_DIR, "src/lib/json"))
create_dir_if_not_exists(make_dir(WEBSITE_DIR, "src/lib/json/guides"))
demos.generate(make_dir(WEBSITE_DIR, "src/lib/json/demos.json"))
guides.generate(make_dir(WEBSITE_DIR, "src/lib/json/guides/") + "/")
docs.generate(make_dir(WEBSITE_DIR, "src/lib/json/docs.json"))
changelog.generate(make_dir(WEBSITE_DIR, "src/lib/json/changelog.json"))
get_latest_release()
print("JSON generated! " + make_dir(WEBSITE_DIR, "src/lib/json/"))