mirror of
https://github.com/archlinux/aur.git
synced 2026-02-08 05:02:00 +01:00
Second release
This commit is contained in:
parent
f736363f10
commit
cf485ee015
2 changed files with 105 additions and 24 deletions
9
PKGBUILD
9
PKGBUILD
|
|
@ -1,11 +1,12 @@
|
|||
pkgname=ptodo
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc="My cool python script"
|
||||
pkgver=1.1
|
||||
pkgrel=2
|
||||
pkgdesc="a TUI todolist app written in python"
|
||||
arch=('any')
|
||||
depends=('python' 'python-rich')
|
||||
url='https://github.com/NVitschDEV/ptodo'
|
||||
source=("ptodo.py")
|
||||
sha256sums=('8b46988ddf1a9cbd4ed3579231be0dd4cdd353839ea0cc36bf450377dce34495')
|
||||
sha256sums=('19b0d4ef3b7de0d041efa5d06649999a1e60666a9b0fddcc979f977761f6deed')
|
||||
|
||||
package() {
|
||||
# Installs the script to /usr/bin/ and makes it executable
|
||||
|
|
|
|||
120
ptodo.py
120
ptodo.py
|
|
@ -1,17 +1,19 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import inspect
|
||||
import json
|
||||
import os
|
||||
import pickle
|
||||
import time
|
||||
|
||||
from rich import print as rprint
|
||||
from rich.align import Align
|
||||
from rich.console import Console
|
||||
from rich.panel import Panel
|
||||
from rich.prompt import IntPrompt, Prompt
|
||||
from rich.prompt import Prompt
|
||||
from rich.table import Table
|
||||
|
||||
FILENAME = "TODOLIST.json"
|
||||
PICKLE_FILE = "my_data.pkl"
|
||||
console = Console()
|
||||
|
||||
|
||||
|
|
@ -54,16 +56,82 @@ def get_task_table(todos):
|
|||
return table
|
||||
|
||||
|
||||
logo = r"""
|
||||
[bold #cba6f7]___________________ ________ ________ .____ .___ ____________________[/bold #cba6f7]
|
||||
[bold #cba6f7]\__ ___/\_____ \ \______ \ \_____ \ | | | |/ _____/\__ ___/[/bold #cba6f7]
|
||||
[bold #89b4fa] | | / | \ | | \ / | \| | | |\_____ \ | |[/bold #89b4fa]
|
||||
[bold #89b4fa] | | / | \| ` \ / | \ |___| |/ \ | |[/bold #89b4fa]
|
||||
[bold #89b4fa] |____| \_______ /_______ / \_______ /_______ \___/_______ / |____|[/bold #89b4fa]
|
||||
[#585b70] \/ \/ \/ \/ \/[/#585b70]
|
||||
"""
|
||||
|
||||
|
||||
def colorscemes():
|
||||
global logo
|
||||
print_header()
|
||||
console.print("\n[1] [bold pink]Catppuchin (Mocha)[/bold pink]")
|
||||
console.print("[2] [bold blue1]Tokyo Night[/bold blue1]")
|
||||
console.print("[3] [bold orange]Dracula[/bold orange]")
|
||||
console.print("[4] [bold red]Gruvbox[/bold red]")
|
||||
console.print("[5] [bold blue]Nord[/bold blue]")
|
||||
choice = Prompt.ask("\nChoose", choices=["1", "2", "3", "4", "5"])
|
||||
if choice == "1":
|
||||
logo = inspect.cleandoc(r"""
|
||||
[bold #cba6f7]___________________ ________ ________ .____ .___ ____________________[/bold #cba6f7]
|
||||
[bold #cba6f7]\__ ___/\_____ \ \______ \ \_____ \ | | | |/ _____/\__ ___/[/bold #cba6f7]
|
||||
[bold #89b4fa] | | / | \ | | \ / | \| | | |\_____ \ | |[/bold #89b4fa]
|
||||
[bold #89b4fa] | | / | \| ` \ / | \ |___| |/ \ | |[/bold #89b4fa]
|
||||
[bold #89b4fa] |____| \_______ /_______ / \_______ /_______ \___/_______ / |____|[/bold #89b4fa]
|
||||
[#585b70] \/ \/ \/ \/ \/[/#585b70]
|
||||
""")
|
||||
print_header()
|
||||
time.sleep(1)
|
||||
elif choice == "2":
|
||||
logo = inspect.cleandoc(r"""
|
||||
[bold #7aa2f7]___________________ ________ ________ .____ .___ ____________________[/bold #7aa2f7]
|
||||
[bold #7aa2f7]\__ ___/\_____ \ \______ \ \_____ \ | | | |/ _____/\__ ___/[/bold #7aa2f7]
|
||||
[bold #bb9af7] | | / | \ | | \ / | \| | | |\_____ \ | |[/bold #bb9af7]
|
||||
[bold #bb9af7] | | / | \| ` \ / | \ |___| |/ \ | |[/bold #bb9af7]
|
||||
[bold #bb9af7] |____| \_______ /_______ / \_______ /_______ \___/_______ / |____|[/bold #bb9af7]
|
||||
[#565f89] \/ \/ \/ \/ \/[/#565f89]
|
||||
""")
|
||||
print_header()
|
||||
time.sleep(1)
|
||||
elif choice == "3":
|
||||
logo = inspect.cleandoc(r"""
|
||||
[bold #ff79c6]___________________ ________ ________ .____ .___ ____________________[/bold #ff79c6]
|
||||
[bold #ff79c6]\__ ___/\_____ \ \______ \ \_____ \ | | | |/ _____/\__ ___/[/bold #ff79c6]
|
||||
[bold #bd93f9] | | / | \ | | \ / | \| | | |\_____ \ | |[/bold #bd93f9]
|
||||
[bold #bd93f9] | | / | \| ` \ / | \ |___| |/ \ | |[/bold #bd93f9]
|
||||
[bold #bd93f9] |____| \_______ /_______ / \_______ /_______ \___/_______ / |____|[/bold #bd93f9]
|
||||
[#6272a4] \/ \/ \/ \/ \/[/#6272a4]
|
||||
""")
|
||||
print_header()
|
||||
time.sleep(1)
|
||||
elif choice == "4":
|
||||
logo = inspect.cleandoc(r"""
|
||||
[bold #fb4934]___________________ ________ ________ .____ .___ ____________________[/bold #fb4934]
|
||||
[bold #fb4934]\__ ___/\_____ \ \______ \ \_____ \ | | | |/ _____/\__ ___/[/bold #fb4934]
|
||||
[bold #fabd2f] | | / | \ | | \ / | \| | | |\_____ \ | |[/bold #fabd2f]
|
||||
[bold #fabd2f] | | / | \| ` \ / | \ |___| |/ \ | |[/bold #fabd2f]
|
||||
[bold #fabd2f] |____| \_______ /_______ / \_______ /_______ \___/_______ / |____|[/bold #fabd2f]
|
||||
[#928374] \/ \/ \/ \/ \/[/#928374]
|
||||
""")
|
||||
print_header()
|
||||
time.sleep(1)
|
||||
elif choice == "5":
|
||||
logo = inspect.cleandoc(r"""
|
||||
[bold #88C0D0]___________________ ________ ________ .____ .___ ____________________[/bold #88C0D0]
|
||||
[bold #88C0D0]\__ ___/\_____ \ \______ \ \_____ \ | | | |/ _____/\__ ___/[/bold #88C0D0]
|
||||
[bold #81A1C1] | | / | \ | | \ / | \| | | |\_____ \ | |[/bold #81A1C1]
|
||||
[bold #81A1C1] | | / | \| ` \ / | \ |___| |/ \ | |[/bold #81A1C1]
|
||||
[bold #81A1C1] |____| \_______ /_______ / \_______ /_______ \___/_______ / |____|[/bold #81A1C1]
|
||||
[#4C566A] \/ \/ \/ \/ \/[/#4C566A]
|
||||
""")
|
||||
|
||||
|
||||
def print_header():
|
||||
os.system("cls" if os.name == "nt" else "clear")
|
||||
logo = r"""
|
||||
[bold red]___________________ ________ ________ .____ .___ ____________________[/bold red]
|
||||
[bold red]\__ ___/\_____ \ \______ \ \_____ \ | | | |/ _____/\__ ___/[/bold red]
|
||||
[bold blue1] | | / | \ | | \ / | \| | | |\_____ \ | |[/bold blue1]
|
||||
[bold blue] | | / | \| ` \ / | \ |___| |/ \ | |[/bold blue]
|
||||
[bold blue] |____| \_______ /_______ / \_______ /_______ \___/_______ / |____|[/bold blue]
|
||||
[dim] \/ \/ \/ \/ \/[/dim]
|
||||
"""
|
||||
console.print(Align.center(logo))
|
||||
|
||||
|
||||
|
|
@ -133,10 +201,6 @@ def removeAll_mode(todos):
|
|||
console.print("[red]Invalid number![/red]")
|
||||
|
||||
|
||||
def colorscemes():
|
||||
pass
|
||||
|
||||
|
||||
def app():
|
||||
while True:
|
||||
todos = load_todos()
|
||||
|
|
@ -151,10 +215,10 @@ def app():
|
|||
console.print("[2] [bold blue1]Complete Task[/bold blue1]")
|
||||
console.print("[3] [bold orange]Remove Task[/bold orange]")
|
||||
console.print("[4] [bold red]Remove all[/bold red]")
|
||||
console.print("[5] [bold white]Reload[/bold white]")
|
||||
console.print("[6] [bold white]Exit[/bold white]")
|
||||
console.print("[5] [bold white]Exit[/bold white]")
|
||||
console.print("[6] [bold purple]Settings[/bold purple]")
|
||||
|
||||
choice = Prompt.ask("\nChoose", choices=["1", "2", "3", "4", "5", "6", "exit"])
|
||||
choice = Prompt.ask("\nChoose", choices=["1", "2", "3", "4", "5", "exit", "6"])
|
||||
|
||||
if choice == "1":
|
||||
add_mode(todos)
|
||||
|
|
@ -165,14 +229,30 @@ def app():
|
|||
elif choice == "4":
|
||||
removeAll_mode(todos)
|
||||
elif choice == "5":
|
||||
console.print("[bold yellow]Reload[/bold yellow]")
|
||||
todos = load_todos()
|
||||
elif choice == "6":
|
||||
console.print("[bold yellow]Goodbye![/bold yellow]")
|
||||
break
|
||||
elif choice == "exit":
|
||||
console.print("[bold yellow]Goodbye![/bold yellow]")
|
||||
break
|
||||
elif choice == "6":
|
||||
colorscemes()
|
||||
|
||||
|
||||
def load_logo():
|
||||
global logo
|
||||
if os.path.exists(PICKLE_FILE):
|
||||
try:
|
||||
with open(PICKLE_FILE, "rb") as f:
|
||||
logo = pickle.load(f)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
def save_logo():
|
||||
with open(PICKLE_FILE, "wb") as f:
|
||||
pickle.dump(logo, f)
|
||||
|
||||
|
||||
load_logo()
|
||||
app()
|
||||
save_logo()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue