Admin strxfrm mac #81
1 changed files with 8 additions and 2 deletions
|
|
@ -7,6 +7,7 @@ import locale
|
|||
from django.contrib import admin
|
||||
from django.contrib.admin import AdminSite
|
||||
from django.contrib.flatpages.models import FlatPage
|
||||
import logging
|
||||
|
||||
# Note: we are renaming the original Admin and Form as we import them!
|
||||
from django.contrib.flatpages.admin import FlatPageAdmin as FlatPageAdminOld
|
||||
|
|
@ -56,8 +57,13 @@ def get_app_list(self, request, app_label=None):
|
|||
|
||||
|
||||
# Sort the models alphabetically within each app.
|
||||
try: # na macu nefunguje locale.strxfrm :-/ proto je tu try except block
|
||||
for app in app_list:
|
||||
app['models'].sort(key=lambda x: locale.strxfrm(x['name'].lower()))
|
||||
except OSError as e:
|
||||
# locale.strxfrm nefunguje na macu... :-/ -> neprovede se řazení
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.error(e)
|
||||
|
|
||||
|
||||
return app_list
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue
Aspoň u mně tohle vygeneruje něco typu
2025-01-14 19:46:39,302 - mamweb.admin - ERROR - OSError: Invalid argumenta nic víc, což není moc užitečné (nikde není odkaz přímo do zdrojáku ani chybová hláška nejde najít ve zdrojácích). Navrhuji něco typulogger.error(f"Zdá se, že nefunguje strxfrm: {e}; admin bude špatně seřazený.")I mean, měnit to teď asi nebudu, ale aspoň pro příště, prosím. Jinak vyrobíme web, který generuje náhodné errory, které nepůjde dohledat… (A ano, tím myslím, že
logger.error('Kočka leze dírou!')je v tomhle místě možná užitečnější, as long as ta kočka dírou nepoleze úplně všude…)(A pročže to není
logger.warning? Funkčnost webu to omezuje jen v omezeném rozsahu… Ale asi je to jedno…)Za mě
logger.error('Kočka leze dírou!')je úplně k ničemu z toho pohledu, že vůbec netušíš, proč to spadlo (a pak to může spadnout z nějakého absurdního důvodu, který se jen tak nezopakuje, a budeme lovit duchy). A proto jsem něco podobného Vaškovi zatrhl a nechal ho vypisovat chybu.To je trochu smutné, že to nenapíše nic víc. Neumíme tu chybu vypsat nějak použitelněji?
Proto navrhuji
….error(f"…{e}…"). A přijde mi, že stejně v ≥80% případů při chybě budu potřebovat koukat do kódu, takže hlavně potřebuji umět najít místo v kódu (pramení ze zkušenosti s lovením divných bugů v náhodných kusech SW). A to není argument proti tomu tam mít actually co se stalo (byť EINVAL je důvod jak noha…), ale pro to mít před ním / v okolí nějakou věc, které se při lovení chyby půjde chytit. (Teoreticky se dá vypsat celý traceback, což trochu může pomoci…)A ano, hodí se i vědět, jak kód reprodukovat, ale to (a) obstará i komentář na příslušném místě v kódu (ten tam je), (b) se vykouká případně o dost snadněji z okolí toho kódu a (c) v tomhle případě se to nejspíš bude na jednom HW chovat konzistentně pořád.