Skip to content

Commit

Permalink
v2.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
misterrager8 committed Mar 7, 2023
1 parent f2129c9 commit 85e6ab1
Show file tree
Hide file tree
Showing 14 changed files with 726 additions and 789 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ CodeGarden.egg-info/
.env
*.pyc
.DS_Store
todos.json
todos.txt
4 changes: 2 additions & 2 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022 C.N. Joseph
Copyright (c) 2023 C.N. Joseph

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
6 changes: 1 addition & 5 deletions code_garden/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ def create_app(config):
app.config.from_object(config)

with app.app_context():
from code_garden.views.repositories import repositories
from code_garden.views.todos import todos

app.register_blueprint(repositories)
app.register_blueprint(todos)
from . import api

return app
29 changes: 1 addition & 28 deletions code_garden/__main__.py
Original file line number Diff line number Diff line change
@@ -1,42 +1,15 @@
import webbrowser

import click
import requests

from code_garden import config, create_app
from code_garden.models import Repository
from . import config, create_app


@click.group()
def cli():
pass


@cli.command()
@click.option(
"--name", "-n", prompt="\n".join([i.name for i in Repository.all()]) + "\n"
)
def todos(name: str):
repo_ = Repository(config.HOME_DIR / name)
for i in repo_.todos:
if i.data["done"] == False:
click.secho(i.data["description"], fg="green")


@cli.command()
@click.option("--name", "-n")
@click.option("--description", "-d", prompt=True)
def new(name: str, description: str):
name_ = (
name
or f"{requests.get('http://random-word-form.herokuapp.com/random/adjective').json()[0]}-{requests.get('https://random-word-form.herokuapp.com/random/noun').json()[0]}"
)
repo_ = Repository(config.HOME_DIR / name_)
repo_.init(description)

click.secho(f"{name_} created.", fg="green")


@cli.command()
@click.option("--debug", "-d", is_flag=True)
def web(debug: bool):
Expand Down
151 changes: 151 additions & 0 deletions code_garden/api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
from flask import current_app, render_template, request

from . import config
from .models import Branch, IgnoreItem, Repository, Todo


@current_app.get("/")
def index():
return render_template("index.html", env=current_app.config["ENV"])


@current_app.get("/settings")
def settings():
return dict(port=config.PORT, home_dir=str(config.HOME_DIR))


@current_app.get("/repositories")
def repositories():
return dict(repositories_=[i.to_dict() for i in Repository.all()])


@current_app.post("/commit")
def commit():
repository_ = Repository(request.form.get("name"))
repository_.commit(request.form.get("msg"))

return ""


@current_app.post("/create_repository")
def create_repository():
repository_ = Repository(request.form.get("name"))
repository_.init(request.form.get("brief_descrip"))
return repository_.to_dict()


@current_app.get("/repository")
def repository():
repository_ = Repository(request.args.get("name"))
return repository_.to_dict()


@current_app.get("/delete_repository")
def delete_repository():
repository_ = Repository(request.args.get("name"))
repository_.delete()
return ""


@current_app.post("/clone_repository")
def clone_repository():
Repository.clone(request.form.get("url"))

return ""


@current_app.post("/edit_readme")
def edit_readme():
repository_ = Repository(request.form.get("name"))
repository_.edit_readme(request.form.get("content"))
return ""


@current_app.post("/create_branch")
def create_branch():
branch_ = Branch(request.form.get("repository"), request.form.get("name"))
branch_.create()

return ""


@current_app.get("/delete_branch")
def delete_branch():
branch_ = Branch(request.args.get("repository"), request.args.get("name"))
branch_.delete()

return ""


@current_app.get("/checkout_branch")
def checkout_branch():
branch_ = Branch(request.args.get("repository"), request.args.get("name"))
branch_.checkout()

return ""


@current_app.get("/merge_branch")
def merge_branch():
branch_ = Branch(request.args.get("repository"), request.args.get("name"))
branch_.merge(request.args.get("other_branch"))

return ""


@current_app.post("/create_todo")
def create_todo():
todo_ = Todo(request.form.get("repository"), request.form.get("name"))
todo_.create()

return ""


@current_app.post("/edit_todo")
def edit_todo():
Todo.edit(
request.form.get("repository"),
int(request.form.get("id")),
request.form.get("new_name"),
)

return ""


@current_app.get("/delete_todo")
def delete_todo():
Todo.delete(request.args.get("repository"), int(request.args.get("id")))

return ""


@current_app.post("/create_ignore")
def create_ignore():
ignore_ = IgnoreItem(request.form.get("repository"), request.form.get("name"))
ignore_.create()

return ""


@current_app.get("/delete_ignore")
def delete_ignore():
IgnoreItem.delete(request.args.get("repository"), int(request.args.get("id")))

return ""


@current_app.get("/reset_all")
def reset_all():
repo_ = Repository(request.args.get("name"))
repo_.reset_all()

return ""


@current_app.post("/run_command")
def run_command():
Repository(request.form.get("repository")).run_command(
request.form.get("cmd").split()
)

return ""
2 changes: 0 additions & 2 deletions code_garden/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,3 @@

HOME_DIR = Path(os.getenv("home_dir"))
PORT = os.getenv("port")

settings_dict = dict(HOME_DIR=str(HOME_DIR), PORT=PORT)
Loading

0 comments on commit 85e6ab1

Please sign in to comment.