recreate page

This commit is contained in:
Starnakin 2025-04-23 20:49:58 +02:00
parent 55bc1b36d1
commit bb0973917d
4 changed files with 88 additions and 56 deletions

View File

@ -63,5 +63,12 @@ class Page():
return None return None
return self._exif return self._exif
def render_exif(self):
if not self.get_exif():
return None
with open(self._exif.get_absolute_path()) as f:
return f.read()
def get_raw(self): def get_raw(self):
return self._raw return self._raw

View File

@ -17,7 +17,7 @@ class Picture():
def __init__(self, picture_path: Path, page = None, raw: Path|None = None, albums_name: list[str] = None, is_repertoried: bool = True): def __init__(self, picture_path: Path, page = None, raw: Path|None = None, albums_name: list[str] = None, is_repertoried: bool = True):
self._large: Path = picture_path self._large: Path = picture_path
self._small: Path = Path(picture_path.get_absolute_path()[:-4] + "_small.jpg") self._small: Path = Path(picture_path.get_absolute_path()[:-4] + "_small.jpg")
self._export_file: Path = Path(picture_path.get_absolute_path() + ".out.pp3") self._profile_file: Path = Path(picture_path.get_absolute_path() + ".out.pp3")
self._raw: Path|None = raw self._raw: Path|None = raw
self._page: Page = page self._page: Page = page
self._albums_name: list[str] = albums_name or [] self._albums_name: list[str] = albums_name or []
@ -39,8 +39,8 @@ class Picture():
def get_large(self): def get_large(self):
return self._large return self._large
def get_export_file(self): def get_profile_file(self):
return self._export_file return self._profile_file
def gen_small(self): def gen_small(self):
im = Image.open(self._large.get_absolute_path()).convert("RGB") im = Image.open(self._large.get_absolute_path()).convert("RGB")

View File

@ -10,61 +10,74 @@
} }
body { body {
display: flex;
justify-content: center;
flex-direction: column;
width: 50%;
background-color: var(--bg1); background-color: var(--bg1);
margin: auto; display: flex;
margin-top: 10px; flex-direction: column;
margin-bottom: 50px; align-items: center;
color: lightgray; margin: 15% 15%;
} margin-top: 5%;
height: auto;
body * {
width: 100%;
}
.picture-container {
margin-top: 10px;
}
.picture-container-element {
margin-top: 0px;
} }
.readme { .readme {
border: 1px solid;
background-color: var(--bg2); background-color: var(--bg2);
} }
.readme-content { .picture-container {
margin: 30px;
}
.export,
.next {
margin-top: 0px;
display: block;
text-align: right;
}
.download {
margin-top: 10px;
background-color: var(--bg2); background-color: var(--bg2);
text-align: center; padding: 10px;
padding-bottom: 30px;
} }
.navigation, .picture-container-item {
.meta-picture { padding: 5px;
background-color: var(--content1);
}
img {
max-width: 100%;
height: auto;
}
.meta-picture, .navigation {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
width: 100%;
}
.profile {
text-align: right;
} }
a { a {
color: white; color: white;
text-decoration: none; text-decoration: none;
font-size: 1.5rem; font-size: 1.5rem;
}
@media screen and (max-width:767px) {
body {
margin: 0% 0%;
}
}
.exif, .readme {
width: 100%;
display: block;
}
.download {
width: 100%;
background-color: var(--bg2);
text-align: center;
}
.exif summary {
text-align: center;
}
.exif details {
display: flex;
justify-content: center;
background-color: var(--bg2);
} }

View File

@ -16,33 +16,45 @@
</div> </div>
{% if page._readme.exist() %} {% if page._readme.exist() %}
<div class="readme"> <div class="readme">
<div class="readme-content"> <details>
{{page.render_readme()}} <summary>
</div> README
</summary>
<div class="readme-content">
{{page.render_readme()}}
</div>
</details>
</div> </div>
{% endif %} {% endif %}
{% for picture in page._pictures %}
<div class="picture-container"> <div class="picture-container">
<div class="picture-container-element"> {% for picture in page._pictures %}
<img src='{{ picture.get_small().get_url() }}'> <div class="picture-container-item">
<a href="{{ picture.get_small().get_url() }}">
<img src='{{ picture.get_small().get_url() }}'>
</a>
<div class="meta-picture"> <div class="meta-picture">
<a href="{{ picture.get_large().get_url() }}">Large</a> <a href="{{ picture.get_large().get_url() }}">Large</a>
{% if picture._export_file.exist() %} {% if picture._profile_file.exist() %}
<a class="export" href="{{ picture.get_export_file().get_url() }}">export file</a> <a class="profile" href="{{ picture.get_profile_file().get_url() }}">Raw therapee profile</a>
{% endif %} {% endif %}
</div> </div>
</div> </div>
{% endfor %}
</div> </div>
{% endfor %} {% if page.get_raw().exist() %}
{% if page.get_raw().exist() or page.get_exif() %}
<div class="download"> <div class="download">
<h1>Download</h1> <h1>Download</h1>
{% if page.get_raw().exist() %}
<a href="{{ page.get_raw() }}">RAW</a> <a href="{{ page.get_raw() }}">RAW</a>
{% endif %} </div>
{% if page.get_exif() %} {% endif %}
<a href="{{ page.get_exif().get_url() }}">Exif</a> {% if page.get_exif() %}
{% endif %} <div class="exif">
<details>
<summary>Exif</summary>
<pre>
{{ page.render_exif() }}
</pre>
</details>
</div> </div>
{% endif %} {% endif %}
</body> </body>