refactor: rename RANDOM_FILE_PICKER_MEME_FOLDER to RANDOM_FILE_PICKER_MOVE_FOLDER
This commit is contained in:
+14
-14
@@ -6,7 +6,7 @@ import pathlib
|
|||||||
import requests
|
import requests
|
||||||
|
|
||||||
WEBHOOK_URL = os.environ.get("RANDOM_FILE_PICKER_WEBHOOK_URL", None)
|
WEBHOOK_URL = os.environ.get("RANDOM_FILE_PICKER_WEBHOOK_URL", None)
|
||||||
MEME_FOLDER = os.environ.get("RANDOM_FILE_PICKER_MEME_FOLDER", None)
|
MOVE_FOLDER = os.environ.get("RANDOM_FILE_PICKER_MOVE_FOLDER", None)
|
||||||
|
|
||||||
SUPPORTED_EXTENSIONS = [
|
SUPPORTED_EXTENSIONS = [
|
||||||
".jpg", ".jpeg",
|
".jpg", ".jpeg",
|
||||||
@@ -83,31 +83,31 @@ def upload_file(file_path: pathlib.Path) -> None:
|
|||||||
response = requests.post(WEBHOOK_URL, files=files, data={}, timeout=60*5)
|
response = requests.post(WEBHOOK_URL, files=files, data={}, timeout=60*5)
|
||||||
response.raise_for_status() # Raise HTTPError for bad responses
|
response.raise_for_status() # Raise HTTPError for bad responses
|
||||||
|
|
||||||
def move_file_to_meme_folder(file_path: pathlib.Path) -> None:
|
def move_file_to_move_folder(file_path: pathlib.Path) -> None:
|
||||||
"""
|
"""
|
||||||
Move the specified file to the meme folder defined by the RANDOM_FILE_PICKER_MEME_FOLDER environment variable.
|
Move the specified file to the move folder defined by the RANDOM_FILE_PICKER_MOVE_FOLDER environment variable.
|
||||||
|
|
||||||
:param file_path: The path of the file to be moved.
|
:param file_path: The path of the file to be moved.
|
||||||
"""
|
"""
|
||||||
if MEME_FOLDER is None:
|
if MOVE_FOLDER is None:
|
||||||
raise ValueError("RANDOM_FILE_PICKER_MEME_FOLDER environment variable is not set.")
|
raise ValueError("RANDOM_FILE_PICKER_MOVE_FOLDER environment variable is not set.")
|
||||||
meme_dir_path = pathlib.Path(MEME_FOLDER)
|
move_dir_path = pathlib.Path(MOVE_FOLDER)
|
||||||
|
|
||||||
# Make sure the meme folder exists
|
# Make sure the move folder exists
|
||||||
if not meme_dir_path.exists():
|
if not move_dir_path.exists():
|
||||||
raise RuntimeError(f"Meme folder '{meme_dir_path}' does not exist.")
|
raise RuntimeError(f"Move folder '{move_dir_path}' does not exist.")
|
||||||
|
|
||||||
# Make sure the file being moved is not already in the meme folder
|
# Make sure the file being moved is not already in the move folder
|
||||||
if file_path.parent.resolve() == meme_dir_path.resolve():
|
if file_path.parent.resolve() == move_dir_path.resolve():
|
||||||
raise RuntimeError("File is already in the meme folder.")
|
raise RuntimeError("File is already in the move folder.")
|
||||||
|
|
||||||
# Formulate the destination path and avoid overwriting existing files
|
# Formulate the destination path and avoid overwriting existing files
|
||||||
base_name = file_path.name
|
base_name = file_path.name
|
||||||
destination_path = meme_dir_path / base_name
|
destination_path = move_dir_path / base_name
|
||||||
if destination_path.exists():
|
if destination_path.exists():
|
||||||
name, ext = destination_path.stem, destination_path.suffix
|
name, ext = destination_path.stem, destination_path.suffix
|
||||||
counter = 1
|
counter = 1
|
||||||
while destination_path.exists():
|
while destination_path.exists():
|
||||||
destination_path = meme_dir_path / f"{name}_{counter}{ext}"
|
destination_path = move_dir_path / f"{name}_{counter}{ext}"
|
||||||
counter += 1
|
counter += 1
|
||||||
_ = file_path.rename(destination_path)
|
_ = file_path.rename(destination_path)
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from textual.app import App, ComposeResult
|
|||||||
from textual.binding import BindingType
|
from textual.binding import BindingType
|
||||||
from textual.widgets import Footer, Header, Label
|
from textual.widgets import Footer, Header, Label
|
||||||
|
|
||||||
from random_file_picker.core import collect_files, move_file_to_meme_folder, upload_file
|
from random_file_picker.core import collect_files, move_file_to_move_folder, upload_file
|
||||||
from random_file_picker.openers import open_file_in_dolphin, open_file_with_default_app, open_file_with_geeqie
|
from random_file_picker.openers import open_file_in_dolphin, open_file_with_default_app, open_file_with_geeqie
|
||||||
|
|
||||||
IMG_EXTENSIONS = [
|
IMG_EXTENSIONS = [
|
||||||
@@ -38,7 +38,7 @@ class MenuApp(App[None]):
|
|||||||
("r", "reopen_file", "Reopen"),
|
("r", "reopen_file", "Reopen"),
|
||||||
("u", "upload", "Upload"),
|
("u", "upload", "Upload"),
|
||||||
("d", "delete", "Delete"),
|
("d", "delete", "Delete"),
|
||||||
("m", "move_to_meme", "Move Meme"),
|
("m", "move_to_folder", "Move File"),
|
||||||
("f", "open_folder", "Open Folder"),
|
("f", "open_folder", "Open Folder"),
|
||||||
("q", "quit", "Quit"),
|
("q", "quit", "Quit"),
|
||||||
]
|
]
|
||||||
@@ -158,15 +158,15 @@ class MenuApp(App[None]):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.query_one("#status", Label).update(f"❌ Delete failed: {str(e)}")
|
self.query_one("#status", Label).update(f"❌ Delete failed: {str(e)}")
|
||||||
|
|
||||||
def move_to_meme_folder(self) -> None:
|
def move_to_move_folder(self) -> None:
|
||||||
"""Move the current file to the meme folder."""
|
"""Move the current file to the move folder."""
|
||||||
if not self.current_file or self.current_index >= len(self.usable_files):
|
if not self.current_file or self.current_index >= len(self.usable_files):
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
move_file_to_meme_folder(self.current_file)
|
move_file_to_move_folder(self.current_file)
|
||||||
_ = self.usable_files.pop(self.current_index)
|
_ = self.usable_files.pop(self.current_index)
|
||||||
self.query_one("#status", Label).update("✅ Moved to meme folder")
|
self.query_one("#status", Label).update("✅ Moved to move folder")
|
||||||
|
|
||||||
# Adjust index if we removed the last file
|
# Adjust index if we removed the last file
|
||||||
if self.current_index >= len(self.usable_files) and self.usable_files:
|
if self.current_index >= len(self.usable_files) and self.usable_files:
|
||||||
@@ -193,8 +193,8 @@ class MenuApp(App[None]):
|
|||||||
def action_delete(self) -> None:
|
def action_delete(self) -> None:
|
||||||
self.delete_file()
|
self.delete_file()
|
||||||
|
|
||||||
def action_move_to_meme(self) -> None:
|
def action_move_to_folder(self) -> None:
|
||||||
self.move_to_meme_folder()
|
self.move_to_move_folder()
|
||||||
|
|
||||||
def action_open_folder(self) -> None:
|
def action_open_folder(self) -> None:
|
||||||
self.open_in_folder()
|
self.open_in_folder()
|
||||||
|
|||||||
Reference in New Issue
Block a user