moved all of my config into this nix flake

This commit is contained in:
Sebastian Moser
2023-10-28 19:10:37 +02:00
parent 9facde9d3a
commit 112ef46fd2
46 changed files with 3545 additions and 0 deletions

181
mybin/thq Executable file
View File

@@ -0,0 +1,181 @@
#!/usr/bin/env python3
DIR = "/home/me/work/things/storage/thq"
FILE = DIR + "/main.json"
EDITOR = "nvim"
import os
import click
from click_aliases import ClickAliasedGroup
# python.....
true = True
false = False
class JSON:
from json import dumps as stringify
from json import loads as parse
@click.group(cls=ClickAliasedGroup)
def main():
pass
@main.command(aliases=["al"])
def add_link():
global data
lnk = input("LINK: ")
new = {
"type": "link",
"val": lnk
}
data.append(new)
@main.command(aliases=["als"])
def add_links():
global data
lns = []
while true:
lnk = input("LINK: ")
if lnk == "":
break
else:
lns.append(lnk)
new = {
"type": "links",
"val": lns
}
data.append(new)
@main.command(aliases=["ae"])
def add_edit():
os.system(f'{EDITOR} {DIR}/edit-file')
with open(f'{DIR}/edit-file', "r") as file:
st = file.read()
os.remove(f'{DIR}/edit-file')
new = {
"type": "string",
"val": st
}
data.append(new)
@main.command(aliases=["af"])
def add_file():
global data
os.system("mv " + file + " " + DIR + "/files")
name = file.split("/")[-1]
print(name)
new = {
"type": "file",
"val": name
}
data.append(new)
@main.command(aliases=["a"])
@click.argument("text", nargs=-1)
def add(text):
global data
new = {
"type": "string",
"val": " ".join(text)
}
data.append(new)
@main.command(aliases=["g"])
def get():
global data
if len(data) == 0:
print("Nothing to do...")
return
now = data[0]
with open(f'{DIR}/now.json', "w") as file:
file.write(JSON.stringify(now))
data.pop(0)
if now["type"] == "string":
print("now")
elif now["type"] == "link":
os.system("firefox " + now["val"])
elif now["type"] == "links":
for link in now["val"]:
os.system("firefox " + link)
elif now["type"] == "file":
print("FILE: " + now["val"])
#os.system("zath " + now["val"])
@main.command(aliases=["ar"])
def archive_now():
with open(f'{DIR}/now.json', "r") as file:
now = JSON.parse(file.read())
if not os.path.exists(FILE + "/archive.json"):
f = open(FILE + "/archive.json", "w")
f.write(JSON.stringify({"main": []}))
f.close()
with open(f'{DIR}/archive.json', "r+") as ar_file:
archive = JSON.parse(ar_file.read())
archive["main"].append(now)
ar_file.write(JSON.stringify(archive))
@main.command(aliases=["n"])
def now():
with open(f'{DIR}/now.json', "r") as file:
print(file.read())
@main.command()
def all():
global data
print(JSON.stringify(data))
@main.command(aliases=["ea"])
def edit_all():
os.system(f'{EDITOR} {DIR}/main.json')
@main.command(aliases=["l"])
def get_len():
global data
print(len(data))
@main.result_callback()
def process_result(result, **kwargs):
global data
with open(FILE, "w") as file:
file.write(JSON.stringify(data))
#############################################################################
# main
if __name__ == "__main__":
if not os.path.exists(DIR):
os.mkdir(DIR)
os.mkdir(DIR + "/files")
if not os.path.exists(FILE):
f = open(FILE, "w")
f.write(JSON.stringify([]))
f.close()
global data
with open(FILE, "r") as file:
data = JSON.parse(file.read())
main()