Re: [python] Ovlivnění názvu souboru a čísla řádku ve výjimkách
Hele, nevim jestli to neni uplne debilini a nefunkcni napad (tedka to na telefonu nevyzkousim) ale co ten kod v "dilcich" modulech (010.py, ...) obalit do nejakyho "chytam vyjimky a re-raisuju je se spravnyma parametrama" dekoratoru? Netusim jak to budete "spojovat", cekam ze automaticky nejakym "generatorem kodu", tak by to mohlo byt i vcelku primocare udelatelny na te "spojovaci" vrstve. Ale... To je tak jako z hospody od piva, cekam ze je na to lepsi reseni. On Tue, Apr 5, 2022 at 6:38 PM Vladimír Macek wrote: > Zdravím, mám neobvyklou otázku. > > Zvažujeme do jednoho projektu s embedovaným Pythonem vývoj skriptů tak, že > se jeden py modul bude vyvíjet po segmentech. Budou nazvané třeba 010.py, > 020.py, 030.py, ... > > Pro puristy, budou to malé segmenty specifické domény, nikoli standardní > projekt. :-) > > Pro provedení se všechny segmenty modulu spojí do jednoho mod.py. Avšak > když v něm nastane chyba, bude v tracebacku mod.py a číslo řádku z něj. > > Vývojář ale bude potřebovat problém najít ve zdrojových segmentech 010.py, > 020.py, ... > > Samozřejmě si můžu segmenty zaindexovat, analyzovat text tracebacku a > obohatit ho o přepočítané pozice. > > Chci se jen zeptat, jestli někdo z vás neví třeba o způsobu, jak ovlivnit > interní počítadlo tak, že by se při spojování do mod.py dal na začátek > každého segmentu nějaký override názvu souboru a počítadla řádků. > > Pokud někoho z vás napadnou alternativy, aby se segmenty provedly ve > stejném namespace a bez spojování nebo jiné řešení, uvítám tip. > > Děkuju! > > Vladimír Macek | +420 608 978 164 > > ___ > Python mailing list > python@py.cz > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz > -- "The best is the enemy of the good." --Voltaire ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] Ovlivnění názvu souboru a čísla řádku ve výjimkách
On 05. 04. 22 18:37, Vladimír Macek wrote: Zdravím, mám neobvyklou otázku. Zvažujeme do jednoho projektu s embedovaným Pythonem vývoj skriptů tak, že se jeden py modul bude vyvíjet po segmentech. Budou nazvané třeba 010.py, 020.py, 030.py, ... Pro puristy, budou to malé segmenty specifické domény, nikoli standardní projekt. :-) Pro provedení se všechny segmenty modulu spojí do jednoho mod.py. Avšak když v něm nastane chyba, bude v tracebacku mod.py a číslo řádku z něj. Vývojář ale bude potřebovat problém najít ve zdrojových segmentech 010.py, 020.py, ... Samozřejmě si můžu segmenty zaindexovat, analyzovat text tracebacku a obohatit ho o přepočítané pozice. Chci se jen zeptat, jestli někdo z vás neví třeba o způsobu, jak ovlivnit interní počítadlo tak, že by se při spojování do mod.py dal na začátek každého segmentu nějaký override názvu souboru a počítadla řádků. Pokud někoho z vás napadnou alternativy, aby se segmenty provedly ve stejném namespace a bez spojování nebo jiné řešení, uvítám tip. Idealne chces `from segment000 import *` ze vsech segmentu, ale jestli je *fakt* potreba stejny namespace pro vic souboru, da se to udelat nejak takhle: ---8<--- exec(compile(""" def main(): other() """, '000.fakepy', 'exec')) exec(compile(""" def other(): '''docstring on line 3''' raise Exception() """, '001.fakepy', 'exec')) main() ---8<--- Traceback (most recent call last): File "/tmp/mod.py", line 13, in main() File "000.fakepy", line 3, in main File "001.fakepy", line 4, in other Exception ---8<--- (s open+read misto literal retezcu, jestli nechces spojovat) ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz