RFC: Videjka a další bazmeky do galerií #99

Open
ledoian wants to merge 15 commits from galerie_videjka into master
Owner

Velká část kódu je napsaná, migrace zatím vůbec, takže se dá testovat jen podivně ze shellu bez sáhnutí na databázi.

TODO (z message u b25d475148 přepsáno sem, ať jde odškrtávat):

  • vymyslet všemu použitelnější jména
  • Napsat migraci
  • ve views a modelech se pořád ještě vyskytuje obrazek_stredni a obrazek_velky
  • nevím, co dělá Admin a nahrávání obrázků
  • chybí funkce na tipování typů nahraných obrázků (a její použití v kódu)
  • podpora pro videjka zatím není vůbec (jen připravený kód)
  • DummyBazmek nemá použitelné placeholdery (představuji si SVG s nějakým vykřičníkem a odkazem do Admina
  • opravit syntaxi v dokumentaci
  • zakomentovaný kód buď smazat, nebo přetvořit v něco užitečného
  • vyřešit konflikt s masterem
Velká část kódu je napsaná, ~~migrace zatím vůbec, takže se dá testovat jen podivně ze shellu bez sáhnutí na databázi.~~ TODO (z message u b25d475148a3ad1708963b26ddd7c132a76298fa přepsáno sem, ať jde odškrtávat): - [ ] vymyslet *všemu* použitelnější jména - [x] Napsat migraci - [x] ve views a modelech se pořád ještě vyskytuje `obrazek_stredni` a `obrazek_velky` - [x] nevím, co dělá Admin a nahrávání obrázků - [x] chybí funkce na tipování typů nahraných obrázků (a její použití v kódu) - [x] podpora pro videjka zatím není vůbec (jen připravený kód) - [x] DummyBazmek nemá použitelné placeholdery (představuji si SVG s nějakým vykřičníkem a odkazem do Admina - [ ] opravit syntaxi v dokumentaci - [ ] zakomentovaný kód buď smazat, nebo přetvořit v něco užitečného - [x] vyřešit konflikt s masterem
ledoian added 4 commits 2025-05-05 02:00:16 +02:00
už od Dj 2.0 nefunkční, kdyžtak se přidá zpět později…
Plán: udělat z `obrazek_velky` `soubor`, přidat `typ` (`OBRAZEK`,
`VIDEO`, `NEVIM`) a ImageKit použít jen na vyrábění zmenšených obrázků
(pro `VIDEO` použít `<video>` přímo; pro `NEVIM` nějaký generický
placeholder a pokyn orgovi, ať to opraví v Adminu.

Ref: https://django-imagekit.readthedocs.io/en/latest/#defining-specs-outside-of-models
Co funguje: ~~nic, protože není vygenerovaná migrace~~ Nejspíš lecos,
ale nejde to otestovat. Speciálně, pokud zavolám funkce z `galerie.typy`
ručně ze shellu, tak se to popřeškáluje a výsledná URL jde skutečně
vyrenderovat na webu (resp. šlo v nějaké průběžné verzi před zavedením
templatetagu).

TODO:
- ve views a modelech se pořád ještě vyskytuje `obrazek_stredni` a `obrazek_velky`
- nevím, co dělá Admin a nahrávání obrázků
- chybí funkce na tipování typů nahraných obrázků (a její použití v kódu)
- podpora pro videjka zatím není vůbec (jen připravený kód)
- DummyBazmek nemá použitelné placeholdery (představuji si SVG s nějakým
  vykřičníkem a odkazem do Admina
Author
Owner

Jo, a v komentářích jsou random zakomentované kusy kódu, které se buď mají objevit jinde (a jinak), nebo smazat úplně… připsáno do TODO

~~Jo, a v komentářích jsou random zakomentované kusy kódu, které se buď mají objevit jinde (a jinak), nebo smazat úplně…~~ připsáno do TODO
ledoian added 1 commit 2025-05-05 02:19:36 +02:00
ledoian added 1 commit 2025-05-05 02:29:39 +02:00
ledoian added 1 commit 2025-05-05 04:17:58 +02:00
ledoian added 1 commit 2025-05-05 04:25:03 +02:00
ledoian added 1 commit 2025-05-05 04:51:27 +02:00
ledoian added 1 commit 2025-05-05 15:18:07 +02:00
ledoian added 1 commit 2025-05-05 15:34:05 +02:00
ledoian changed title from WIP: Videjka a další bazmeky do galerií to RFC: Videjka a další bazmeky do galerií 2025-05-05 15:39:11 +02:00
Author
Owner
  • opravit syntaxi v dokumentaci

@zelvuska Máš tip, odkud mám syntaxi dokumentace opsat? Vím, že jsme něco měli, jen se mi to nechce dohledávat, tak jestli zvládneš vytáhnout z paměti…

> - [ ] opravit syntaxi v dokumentaci @zelvuska Máš tip, odkud mám syntaxi dokumentace opsat? Vím, že jsme něco měli, jen se mi to nechce dohledávat, tak jestli zvládneš vytáhnout z paměti…
ledoian added 1 commit 2025-05-05 16:26:32 +02:00
ledoian added 2 commits 2025-05-05 16:48:32 +02:00
Author
Owner

Prohlašuji galerii s videjky za MVP, jdu nasadit na testweb (v nějaké ad-hoc kombinaci s !98), pusťte se do hejtění kódu a testování

Prohlašuji galerii s videjky za MVP, jdu nasadit na testweb (v nějaké ad-hoc kombinaci s !98), pusťte se do hejtění kódu a testování
ledoian reviewed 2025-05-05 16:56:48 +02:00
ledoian left a comment
Author
Owner

Moje poznámky k tomu, co se má vylepšit…

Moje poznámky k tomu, co se má vylepšit…
@ -47,2 +49,3 @@
# Technicky misnomer: takový `Obrazek` může být i videjko a výhledově i něco dalšího…
class Obrazek(models.Model):
obrazek_velky = models.ImageField(upload_to=obrazek_filename,
# „originál“ (modulo max. velikost uploadu na web FIXME!)
Author
Owner

doku

doku
@ -56,0 +56,4 @@
VIDEO = 'video', 'Video'
NEVIM = 'nevim', 'Neznámý typ'
typ = models.CharField('Typ', max_length=16, blank=False, null=False, choices=Typ.choices, default=Typ.NEVIM)
# Filename by default; slouží k řazení
Author
Owner

doku nebo help_text

doku nebo help_text
@ -73,3 +74,1 @@
return u'<img src="{}">'.format(self.obrazek_maly.url)
obrazek_maly_tag.short_description = "Náhled"
obrazek_maly_tag.allow_tags = True
ordering = ['nazev'] #FIXME: zohlednit pořadí a asi i příslušnost ke galerii
Author
Owner

FIXME

FIXME
@ -76,2 +77,4 @@
.galerie_nahledy img {
margin: 10px;
max-height: 100px;
max-width: 200px;
Author
Owner

Hodnoty random nastřelené… (asi nevadí)

Hodnoty random nastřelené… (asi nevadí)
@ -111,3 +108,3 @@
{# nahledy predchozich obrazku #}
{% for obrazek in obrazky_predchozi %}
<a href="../{{obrazek.pk}}#nahoru"><img src="{{obrazek.obrazek_maly.url}}" height="100"></a>
<a href="../{{obrazek.pk}}#nahoru">{% zmenseny_nahled obrazek.jako_bazmek height=100 %}</a>
Author
Owner

zrušit height?

zrušit height?
@ -125,3 +115,3 @@
{# nahledy nasledujicich obrazku #}
{% for obrazek in obrazky_dalsi %}
<a href="../{{obrazek.pk}}#nahoru"><img src="{{obrazek.obrazek_maly.url}}" height="100"></a>
<a href="../{{obrazek.pk}}#nahoru">{% zmenseny_nahled obrazek.jako_bazmek height=100 %}</a>
Author
Owner

i tady zrušit height?

i tady zrušit height?
@ -59,3 +60,1 @@
<img src="{{ obrazek.url }}"
/>
{% endwith %}
{% zmenseny_nahled pgalerie.titulni_obrazek.jako_bazmek class="" %}
Author
Owner

Má mít class nebo tam ten atribut nemá být vůbec

Má mít class nebo tam ten atribut nemá být vůbec
@ -106,0 +98,4 @@
href="./{{obrazek.pk}}#nahoru" class="galerie_nahled">
<span class="vystredeno"></span>
{% zmenseny_nahled obrazek.jako_bazmek %}
{# title=obrazek.popis (a byl tu if, že se použil jen když existoval…) width=obrazek.obrazek_maly.width height=obrazek.obrazek_maly.height #}
Author
Owner

smazat? title by se měl použít z vnějšího tagu, či?

smazat? title by se měl použít z vnějšího tagu, či?
@ -0,0 +14,4 @@
from django.contrib.staticfiles.finders import find
# FIXME: static fily na lokálním webu??
find = lambda x: '/static/'+x
Author
Owner

FIXME

FIXME
@ -0,0 +23,4 @@
from imagekit.cachefiles import ImageCacheFile
from imagekit.processors import ResizeToFit, Transpose
HTML = str | SafeString
Author
Owner

Komentář, že v Py3.12 má být type HTML = ...

Komentář, že v Py3.12 má být `type HTML = ...`
@ -0,0 +122,4 @@
attrs = _fmt_attrs(kwargs)
# Stavíme HTML ad-hoc, co se může rozbít :'-)
obrazek = format_html(r'<img src="{}"/>', self.placeholder, attrs)
popisek = format_html(r'<p style="text-align: center; font-size: 1.1em;">Prosím oprav typ aktuálního obrázku v <a href="{}">adminu</a>!</p>', reverse('admin:galerie_obrazek_change', args=(self.db_objekt.id,)))
Author
Owner

hnus

hnus
ledoian reviewed 2025-05-05 16:58:45 +02:00
@ -0,0 +29,4 @@
name='typ',
field=models.CharField(choices=[('obrazek', 'Obrázek'), ('video', 'Video'), ('nevim', 'Neznámý typ')], default='nevim', max_length=16, verbose_name='Typ'),
),
migrations.RunPython(zatim_byly_jen_obrazky, migrations.RunPython.noop)
Author
Owner

Možná by směrem zpátky spíš mělo selhat, pokud v galerii existuje ne-obrázek…

Možná by směrem zpátky spíš mělo selhat, pokud v galerii existuje ne-obrázek…
Author
Owner

Při ručním přidávání obrázků z Adminu se netipuje typ automaticky :-/

Při ručním přidávání obrázků z Adminu se netipuje typ automaticky :-/
Author
Owner

SVG zjevně není obrázek (Pillow ho neumí zpracovat)…

SVG zjevně není obrázek (Pillow ho neumí zpracovat)…
ledoian added 1 commit 2025-05-05 17:15:10 +02:00
zelvuska reviewed 2025-05-14 18:16:50 +02:00
@ -7,3 +7,3 @@
/* zmenšování spolu s oknem prohlížeče */
.galerie .obrazek, .titulni_obrazek {
max-width: 100%;
max-width: max(100%, 900px);
Owner

900 je nějak moc, ne? (Třeba když jsi na mobilu, tak to znamená, že uvidíš minimum z toho obrázku, ne?)

900 je nějak moc, ne? (Třeba když jsi na mobilu, tak to znamená, že uvidíš minimum z toho obrázku, ne?)
Author
Owner

To je vzaté z původních views.py, za to nemůžu já :-D Ale je to hodně, co třeba 600px? (Haluzím velmi náhodně a na monitoru, zas to nemůže být moc málo, jinak se to zmenší moc…)

To je vzaté z původních `views.py`, za to nemůžu já :-D Ale je to hodně, co třeba `600px`? (Haluzím velmi náhodně a na monitoru, zas to nemůže být moc málo, jinak se to zmenší moc…)
Owner

Aha, tak to asi nechme…

Aha, tak to asi nechme…
zelvuska marked this conversation as resolved
Author
Owner

Není zdokumentované, jak galerii zveřejňovat – je potřeba nejdřív přenastavit neveřejné galerie na správná práva a pak případně automaticky zveřejnit všechno…

Není zdokumentované, jak galerii zveřejňovat – je potřeba nejdřív přenastavit neveřejné galerie na správná práva a pak případně automaticky zveřejnit všechno…
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin galerie_videjka:galerie_videjka
git checkout galerie_videjka

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout master
git merge --no-ff galerie_videjka
git checkout galerie_videjka
git rebase master
git checkout master
git merge --ff-only galerie_videjka
git checkout galerie_videjka
git rebase master
git checkout master
git merge --no-ff galerie_videjka
git checkout master
git merge --squash galerie_videjka
git checkout master
git merge --ff-only galerie_videjka
git checkout master
git merge galerie_videjka
git push origin master
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: mam/mamweb#99
No description provided.