MissKatyPyro/update.py
yasirarism 9cb6a7d77d
Major change with own custom client decorator (#170)
* Add kbbi and carbon

* add blacklist command

* style: format code with black and isort (#168)

Format code with black and isort

This commit fixes the style issues introduced in bffcf61 according to the output
from Black and isort.

Details: https://app.deepsource.com/gh/yasirarism/MissKatyPyro/transform/4ddb51cc-a1ca-432a-95c4-1fb5388b405a/

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>

* okk

* style: format code with black and isort (#169)

Format code with black and isort

This commit fixes the style issues introduced in 9355c09 according to the output
from Black and isort.

Details: https://app.deepsource.com/gh/yasirarism/MissKatyPyro/transform/172890f8-d001-4812-8380-9a666a9a3bd5/

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>

* jmm

---------

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2023-07-05 13:10:44 +07:00

68 lines
2 KiB
Python

from logging import INFO, StreamHandler, basicConfig, getLogger, handlers
import os
import subprocess
import dotenv
import requests
from git import Repo
if os.path.exists("MissKatyLogs.txt"):
with open("MissKatyLogs.txt", "r+") as f:
f.truncate(0)
basicConfig(
level=INFO,
format="[%(asctime)s - %(levelname)s] - %(name)s.%(funcName)s - %(message)s",
datefmt="%d-%b-%y %H:%M:%S",
handlers=[
handlers.RotatingFileHandler("MissKatyLogs.txt", mode="w+", maxBytes=1000000),
StreamHandler(),
],
)
LOGGER = getLogger(__name__)
ENV_URL = os.environ.get("ENV_URL")
try:
if len(ENV_URL) == 0:
raise TypeError
try:
res = requests.get(ENV_URL)
if res.status_code == 200:
with open("config.env", "wb+") as f:
f.write(res.content)
else:
LOGGER.error(f"config.env err: {res.status_code}")
except Exception as e:
LOGGER.error(f"ENV_URL: {e}")
except:
pass
dotenv.load_dotenv("config.env", override=True)
UPSTREAM_REPO_URL = os.environ.get("UPSTREAM_REPO_URL")
UPSTREAM_REPO_BRANCH = os.environ.get("UPSTREAM_REPO_BRANCH")
if all([UPSTREAM_REPO_URL, UPSTREAM_REPO_BRANCH]):
if os.path.exists(".git"):
subprocess.run(["rm", "-rf", ".git"])
try:
repo = Repo.init()
origin = repo.create_remote("upstream", UPSTREAM_REPO_URL)
origin.fetch()
repo.create_head(UPSTREAM_REPO_BRANCH, origin.refs[UPSTREAM_REPO_BRANCH])
repo.heads[UPSTREAM_REPO_BRANCH].set_tracking_branch(
origin.refs[UPSTREAM_REPO_BRANCH]
)
repo.heads[UPSTREAM_REPO_BRANCH].checkout(True)
ups_rem = repo.remote("upstream")
ups_rem.fetch(UPSTREAM_REPO_BRANCH)
LOGGER.info(f"Successfully update with latest branch > {UPSTREAM_REPO_BRANCH}")
except Exception as e:
LOGGER.error(e)
pass
else:
LOGGER.warning(
"UPSTREAM_REPO_URL or UPSTREAM_REPO_BRANCH is not defined, Skipping auto update"
)