This commit is contained in:
2026-05-11 20:22:04 +02:00
parent 2b4d843ae0
commit 0578bfc2ae
10 changed files with 591 additions and 0 deletions

View File

@@ -8,3 +8,158 @@
{"ts":"2026-05-10T22:07:15Z","tool":"Bash","cmd":"python tools/generowanie/akrylowe_podziekowanie_ojciec_chrzestny_wzor1.py --klient \"Angelika Hirth\" --imie \"Zuzia\" --data \"17.05.2026\" --zdjecie \"C:/tmp/orderpro_photos/angelika_03_zuzia.jpg\" ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-10T22:07:32Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"oliwiaczapiewska3@wp.pl\" --days 60 --json 2>&1 | head -3 && python tools/generowanie/pudelko_komunia_golabek_uv.py --klient \"Oliwia Czapie","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-10T22:07:46Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python tools/generowanie/pudelko_komunia_golabek_uv.py --klient \"Oliwia Czapiewska\" --imie \"Antoniego\" --data \"16 | 05 | 2026\" --od-kogo \"Twoja siostra Oliwka\" --zyczeni","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:01:31Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"SELECT id, product_name_pat","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:01:43Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch -e \"\\nSELECT \\n oi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:02:54Z","tool":"Bash","cmd":"tasklist //FI \"IMAGENAME eq Photoshop.exe\" 2>&1 | grep -i photoshop\",\"description\":\"Check Photoshop running\"},\"tool_response\":{\"stdout\":\"\",\"stderr\":\"\",\"interrupted\":false,\"isImage\","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:05:51Z","tool":"Bash","cmd":"until Get-Process -Name Photoshop -ErrorAction SilentlyContinue >$null 2>&1 && powershell -Command \"(Get-Process -Name Photoshop -ErrorAction SilentlyContinue).MainWindowTitle\" | grep -q \"Photoshop","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:06:39Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"marta.michnicka@gmail.com\" --days 60 --json 2>&1 | tail -20\",\"description\":\"Check email for OP1002\"},\"tool_response\":{\"stdout\":\"B","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:06:53Z","tool":"Bash","cmd":"ZYCZ=$'Niech Bóg bÅogosÅawi CiÄ™ każdego dnia\\\\ri czuwa nad Twoimi krokami.'\\npython tools/generowanie/pudelko_komunia_kielich.py --klient \"Marta GaÅÄ…zka\" --imie \"Maksymiliana\" --data \"1","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:07:03Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:07:11Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"naaataluska@gmail.com\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znalezi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:07:24Z","tool":"Bash","cmd":"ZYCZ=$'Idź drogÄ… bez przeszkód,\\\\rmiej w sercu wiarÄ™,\\\\ruczciwoÅć i miÅć,\\\\raby Bóg prowadziÅ CiÄ™ przez życie\\\\rgodnie i szczÄ™Åliwie.'\\npython tools/generowanie/pudelko_komun","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:07:32Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:07:40Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"katarzyna.fabisiak@adres.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie z","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:07:55Z","tool":"Bash","cmd":"python tools/generowanie/pudelko_komunia_dziewczynka.py --klient \"Katarzyna Fabisiak\" --imie \"Michalinki\" --data \"24.05.2026\" --od-kogo \"Ojciec Chrzestny z rodzinÄ…\" 2>&1 | tail -10\",\"timeou","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:08:03Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:08:12Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"angelika-falkowska96@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie zn","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:08:24Z","tool":"Bash","cmd":"ZYCZ=$'W dniu tak piÄ™knym i radosnym,\\\\rniczym kwiat w promieniach wiosny,\\\\rżyczymy Ci miÅci, szczÄ™Åcia, pomyÅlnoÅci.\\\\rTo, o czym marzysz, by Ci siÄ™ speÅniÅo,\\\\ra to, co pokocha","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:08:32Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:08:40Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"dagmara0789@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:08:52Z","tool":"Bash","cmd":"python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --klient \"Dagmara Lange\" --imie-dziecka \"Gabriel\" --matka-wolacz \"Ciociu Julio\" --ojciec-wolacz \"Wujku Hubercie\" 2>&1 | tail -15\",\","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:09:00Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:09:07Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"kondratowiczmaria1@gmail.com\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:09:25Z","tool":"Bash","cmd":"python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --klient \"Maria Kondratowicz\" --imie-dziecka \"Oliwia\" --matka-wolacz \"Ciociu Aniu\" --ojciec-wolacz \"Wujku RadosÅawie\" 2>&1 | tail -","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:09:32Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:09:39Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"asiad80@vp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono wiad","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:09:55Z","tool":"Bash","cmd":"ZYCZ=$'Chociaż jesteÅ jeszcze maÅy,\\\\rkochaj Boga sercem caÅym,\\\\ra On zawsze, dniem i nocÄ…,\\\\rbÄ™dzie sÅużyÅ Ci z pomocÄ….'\\npython tools/generowanie/pudelko_chrzest_dlonie_uv.py --kli","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:10:02Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:10:10Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"sycia_382@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono wi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:10:23Z","tool":"Bash","cmd":"ZYCZ=$'Niech Pan Jezus, którego przyjęŠdziÅ do swojego serca\\\\rzostanie Twoim najlepszym towarzyszem podróży przez życie.\\\\rNiech prowadzi CiÄ™ drogami peÅnymi miÅci do siebie i Å›","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:10:31Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:10:38Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"dudkiewicz.paulina@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znal","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:10:57Z","tool":"Bash","cmd":"ZYCZ=$'Z okazji Twojej Pierwszej Komunii ÅšwiÄ™tej\\\\rżyczymy Ci, abyÅ zawsze umiaÅa sÅuchać gÅosu serca,\\\\rbo to wÅnie tam mieszka Bóg.\\\\rNiech Twoje życie bÄ™dzie peÅne ÅwiatÅa,\","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:11:05Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:11:12Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"lusia_117@onet.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:11:26Z","tool":"Bash","cmd":"ZYCZ=$'Z okazji przyjÄ™cia do serca Bożej miÅci\\\\rdumni z Ciebie i peÅni radoÅci,\\\\rże nadszedÅ ten Wielki DzieÅ„,\\\\rżyczymy by Twoje życie byÅo jak przyjemny sen!\\\\rTakie piÄ™kne ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:11:33Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:11:43Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"anna-zapadka@o2.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:11:55Z","tool":"Bash","cmd":"ZYCZ=$'Niech Twoje serce zawsze pozostanie wrażliwe na dobro,\\\\ra w życiu niech towarzyszÄ… Ci wiara, uczciwoÅć i miÅć.'\\npython tools/generowanie/pudelko_komunia_kielich.py --klient \"Ann","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:12:02Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:12:10Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"joanna.sobieraj1503@gmail.com\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:12:27Z","tool":"Bash","cmd":"ZYCZ=$'„Powierz Panu swÄ… drogÄ™ i zaufaj Mu: On sam bÄ™dzie dziaÅ\" (Ps 37, 5)\\\\r\\\\rW dniu Twojej Pierwszej Komunii ÅšwiÄ™tej\\\\rniech AnioÅowie CiÄ™ otaczajÄ…,\\\\ra Bóg prowadzi CiÄ™ n","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:12:34Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:12:42Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"woodkoa@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono wiad","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:12:56Z","tool":"Bash","cmd":"ZYCZ=$'PrzyjÄ™cie Komunii ÅšwiÄ™tej to wielka radoÅć ale i odpowiedzialnoÅć.\\\\rNiech ciaÅo Boże da Ci odwagÄ™ i siÅÄ™\\\\roraz chroni od wszelkiego zÅa,\\\\ra miÅć Jezusa prowadzi na wÅ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:13:05Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:13:13Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"gabiadasik99@vp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:13:31Z","tool":"Bash","cmd":"python tools/generowanie/buteleczki_slub_wzor6.py --klient \"Gabriela Adasik\" --imie_zenskie \"Gabriela\" --imie_meskie \"Dawid\" --data \"06.06.2026\" 2>&1 | tail -10\",\"timeout\":300000,\"descript","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:13:39Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:13:46Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"kasiapietrzyk88@interia.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie zn","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:14:03Z","tool":"Bash","cmd":"ZYCZ=$'Serduszko dziecka maÅe,\\\\rjak lilia musi być biaÅe,\\\\rjak lilia musi być czyste,\\\\rjak toÅ„ wody przejrzyste…\\\\r\\\\rNa pamiÄ…tkÄ™ Pierwszej Komunii ÅšwiÄ™tej\\\\rwielu obfitych Å","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:14:11Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:14:18Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"paulina5114@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:14:31Z","tool":"Bash","cmd":"ZYCZ=$'W dniu Twojej Pierwszej Komunii ÅšwiÄ™tej życzymy Ci,\\\\raby Pan Bóg zawsze byÅ obecny w Twoim sercu i codziennoÅci.\\\\rNiech Jego miÅć daje Ci siÅÄ™, spokój i radoÅć,\\\\ra modl","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:14:39Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:14:47Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"emilkalove@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono w","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:14:58Z","tool":"Bash","cmd":"python tools/generowanie/pudelko_komunia_kwiaty.py --klient \"Emilia Zimoch\" --imie \"Wiktorii\" --data \"17 | 05 | 2026\" --od-kogo \"Chrzestna Emilia z wujkiem Tomkiem i Tymkiem\" 2>&1 | tail -10\"","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:15:05Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:15:13Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"m.cieplinska@sp9konin.edu.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:15:27Z","tool":"Bash","cmd":"ZYCZ=$'W tym wyjÄ…tkowym dniu życzymy Ci,\\\\raby Twoje serce zawsze byÅo peÅne wiary, odwagi i radoÅci.\\\\rNiech Bóg czuwa nad TobÄ… każdego dnia,\\\\ra ja – jako Twój ojciec chrzestny –\","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:15:34Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:15:42Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"anna-klimkowska1@wp.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znalez","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:16:04Z","tool":"Bash","cmd":"ZYCZ_J=$'Kochana Julciu,\\\\rw dniu Twojej Pierwszej Komunii ÅšwiÄ™tej życzymy Ci, aby Twoje serduszko zawsze byÅo peÅne radoÅci, miÅci i spokoju.\\\\rNiech Jezus prowadzi CiÄ™ przez życie, d","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:16:19Z","tool":"Bash","cmd":"ZYCZ_S=$'Kochany Szymonku,\\\\rw dniu Twojej Pierwszej Komunii ÅšwiÄ™tej życzymy Ci, aby Jezus zawsze mieszkaÅ w Twoim sercu\\\\ri prowadziÅ CiÄ™ przez życie drogÄ… peÅnÄ… dobra, miÅci i rado","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:16:36Z","tool":"Bash","cmd":"ZYCZ_S=$'Kochany Szymonku,\\\\rw dniu Twojej Pierwszej Komunii ÅšwiÄ™tej życzymy Ci, aby Jezus zawsze mieszkaÅ w Twoim sercu\\\\ri prowadziÅ CiÄ™ przez życie drogÄ… peÅnÄ… dobra, miÅci i rado","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:16:46Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:16:53Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"martyna.galat@op.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znalezion","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:17:14Z","tool":"Bash","cmd":"ZYCZ=$'DziÅ radoÅć dla Ciebie niesÅychana,\\\\rbo idziesz z miÅciÄ… na spotkanie Pana.\\\\rPamiÄ™taj, że On CiÄ™ zawsze usÅyszy,\\\\rczy modlisz siÄ™ gÅno, czy w gÅÄ™bokiej ciszy'\\npyt","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:17:22Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:17:29Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"kasiakujawska@amorki.pl\" --days 60 --json 2>&1 | tail -5\",\"description\":\"Email check\"},\"tool_response\":{\"stdout\":\"BRAK: nie znale","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:17:42Z","tool":"Bash","cmd":"python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --klient \"Kasia CieÅlak\" --imie-dziecka \"Bruno\" --matka-wolacz \"Ciociu Ewelino\" --ojciec-wolacz \"Wujku Maćku\" 2>&1 | tail -10\",\"","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T07:17:51Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:07:25Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"SELECT id, product_name_pat","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:07:36Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"SELECT oi.id AS item_id, oi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:07:55Z","tool":"Bash","cmd":"python tools/generowanie/pudelko_komunia_biblia.py --help 2>&1 | head -60\",\"description\":\"Inspect script params\"},\"tool_response\":{\"stdout\":\"usage: pudelko_komunia_biblia.py [-h] --klient KL","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:08:01Z","tool":"Bash","cmd":"tasklist //FI \"IMAGENAME eq Photoshop.exe\" 2>/dev/null | grep -i photoshop\",\"description\":\"Check Photoshop running\"},\"tool_response\":{\"stdout\":\"Binary file (standard input) matches\",\"std","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:08:35Z","tool":"Bash","cmd":"python -c \"import os; d=r'd:\\\\pomysloweprezenty.pl\\\\projekty\\\\komunia ÅwiÄ™ta - pudeÅka na pieniÄ…dze\\\\PudeÅko na pieniÄ…dze z życzeniami na Komunie ÅšwiÄ™tÄ… - Biblia\\\\_gotowe'; print(","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:10:20Z","tool":"Bash","cmd":"python -c \"import subprocess,sys; zyczenia='Kochana, w dniu Twojej Pierwszej Komunii ÅšwiÄ™tej życzymy Ci, aby ten wyjÄ…tkowy moment byÅ poczÄ…tkiem piÄ™knej drogi peÅnej miÅci, radoÅci i dob","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:10:37Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:32:54Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"SELECT oi.id AS item_id, oi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:33:02Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"patka2104@poczta.onet.pl\" --days 60 --json 2>&1 | head -20\",\"description\":\"Check customer emails\"},\"tool_response\":{\"stdout\":\"BRA","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:33:09Z","tool":"Bash","cmd":"python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --help 2>&1\",\"description\":\"Script help\"},\"tool_response\":{\"stdout\":\"usage: prosba_chrzestny_zlota_plexi_uv.py [-h] --klient KLIEN","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:33:18Z","tool":"Bash","cmd":"python -c \"import os; d=r'd:\\\\pomysloweprezenty.pl\\\\projekty\\\\chrzest ÅwiÄ™ty\\\\proÅby o zostanie chrzestnym'; import glob; print(glob.glob(d+'/**/_gotowe/Patrycja Ilnicka*', recursive=True)","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:33:30Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --klient \"Patrycja Ilnicka\" --imie-dziecka \"Michalinka\" --matka-wolacz \"Ciociu Paulino\" --ojciec-wolacz \"Wujku","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T08:33:38Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:03:27Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"SELECT oi.id AS item_id, oi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:03:35Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"magdadariusz@tlen.pl\" --days 60 --json 2>&1 | head -40\",\"description\":\"Check customer emails\"},\"tool_response\":{\"stdout\":\"BRAK: n","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:04:10Z","tool":"Bash","cmd":"python tools/generowanie/pudelko_komunia_dziewczynka.py --help 2>&1\",\"description\":\"Check script params\"},\"tool_response\":{\"stdout\":\"usage: pudelko_komunia_dziewczynka.py [-h] --klient KLIEN","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:04:23Z","tool":"Bash","cmd":"python -c \"import os; d=r'd:\\\\pomysloweprezenty.pl\\\\projekty\\\\komunia ÅwiÄ™ta - pudeÅka na pieniÄ…dze\\\\PudeÅko na pieniÄ…dze z życzeniami na Komunie ÅšwiÄ™tÄ… z nadrukiem UV - Dziewczynka","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:04:39Z","tool":"Bash","cmd":"python -c \"import subprocess,os,sys; zyczenia='Niech ÅšwiÄ™ta Komunia bÄ™dzie dniem, który zapamiÄ™tasz na zawsze. Å»yczymy Ci, abyÅ podążaÅa ÅcieżkÄ… wyznaczonÄ… przez Boga i codziennie czuÅ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:04:50Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:25:47Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"SELECT oi.id AS item_id, oi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:25:54Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"monika.j.kontakt@gmail.com\" --days 60 --json 2>&1 | head -10\",\"description\":\"Check emails\"},\"tool_response\":{\"stdout\":\"BRAK: nie ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:26:14Z","tool":"Bash","cmd":"python -c \"import os; d=r'd:\\\\pomysloweprezenty.pl\\\\projekty\\\\komunia ÅwiÄ™ta - pudeÅka na pieniÄ…dze\\\\PudeÅko na pieniÄ…dze z życzeniami na Komunie ÅšwiÄ™tÄ… z nadrukiem UV - ChÅopiec\\","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:26:29Z","tool":"Bash","cmd":"python -c \"\\nimport subprocess,os,sys\\nzyczenia1='PrzyjÄ™cie Komunii ÅšwiÄ™tej\\\\rto wielka radoÅć, ale i odpowiedzialnoÅć.\\\\rNiech ciaÅo Boże da Ci siÅÄ™ i odwagÄ™\\\\roraz chroni od wsz","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:26:42Z","tool":"Bash","cmd":"python -c \"\\nimport subprocess,os,sys\\nzyczenia2='Niech w Twoim sercu zawsze goÅci\\\\rBóg dobroci, Bóg miÅci.\\\\rNiech w każdej życia godzinie\\\\rstrzeże CiÄ™ Bóg Åaskawy.\\\\rNiech ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:26:51Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:40:40Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"SELECT oi.id AS item_id, oi","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:40:47Z","tool":"Bash","cmd":"python tools/generowanie/email_message_fetcher.py --email \"ukumaszka@wp.pl\" --days 60 --json 2>&1 | head -5\",\"description\":\"Check emails\"},\"tool_response\":{\"stdout\":\"BRAK: nie znaleziono w","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:40:58Z","tool":"Bash","cmd":"python -c \"import os; d=r'd:\\\\pomysloweprezenty.pl\\\\projekty\\\\komunia ÅwiÄ™ta - pudeÅka na pieniÄ…dze\\\\PudeÅko na pieniÄ…dze z życzeniami na Komunie ÅšwiÄ™tÄ… z nadrukiem UV - Dziewczynka","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:41:15Z","tool":"Bash","cmd":"python -c \"\\nimport subprocess,os,sys\\nzyczenia='Serduszko dziecka maÅe, jak lilia musi być biaÅe, jak Åza musi być czyste, jak toÅ„ wody przejrzyste…\\\\rNa pamiÄ…tkÄ™ pierwszej Komunii Åšw","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T09:41:24Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --default-character-set=utf8mb4 -e \"UPDATE order_items SET proj","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:31:09Z","tool":"Bash","cmd":"cd /d/temp/pomysloweprezenty.pl && python -c \"from docx import Document; d=Document('buteleczki.docx'); [print(p.text) for p in d.paragraphs]\" 2>&1 | head -100\",\"description\":\"Read docx contents","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:31:27Z","tool":"Bash","cmd":"pip install python-docx --quiet 2>&1 | tail -3\",\"description\":\"install python-docx\"},\"tool_response\":{\"stdout\":\"[notice] A new release of pip is available: 25.0.1 -> 26.1.1\\r\\n[notice] To ","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:31:35Z","tool":"Bash","cmd":"python -c \"\\nfrom docx import Document\\nd = Document(r'd:\\\\temp\\\\pomysloweprezenty.pl\\\\buteleczki.docx')\\nfor p in d.paragraphs:\\n if p.text.strip(): print(repr(p.text))\\nfor t in d.tab","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:31:45Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python -c \"\\nimport sys, io\\nsys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')\\nfrom docx import Document\\nd = Document(r'd:\\\\temp\\\\pomysloweprezenty.p","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:37:07Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_explore_buteleczki_klaudia.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:37:19Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_explore_buteleczki_klaudia.py\" 2>&1\",\"timeout\":120000,\"description\":\"Explore PSD str","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:37:46Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_explore_buteleczki_klaudia.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:38:08Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_explore_buteleczki_klaudia.py\" 2>&1\",\"timeout\":180000,\"description\":\"Explore PSD sma","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:38:44Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python -c \"\\nimport re\\nwith open(r'C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_pudelko_komunia_core.py', encoding='utf-8') as f:\\n s = f","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:39:22Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:39:54Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:40:09Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:40:36Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:41:15Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:41:43Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --only 1 2>&1\",\"timeout\":300000,\"description\":\"Cl","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:42:19Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:42:31Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:43:00Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --only 1 2>&1\",\"timeout\":300000,\"description\":\"Te","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T10:50:59Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --from 2 --to 23 2>&1\",\"timeout\":600000,\"descriptio","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:11:03Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:11:11Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:11:23Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:11:50Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --only 1 2>&1\",\"timeout\":300000,\"description\":\"Te","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:12:57Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:13:24Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:13:32Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:14:04Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --only 1 2>&1\",\"timeout\":300000,\"description\":\"Te","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:20:49Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:20:56Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:21:27Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --only 1 2>&1\",\"timeout\":300000,\"description\":\"Te","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:29:59Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --from 2 --to 23 2>&1 | tail -100\",\"timeout\":900000,","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:33:19Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:33:27Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:33:48Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python \"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\buteleczki_klaudia_buczma_batch.py\" --names \"Bartenders For You;Bartenders For You\" --ind","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:34:43Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro -e \"SELECT id, product_name_pat","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:34:57Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch -e \"\\nSELECT\\n oi.","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:35:06Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch -e \"SELECT o.internal_o","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:35:14Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch -e \"SELECT id, name FRO","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:35:22Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch -e \"SELECT id, name FRO","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:35:42Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_query_zarnowska.sql","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:35:50Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch < \"C:/visual studio cod","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:36:14Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python tools/generowanie/email_message_fetcher.py --email \"agnieszkazarnowska998@gmail.com\" --days 60 --json 2>&1\",\"description\":\"Check emails\"},\"tool_response\":{\"stdo","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:36:23Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python tools/generowanie/email_photo_fetcher.py --email \"agnieszkazarnowska998@gmail.com\" --out \"C:/tmp/orderpro_photos\" --days 365 2>&1\",\"description\":\"Fetch photo\"},\","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:37:48Z","tool":"Bash","cmd":"tasklist //FI \"IMAGENAME eq Photoshop.exe\" 2>&1 | grep -i photoshop\",\"description\":\"Check Photoshop running\"},\"tool_response\":{\"stdout\":\"Binary file (standard input) matches\",\"stderr\":\","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:38:38Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python tools/generowanie/akrylowe_podziekowanie_ojciec_chrzestny_wzor2.py --klient \"Agnieszka Żarnowska\" --imie \"Nela\" --plec k --data \"31.05.2026\" --zdjecie \"C:/tmp/ord","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:38:54Z","tool":"Bash","cmd":"PYTHONIOENCODING=utf-8 python tools/generowanie/akrylowe_podziekowanie_matka_chrzestna_wzor2.py --klient \"Agnieszka Żarnowska\" --imie \"Nela\" --plec k --data \"31.05.2026\" --zdjecie \"C:/tmp/orde","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:39:03Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_mark_zarnowska.sql","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T11:39:12Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch < \"C:/visual studio cod","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:15:46Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_query_1009.sql","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:15:54Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch < \"C:/visual studio cod","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:16:05Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_update_1009.sql","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:16:13Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch < \"C:/visual studio cod","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:19:40Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_query_1009_full.sql","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:19:47Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro < \"C:/visual studio code/projek","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:20:32Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\tools\\\\generowanie\\\\_update_1009_total.sql","cwd":"/c/visual studio code/projekty/orderPRO"}
{"ts":"2026-05-11T12:20:43Z","tool":"Bash","cmd":"\"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -phrDNtUBg9grwZ7syN77S host700513_orderpro --batch < \"C:/visual studio cod","cwd":"/c/visual studio code/projekty/orderPRO"}

View File

@@ -0,0 +1,112 @@
"""Inspekcja PSD: wejscie do kazdego SO i wypisanie jego warstw."""
import os
import subprocess
import time
import photoshop.api as ps
PSD = r"d:\pomysloweprezenty.pl\projekty\buteleczki - indywidualny wzór\Klaudia Buczma.psd"
PHOTOSHOP_EXE_CANDIDATES = [
r"C:\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe",
r"C:\Program Files\Adobe\Adobe Photoshop 2023\Photoshop.exe",
r"C:\Program Files\Adobe\Adobe Photoshop 2025\Photoshop.exe",
r"C:\Program Files\Adobe\Adobe Photoshop 2026\Photoshop.exe",
]
def ensure_photoshop():
try:
return ps.Application()
except Exception:
for exe in PHOTOSHOP_EXE_CANDIDATES:
if os.path.exists(exe):
subprocess.Popen([exe])
break
for _ in range(30):
time.sleep(2)
try:
return ps.Application()
except Exception:
continue
raise RuntimeError("brak PS")
def open_smart_object(app):
desc = ps.ActionDescriptor()
ref = ps.ActionReference()
ref.putEnumerated(
app.stringIDToTypeID("layer"),
app.stringIDToTypeID("ordinal"),
app.stringIDToTypeID("targetEnum"),
)
desc.putReference(app.stringIDToTypeID("null"), ref)
app.executeAction(app.stringIDToTypeID("placedLayerEditContents"), desc)
def walk(layer, prefix=""):
try:
name = layer.name
except Exception:
name = "?"
kind = type(layer).__name__
extra = ""
try:
if hasattr(layer, "kind"):
extra = f" kind={layer.kind}"
except Exception:
pass
try:
bounds = [float(b) for b in layer.bounds]
extra += f" bounds={bounds}"
except Exception:
pass
content = ""
try:
if hasattr(layer, "textItem"):
content = f" text=\"{layer.textItem.contents}\""
except Exception:
pass
print(f"{prefix}- {name} [{kind}]{extra}{content}")
for attr in ("layerSets", "artLayers"):
try:
for c in getattr(layer, attr):
walk(c, prefix + " ")
except Exception:
pass
def dump_doc(doc, label):
print(f"=== {label}: {doc.name} ===")
for ls in doc.layerSets:
walk(ls, "")
for al in doc.artLayers:
walk(al, "")
def main():
app = ensure_photoshop()
doc = app.open(PSD)
dump_doc(doc, "ROOT")
so_names = ["Warstwa 2", "Warstwa 2 kopia", "Warstwa 2 kopia 2", "Warstwa 2 kopia 3"]
for so_name in so_names:
try:
target = doc.artLayers[so_name]
except Exception:
print(f"!! brak warstwy {so_name}")
continue
doc.activeLayer = target
try:
open_smart_object(app)
except Exception as e:
print(f"!! nie udalo sie wejsc do {so_name}: {e}")
continue
so_doc = app.activeDocument
dump_doc(so_doc, f"SO[{so_name}]")
so_doc.close(ps.SaveOptions.DoNotSaveChanges)
doc.close(ps.SaveOptions.DoNotSaveChanges)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,3 @@
SET NAMES utf8mb4;
UPDATE order_items SET project_generated = 1, project_generated_at = NOW() WHERE id IN (5911, 5912);
SELECT id, project_generated, project_generated_at FROM order_items WHERE id IN (5911, 5912);

View File

@@ -0,0 +1,5 @@
SET NAMES utf8mb4;
SELECT oi.id, oi.original_name, oi.quantity, oi.project_generated
FROM order_items oi
WHERE oi.order_id = 1009
ORDER BY oi.id;

View File

@@ -0,0 +1,8 @@
SET NAMES utf8mb4;
SHOW COLUMNS FROM orders;
SELECT '---';
SHOW COLUMNS FROM order_items;
SELECT '---';
SELECT * FROM order_items WHERE id = 5898\G
SELECT '---';
SELECT * FROM orders WHERE id = 1009\G

View File

@@ -0,0 +1,27 @@
SET NAMES utf8mb4;
SELECT
oi.id AS item_id,
oi.original_name AS product_name,
oi.personalization,
oi.quantity,
o.id AS order_id,
o.internal_order_number,
o.status_code AS status_code,
oa.name AS buyer_name,
oa.email AS buyer_email,
pm.script_name,
pm.output_dir,
pm.requires_photo,
(SELECT GROUP_CONCAT(n.comment SEPARATOR '\n---\n') FROM order_notes n WHERE n.order_id = o.id AND n.note_type = 'message') AS customer_message
FROM order_items oi
JOIN orders o ON oi.order_id = o.id
JOIN order_statuses os ON o.status_code = os.code
JOIN order_status_groups osg ON os.group_id = osg.id
JOIN project_mappings pm ON pm.is_active = 1 AND oi.original_name = pm.product_name_pattern
LEFT JOIN order_addresses oa ON o.id = oa.order_id AND oa.address_type = 'customer'
WHERE osg.id = 2
AND oi.project_generated = 0
AND oi.personalization IS NOT NULL
AND oi.personalization <> ''
AND oa.name LIKE '%Żarnowska%'
ORDER BY o.id;

View File

@@ -0,0 +1,3 @@
SET NAMES utf8mb4;
UPDATE order_items SET quantity = 1 WHERE id = 5898;
SELECT id, original_name, quantity FROM order_items WHERE id = 5898;

View File

@@ -0,0 +1,3 @@
SET NAMES utf8mb4;
UPDATE orders SET total_with_tax = 89.00, total_paid = 89.00 WHERE id = 1009;
SELECT id, internal_order_number, total_with_tax, total_paid FROM orders WHERE id = 1009;

View File

@@ -0,0 +1,275 @@
"""
Generator wsadowy PSD: buteleczki "Klaudia Buczma" (4 gosci per PSD).
Otwiera szablon `Klaudia Buczma.psd`, dla kazdej z 4 warstw Smart Object
(Warstwa 2, Warstwa 2 kopia, Warstwa 2 kopia 2, Warstwa 2 kopia 3) wchodzi
do srodka i podmienia warstwe tekstowa `gosc` (sciezka: Warstwa 4 -> gosc).
Zapisuje jako `Klaudia Buczma NN.psd` w `_gotowe/`.
Lista gosci pobierana z .docx (komorki tabeli).
Grupy < 4 osob -> brakujace SO sa ukrywane (visible=False).
Uzycie:
python buteleczki_klaudia_buczma_batch.py # wszystkie grupy
python buteleczki_klaudia_buczma_batch.py --only 1 # tylko pierwsza grupa (test)
python buteleczki_klaudia_buczma_batch.py --from 5 --to 7 # zakres grup
"""
import argparse
import os
import subprocess
import sys
import time
import photoshop.api as ps
from docx import Document
PROJEKT_DIR = r"d:\pomysloweprezenty.pl\projekty\buteleczki - indywidualny wzór"
SZABLON_PATH = os.path.join(PROJEKT_DIR, "Klaudia Buczma.psd")
GOTOWE_DIR = os.path.join(PROJEKT_DIR, "_gotowe_edytowalne")
DOCX_PATH = r"d:\temp\pomysloweprezenty.pl\buteleczki.docx"
SO_LAYER_NAMES = [
"Warstwa 2 kopia 2", # lewy gora
"Warstwa 2 kopia 3", # prawy gora
"Warstwa 2 kopia", # lewy dol
"Warstwa 2", # prawy dol
]
# Sciezka do warstwy `gosc` wewnatrz SO
SO_GROUP_NAME = "Warstwa 4"
GOSC_LAYER_NAME = "gosc"
PHOTOSHOP_EXE_CANDIDATES = [
r"C:\Program Files\Adobe\Adobe Photoshop 2024\Photoshop.exe",
r"C:\Program Files\Adobe\Adobe Photoshop 2023\Photoshop.exe",
r"C:\Program Files\Adobe\Adobe Photoshop 2025\Photoshop.exe",
r"C:\Program Files\Adobe\Adobe Photoshop 2026\Photoshop.exe",
]
def ensure_photoshop():
try:
return ps.Application()
except Exception:
for exe in PHOTOSHOP_EXE_CANDIDATES:
if os.path.exists(exe):
subprocess.Popen([exe])
break
for _ in range(30):
time.sleep(2)
try:
return ps.Application()
except Exception:
continue
raise RuntimeError("Nie udalo sie uruchomic Photoshopa")
def open_smart_object(app):
"""Otwiera zawartosc aktywnej warstwy Smart Object do edycji."""
desc = ps.ActionDescriptor()
ref = ps.ActionReference()
ref.putEnumerated(
app.stringIDToTypeID("layer"),
app.stringIDToTypeID("ordinal"),
app.stringIDToTypeID("targetEnum"),
)
desc.putReference(app.stringIDToTypeID("null"), ref)
app.executeAction(app.stringIDToTypeID("placedLayerEditContents"), desc)
def delete_active_layer(app):
"""Usuwa aktywna warstwe (przez action manager - dziala na surowych COM)."""
desc = ps.ActionDescriptor()
ref = ps.ActionReference()
ref.putEnumerated(
app.stringIDToTypeID("layer"),
app.stringIDToTypeID("ordinal"),
app.stringIDToTypeID("targetEnum"),
)
desc.putReference(app.stringIDToTypeID("null"), ref)
app.executeAction(app.stringIDToTypeID("delete"), desc)
def smart_object_make_copy(app):
"""Layer > Smart Objects > New Smart Object Via Copy.
Odlacza aktywny SO od pozostalych zlinkowanych instancji."""
app.executeAction(
app.stringIDToTypeID("placedLayerMakeCopy"), ps.ActionDescriptor()
)
def set_text(layer, new_text):
"""Zmienia tekst zachowujac srodek bounding boxa."""
b = [float(x) for x in layer.bounds]
cx_before = (b[0] + b[2]) / 2
cy_before = (b[1] + b[3]) / 2
layer.textItem.contents = new_text
b2 = [float(x) for x in layer.bounds]
cx_after = (b2[0] + b2[2]) / 2
cy_after = (b2[1] + b2[3]) / 2
dx = cx_before - cx_after
dy = cy_before - cy_after
if dx or dy:
layer.translate(dx, dy)
def split_two_lines(name):
"""Lamie nazwe na 2 linie - przy spacji najblizszej srodkowi.
Dla 1-slowowych zwraca bez zmian."""
parts = name.split(" ")
if len(parts) < 2:
return name
mid = len(name) / 2
best_i = None
best_dist = None
pos = 0
for i, part in enumerate(parts[:-1]):
pos += len(part)
dist = abs(pos - mid)
if best_dist is None or dist < best_dist:
best_dist = dist
best_i = i
pos += 1 # spacja
left = " ".join(parts[: best_i + 1])
right = " ".join(parts[best_i + 1 :])
return f"{left}\r{right}"
def read_names(docx_path):
doc = Document(docx_path)
names = []
for t in doc.tables:
for row in t.rows:
for cell in row.cells:
txt = cell.text.strip()
if txt:
names.append(txt)
return names
def chunk4(items):
for i in range(0, len(items), 4):
yield items[i:i + 4]
def find_layer_by_name(container, name):
"""Rekurencyjnie szuka warstwy po nazwie w doc/layerSet."""
for ls in container.layerSets:
if ls.name == name:
return ls
found = find_layer_by_name(ls, name)
if found is not None:
return found
for al in container.artLayers:
if al.name == name:
return al
return None
def edit_so_gosc(app, doc, so_layer_name, gosc_text):
"""Wchodzi do SO, podmienia gosc, zapisuje i wraca."""
target = find_layer_by_name(doc, so_layer_name)
if target is None:
raise RuntimeError(f"Nie znaleziono warstwy {so_layer_name}")
doc.activeLayer = target
# 4 SO w szablonie sa zlinkowane (wspolny kontener). "New Smart Object Via
# Copy" tworzy niezalezna kopie obok zrodla. Kasujemy oryginal i
# przemianowujemy kopie - efekt: ta sama warstwa w tym samym miejscu,
# ale juz odpieta od pozostalych instancji.
smart_object_make_copy(app)
independent = doc.activeLayer
independent_name_tmp = independent.name
# Skasuj oryginal (target) - aktywuj go i usun przez action manager
doc.activeLayer = target
delete_active_layer(app)
# Wroc do niezaleznej kopii i nadaj jej nazwe oryginalu
doc.activeLayer = independent
independent.name = so_layer_name
open_smart_object(app)
so_doc = app.activeDocument
gosc_layer = find_layer_by_name(so_doc, GOSC_LAYER_NAME)
if gosc_layer is None:
raise RuntimeError(f"Nie znaleziono warstwy '{GOSC_LAYER_NAME}' w SO {so_layer_name}")
old = gosc_layer.textItem.contents
set_text(gosc_layer, gosc_text)
so_doc.save()
so_doc.close()
print(f" {so_layer_name}: '{old.strip()}' -> '{gosc_text}'")
def generate_group(app, names_group, index):
"""Generuje jeden PSD dla grupy do 4 nazwisk."""
os.makedirs(GOTOWE_DIR, exist_ok=True)
out_name = f"Klaudia Buczma {index:02d}.psd"
out_path = os.path.join(GOTOWE_DIR, out_name)
doc = app.open(SZABLON_PATH)
print(f"[{index:02d}] otwarto szablon ({len(names_group)} osob)")
for slot_idx, so_name in enumerate(SO_LAYER_NAMES):
if slot_idx < len(names_group):
edit_so_gosc(app, doc, so_name, split_two_lines(names_group[slot_idx]))
else:
doc.artLayers[so_name].visible = False
print(f" {so_name}: UKRYTE (brak osoby)")
psd_opts = ps.PhotoshopSaveOptions()
doc.saveAs(out_path, psd_opts, True)
print(f"[{index:02d}] zapisano: {out_path}")
doc.close(ps.SaveOptions.DoNotSaveChanges)
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--only", type=int, help="Tylko jedna grupa (1-based)")
parser.add_argument("--from", dest="from_", type=int, default=1, help="Od grupy N")
parser.add_argument("--to", type=int, help="Do grupy N (wlacznie)")
parser.add_argument(
"--names",
help="Lista nazwisk oddzielona ';' (1-4 sztuk). Generuje jeden PSD.",
)
parser.add_argument(
"--index",
type=int,
help="Numer wynikowego PSD przy uzyciu --names (np. 24 -> 'Klaudia Buczma 24.psd')",
)
args = parser.parse_args()
app = ensure_photoshop()
while app.documents.length > 0:
app.activeDocument.close(ps.SaveOptions.DoNotSaveChanges)
if args.names:
if args.index is None:
raise SystemExit("--names wymaga --index N")
custom = [n.strip() for n in args.names.split(";") if n.strip()]
if not (1 <= len(custom) <= 4):
raise SystemExit("--names: 1-4 nazwisk oddzielonych ';'")
generate_group(app, custom, args.index)
print("Gotowe!")
return
names = read_names(DOCX_PATH)
groups = list(chunk4(names))
print(f"Wczytano {len(names)} osob -> {len(groups)} grup po 4")
if args.only:
indices = [args.only]
else:
end = args.to or len(groups)
indices = list(range(args.from_, end + 1))
for idx in indices:
if not (1 <= idx <= len(groups)):
print(f"Pominieto grupe {idx} (poza zakresem)")
continue
generate_group(app, groups[idx - 1], idx)
print("Gotowe!")
if __name__ == "__main__":
main()