This commit is contained in:
.[d]. 2023-02-06 16:50:40 -06:00
parent 56d83d2e9b
commit 3a33d083d7

View File

@ -1,10 +1,10 @@
####################################################################################################################################### SOF
import curses
import os
import shutil
import sys
from curses import (A_REVERSE, KEY_DOWN, KEY_ENTER, KEY_LEFT, KEY_RIGHT,
KEY_UP, ascii, wrapper)
import curses
from imghdr import what as is_file_an_image
from os import chdir, listdir, path
from pathlib import Path
@ -16,6 +16,66 @@ from tkinter.filedialog import askopenfile
from PIL import Image, ImageTk
SHOWHELP=True
MOTD=[0,1]
MOTD[0]=f"""hotkeys:
m: shuffle on/off
p: autopump on/off
r: cycle image-rendering modes
t: display text on/off
up: increase autopump inverval
down: decrease autopump interval
left: change image
right: change image
s: move image to _keep direcotry
d: move image to _drop directory
q: quit program
Change SHOWHELP=True to SHOWHELP=False to remove this message.
"""
MOTD[1]=f"""base_picture_directory:
??: the directory you want to load images from
string: path
e.g. /home/user/Pictures
starting_index:
??: index number you want to start from
integer: index
e.g. 3
rendering mode:
??: the rendering mode you want to use to start
integer: index
0: image y screen-constrained - scales the image to the height of the screen
1: image x screen-constrained - scales the image to the width of the screen
2: image x,y screen-constrained - scales the image to the height,width of the screen
3: image x,y image-thumbnail - scales image within screen-resolution
4: image original - displays image at normal scale
e.g. 3
pump_mode:
??: this changes images automatically
integer: boolean
0: off
1: on
e.g. 1
pump_interval:
??: the interval in seconds between pictures changing automatically
float: value
e.g. 3.5
shuffle:
??: randomize order that images are loaded
integer: boolean
e.g. 1
Change SHOWHELP=True to SHOWHELP=False to remove this message.
command line:
usage: {sys.argv[0]} base_picture_directory_path starting_index rendering_mode pump_mode pump_interval shuffle
"""
###########################################################################################################################################
class DR1P1M4G3():
@ -332,30 +392,31 @@ def main(screen):
curses.init_pair(4,3,0)
ch, first, selected, paths = 0, 0, 0, [ x for x in listdir() if os.path.isdir(x) ]
screen.erase()
try:
screen.addstr(0,0,'SELECT A BASE DIRECTORY',curses.color_pair(2))
screen.addstr(': ',curses.color_pair(1))
screen.addstr('<< ',curses.color_pair(4))
screen.addstr('LEFT',curses.color_pair(3))
screen.addstr('/',curses.color_pair(1))
screen.addstr('RIGHT',curses.color_pair(3))
screen.addstr('/',curses.color_pair(1))
screen.addstr('ENTER',curses.color_pair(3))
screen.addstr(' >>',curses.color_pair(4))
screen.addstr(1,0,'[ ',curses.color_pair(1))
screen.addstr("THE CURRENT DIRECTORY",curses.color_pair(2))
screen.addstr(': ',curses.color_pair(1))
screen.addstr(f"{os.getcwd()}",curses.color_pair(3))
screen.addstr(' ]',curses.color_pair(1))
screen.addstr(2,0,'',curses.color_pair(1))
if SHOWHELP:
try:
screen.addstr(0,0,'SELECT A BASE DIRECTORY',curses.color_pair(2))
screen.addstr(': ',curses.color_pair(1))
screen.addstr('<< ',curses.color_pair(4))
screen.addstr('LEFT',curses.color_pair(3))
screen.addstr('/',curses.color_pair(1))
screen.addstr('RIGHT',curses.color_pair(3))
screen.addstr('/',curses.color_pair(1))
screen.addstr('ENTER',curses.color_pair(3))
screen.addstr(' >>',curses.color_pair(4))
screen.addstr(1,0,'[ ',curses.color_pair(1))
screen.addstr("THE CURRENT DIRECTORY",curses.color_pair(2))
screen.addstr(': ',curses.color_pair(1))
screen.addstr(f"{os.getcwd()}",curses.color_pair(3))
screen.addstr(' ]',curses.color_pair(1))
screen.addstr(2,0,'',curses.color_pair(1))
screen.addstr(3,0,'Change SHOWHELP=True to SHOWHELP=False to remove this message.',curses.color_pair(3))
except Exception as e:
pass
except Exception as e:
pass
screen.refresh()
sleep(3)
screen.refresh()
sleep(6)
while ch != ascii.ESC:
height, _ = screen.getmaxyx()
@ -387,12 +448,17 @@ def main(screen):
###########################################################################################################################################
if __name__=="__main__":
#########################################################################################################################################
if SHOWHELP:
print(MOTD[0])
print('press enter key to continue')
input()
print(MOTD[1])
print('press enter key to continue')
input()
#########################################################################################################################################
DEBUG=True
DEBUG=False
if DEBUG:
USERPATH=str(wrapper(main))
IMGINDEX=int(0)
RENDMODE=int(0)
PUMPMODE=int(1)
@ -417,7 +483,7 @@ if __name__=="__main__":
if not DEBUG:
try:
IMGINDEX=int(sys.argv[2])
print(f'[ specified user inded: {IMGINDEX} ]')
print(f'[ specified user index: {IMGINDEX} ]')
except:
IMGINDEX=0
print(f'[ no image index was specificed: defaulting to 0 ]')