Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.
Nevidomý uživatel Linuxu v blogu upozornil na tristní stav přístupnosti na linuxovém desktopu (část první, druhá, závěr), přičemž stížnosti jsou podobné jako v roce 2022. Vyvolal bouřlivou odezvu. Následně např. Georges Stavracas shrnul situaci v GNOME. Debata o jiném aspektu přístupnosti, emulaci vstupu pod Waylandem, také proběhla na Redditu.
DevConf.CZ 2025, tj. open source komunitní konference sponzorovaná společností Red Hat, proběhne od 12. do 14. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Byla vydána nová major verze 28.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2024 (pdf), kde shrnuje své aktivity v loňském roce a přináší i základní popis situace na trhu. Celkový objem přenesených mobilních dat za rok 2024 dosáhl dle odhadu hodnoty přibližně 1,73 tis. PB a jeho meziroční nárůst činí zhruba 30 %. Průměrná měsíční spotřeba dat na datovou SIM kartu odhadem dosáhla 12,5 GB – v předchozím roce šlo o 9,8 GB.
Z novinek představených na Google I/O 2025: Přehledy od AI (AI Overviews) se rozšiřují do dalších zemí. Užitečné, syntetizované přehledy od generativní AI jsou nově k dispozici i českým uživatelům Vyhledávače.
Šestice firem označovaných jako „MAMAAN“ – tedy Meta (Facebook, Instagram), Alphabet (Google), Microsoft, Apple, Amazon a Netflix – je zodpovědná za více než padesát procent světového internetového provozu. Dalšími velkými hráči jsou TikTok a Disney+. Společně tak zásadně určují podobu digitálního prostředí, spotřebitelského chování i budoucích trendů v oblasti technologií. I přesto, že se podíl těchto gigantů od roku 2023 o něco snížil, jejich dominantní postavení zvyšuje volání po regulaci.
Evropská komise (EK) navrhuje zavést plošný poplatek ve výši dvou eur (zhruba 50 Kč) za každý malý balík vstupující do Evropské unie. Poplatek se má týkat balíků v hodnotě do 150 eur (zhruba 3700 Kč), které v EU nepodléhají clu. V loňském roce bylo do EU doručeno kolem 4,6 miliardy takovýchto balíků. Poplatek má krýt náklady na kontroly rostoucího počtu zásilek levného zboží, které pochází především z Číny.
Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
file=open('../soubor.lyx','a') #for nazev_souboru in ../nejake_pdf_documenty/*.[pP][dD][fF]; do #nazev_souboru_bez_pripony=${nazev_souboru:25:-4} text=r"""\begin_layout Standard \begin_inset CommandInset label LatexCommand label name "${nazev_souboru_bez_pripony}" \end_inset \end_layout \begin_layout Standard \begin_inset External template PDFPages filename ${nazev_souboru:1} extra LaTeX "pages=-, pagecommand={\thispagestyle{fancy}}, addtotoc={1,section,1,${nazev_souboru_bez_pripony},${nazev_souboru_bez_pripony}}" scale 80 \end_inset \end_layout """ file.write(text) logging.debug('text: '+text) #done file.close() del file del text
Řešení dotazu:
import glob import os from jinja2 import Environment # Načtení šablony do prom. tmp env = Environment() with open('cesta/k/templatu.lyx', 'r', encoding='utf8') as fread: tmp = env.from_string(fread.read()) # dict s hodnotami content = {} # Pak tady budeš všechno možné, třeba to prolezení PDF souborů # Dejme tomu, že magicka_funkce vrací list s názvy PDF def magicka_funkce(path): files = glob.glob(path + '*.pdf') out = [] # Ošklivé, ale takhle nějak for fl in files: out.append({'cesta': fl, 'nazev_souboru': os.path.basename(fl), 'nazev_souboru_bez_pripony': os.path.splitext(os.path.basename(fl))[0]}) return out seznam_souboru = magicka_funkce('cesta/') content['seznam_souboru'] = seznam_souboru # Nakonec ten seznam pošleš šabloně vygenerovany_dokument_jako_string = tmp.render(content) with open('vysledny_soubor.lyx', 'r', encoding='utf8') as fwrite: fwrite.write(vygenerovany_dokument_jako_string)No a v té šabloně budeš mít už syntaxi Jinja:
{% for pdf in seznam_souboru %} \begin_layout Standard \begin_inset CommandInset label LatexCommand label name "{{ pdf.nazev_souboru_bez_pripony }}" \end_inset \end_layout \begin_layout Standard \begin_inset External template PDFPages filename {pdf.nazev_souboru:1} extra LaTeX "pages=-, pagecommand={\thispagestyle{fancy}}, addtotoc={1,section,1,{{ pdf.nazev_souboru_bez_pripony }}},{{ pdf.nazev_souboru_bez_pripony }}}" scale 80 \end_inset \end_layout {% endfor %}Jakmile generuju soubory, tak takhle. Než jsem se dostal k Jinja2, tak jsem to dělal stejně, jako to máš v otázce, tj. postupně zapisovat do souboru po kouskách. Ale tohle je o poznání jednodušší a čistší. Hlavně to podporuje cykly i podmínky (viz první řádek templatu). Kromě Jinja2 má python ve standardní knihovně string.Template. Což je něco podobného, ale spíš jen formou search & replace.
nejake_pdf_dokumenty=glob.glob('../nejake_pdf_dokumenty/*.[pP][dD][fF]') nejake_pdf_dokumenty.sort() logging.debug('nejake_pdf_dokumenty: '+str(nejake_pdf_dokumenty)) for nazev_souboru in nejake_pdf_dokumenty: logging.debug('nazev_souboru: '+nazev_souboru) nazev_souboru_bez_pripony=nazev_souboru[25:-4] logging.debug('nazev_souboru_bez_pripony: '+nazev_souboru_bez_pripony)Tim bash skriptem jsem doposud vyplnoval pdf formulare a sadu lyx dokumentu ktere jsem jeste pak dodatecne rucne editoval (jejich obsah, ne kod) a nakonec vse zahrnul do jedineho lyx svazku a ten nakonec opet exportoval do pdf fasciklu pro konecne pouziti. Jak ten skript rostl tak vyslo najevo ze bash uz nevyhovuje a je treba prepsat do jineho jazyka, oddelit sablony od kodu (uz ted mi dochazi ke konfliktum syntaxi lyxu a pythonu, jako treba uvozovky) a pokud jde o kod samotny tak ten je potreba take restrukturalizovat, napsat funkce a rozdelit do vhodnych modulu. Navic bude asi potreba skript distribuovat takze je treba doresit i instalatory na jine OS. Diky za tip na reseni, toto vyuziju.
nazev_souboru[25:-4]
. Teď to třeba na 3 písmenné přípony funguje, ale projet složku s jpg/jpeg a už to fungovat nebude. Proto existuje funkce splitext. A jestli bude potřeba skript i na Win, tak v modulu os jsou fce na práci s cestami, které chápou / a \, není pak nutné ve skriptu detekovat os a ručně uplácávat cesty.
Tiskni
Sdílej: