mirror of https://github.com/gmbrax/Pilgrim.git
Refactor the edit and add photo modal and remove the hashing methods out of the modals
This commit is contained in:
parent
b14d775d87
commit
0567495ff9
|
|
@ -15,12 +15,6 @@ class AddPhotoModal(Screen):
|
||||||
self.result = None
|
self.result = None
|
||||||
self.created_photo = None
|
self.created_photo = None
|
||||||
|
|
||||||
def _generate_photo_hash(self, photo_data: dict) -> str:
|
|
||||||
"""Generate a short, unique hash for a photo"""
|
|
||||||
# Use temporary data for hash generation
|
|
||||||
unique_string = f"{photo_data['name']}_{photo_data.get('photo_id', 0)}_new"
|
|
||||||
hash_object = hashlib.md5(unique_string.encode())
|
|
||||||
return hash_object.hexdigest()[:8]
|
|
||||||
|
|
||||||
def compose(self) -> ComposeResult:
|
def compose(self) -> ComposeResult:
|
||||||
yield Container(
|
yield Container(
|
||||||
|
|
@ -82,13 +76,9 @@ class AddPhotoModal(Screen):
|
||||||
|
|
||||||
if new_photo:
|
if new_photo:
|
||||||
self.created_photo = new_photo
|
self.created_photo = new_photo
|
||||||
# Generate hash for the new photo
|
|
||||||
photo_hash = self._generate_photo_hash({
|
|
||||||
"name": new_photo.name,
|
|
||||||
"photo_id": new_photo.id
|
|
||||||
})
|
|
||||||
|
|
||||||
self.notify(f"Photo '{new_photo.name}' added successfully!\nHash: {photo_hash}\nReference: \\[\\[photo:{new_photo.name}:{photo_hash}\\]\\]",
|
self.notify(f"Photo '{new_photo.name}' added successfully!\nHash: {new_photo.photo_hash[:8]}\nReference: \\[\\[photo:{new_photo.name}:{new_photo.photo_hash[:8]}\\]\\]",
|
||||||
severity="information", timeout=5)
|
severity="information", timeout=5)
|
||||||
|
|
||||||
# Return the created photo data to the calling screen
|
# Return the created photo data to the calling screen
|
||||||
|
|
@ -97,7 +87,7 @@ class AddPhotoModal(Screen):
|
||||||
"name": photo_data["name"],
|
"name": photo_data["name"],
|
||||||
"caption": photo_data["caption"],
|
"caption": photo_data["caption"],
|
||||||
"photo_id": new_photo.id,
|
"photo_id": new_photo.id,
|
||||||
"hash": photo_hash
|
"hash": new_photo.photo_hash
|
||||||
}
|
}
|
||||||
self.dismiss(self.result)
|
self.dismiss(self.result)
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -12,15 +12,11 @@ class EditPhotoModal(Screen):
|
||||||
self.photo = photo
|
self.photo = photo
|
||||||
self.result = None
|
self.result = None
|
||||||
|
|
||||||
def _generate_photo_hash(self, photo: Photo) -> str:
|
|
||||||
"""Generate a short, unique hash for a photo"""
|
|
||||||
unique_string = f"{photo.name}_{photo.id}_{photo.addition_date}"
|
|
||||||
hash_object = hashlib.md5(unique_string.encode())
|
|
||||||
return hash_object.hexdigest()[:8]
|
|
||||||
|
|
||||||
def compose(self) -> ComposeResult:
|
def compose(self) -> ComposeResult:
|
||||||
# Generate hash for this photo
|
# Generate hash for this photo
|
||||||
photo_hash = self._generate_photo_hash(self.photo)
|
photo_hash = None
|
||||||
|
|
||||||
yield Container(
|
yield Container(
|
||||||
Static("✏️ Edit Photo", classes="EditPhotoModal-Title"),
|
Static("✏️ Edit Photo", classes="EditPhotoModal-Title"),
|
||||||
|
|
@ -45,10 +41,9 @@ class EditPhotoModal(Screen):
|
||||||
id="caption-input",
|
id="caption-input",
|
||||||
classes="EditPhotoModal-Input"
|
classes="EditPhotoModal-Input"
|
||||||
),
|
),
|
||||||
Static(f"🔗 Photo Hash: {photo_hash}", classes="EditPhotoModal-Hash"),
|
Static(f"🔗 Photo Hash: {self.photo.photo_hash[:8]}", classes="EditPhotoModal-Hash"),
|
||||||
Static("Reference formats:", classes="EditPhotoModal-Label"),
|
Static("Reference formats:", classes="EditPhotoModal-Label"),
|
||||||
Static(f"\\[\\[photo:{self.photo.name}:{photo_hash}\\]\\]", classes="EditPhotoModal-Reference"),
|
Static(f"\\[\\[photo::{self.photo.photo_hash[:8]}\\]\\]", classes="EditPhotoModal-Reference"),
|
||||||
Static(f"\\[\\[photo::{photo_hash}\\]\\]", classes="EditPhotoModal-Reference"),
|
|
||||||
Horizontal(
|
Horizontal(
|
||||||
Button("Save Changes", id="save-button", classes="EditPhotoModal-Button"),
|
Button("Save Changes", id="save-button", classes="EditPhotoModal-Button"),
|
||||||
Button("Cancel", id="cancel-button", classes="EditPhotoModal-Button"),
|
Button("Cancel", id="cancel-button", classes="EditPhotoModal-Button"),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue