Compare commits
8 commits
3cdd882b45
...
06965f9762
| Author | SHA1 | Date | |
|---|---|---|---|
| 06965f9762 | |||
| 4a77a03f45 | |||
| 95742a7e15 | |||
| fe069eab7d | |||
| 8f7d484559 | |||
| 5673fe0337 | |||
| 94e42cfe65 | |||
| 13bd3e4703 |
2 changed files with 49 additions and 24 deletions
25
README.md
25
README.md
|
|
@ -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
|
||||||
|
|
|
||||||
48
skratch.py
48
skratch.py
|
|
@ -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")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue