Compare commits

..

8 commits

2 changed files with 49 additions and 24 deletions

View file

@ -1,12 +1,27 @@
# skratch # skratch
A cli program to create and edit temporary files # Skratch
Installation: A cli program to quickly create and edit temporary files
mv skratch.py /usr/bin/skratch Requirements:
python3 > 3.6
## Installation:
mv skratch.py /usr/local/bin/skratch
chmod +x /usr/local/bin/skratch
set an env variable for $EDITOR and/or $VISUAL in .bashrc set an env variable for $EDITOR and/or $VISUAL in .bashrc
export EDITOR=vi export EDITOR=vi
export VISUAL=geany export VISUAL=geany
## Usage
`skratch` creates a random file in .skratch and opens it in the EDITOR
`-c` clears/deletes all files in .skratch
`-l` lists files in .skratch
`-o <filename>` opens a specific file
`-v` opens the VISUAL editor

View file

@ -11,20 +11,29 @@ def make_dir(d):
os.mkdir(d) os.mkdir(d)
def delete_all(d): def delete_all(d):
if not os.path.exists(d): files = list_all(d)
print("Nothing to delete") if not files:
else: return
for file in os.listdir(d): x = input("Delete the above files? y/N ")
os.remove(d+file) if x.lower() != 'y':
print(f"removing: {d+file}") return
print("Done") for file in files:
f = os.path.join(d,file)
os.remove(f)
print(f"removing: {f}")
print("Done")
def list_all(d): def list_all(d):
if not os.path.exists(d): if not os.path.exists(d):
print("Nothing to list") print("Skratch path doesn't exist")
return 0
files = os.listdir(d)
if files == []:
print("No skratch files exist")
else: else:
for file in os.listdir(d): for file in files:
print(file) print(file)
return files
def get_editor(use_v): def get_editor(use_v):
v = os.getenv("VISUAL") v = os.getenv("VISUAL")
@ -36,17 +45,17 @@ def get_editor(use_v):
return e return e
def mkstemp(fp): def mkstemp(fp):
if fp[-6:] == "XXXXXX": if fp[-6:] != "XXXXXX":
for x in range(0,1000):
r = ''.join(random.choices(string.ascii_letters, k=6))
fp = fp[:-6] + r
if not os.path.exists(fp):
return fp
print("Error: Could not create new file, try running skratch -c and try again")
return None
else:
print(f'Error: mkstemp got filepath: {fp}') print(f'Error: mkstemp got filepath: {fp}')
return None return None
for x in range(0,1000):
r = ''.join(random.choices(string.ascii_letters, k=6))
fp = fp[:-6] + r
if not os.path.exists(fp):
return fp
print("Error: Could not create new file, try running skratch -c and try again")
return None
def run(editor, sk_path, filename=None): def run(editor, sk_path, filename=None):
if not filename: if not filename:
@ -80,6 +89,7 @@ def main():
group.add_argument( group.add_argument(
"-o", "-o",
metavar="<file>",
help="open file", help="open file",
action="store") action="store")