nordabiz/import_collected_news.py
2026-01-01 14:01:49 +01:00

1228 lines
55 KiB
Python

#!/usr/bin/env python3
"""
Import Collected News to NordaBiz Database
===========================================
Skrypt importuje newsy zebrane przez agentow AI do bazy danych NordaBiz.
Dane pochodza z wyszukiwan wykonanych w dniu 2025-12-29.
Podsumowanie zebranych danych:
- 80 firm przeszukanych
- 70 firm z newsami
- 157+ newsow znalezionych
Typy newsow:
- news_mention - wzmianka w mediach
- award - nagroda/wyroznienie
- press_release - komunikat prasowy
- financial - informacje finansowe
- project - realizacja/projekt
Uruchomienie:
python3 import_collected_news.py --dry-run # Test
python3 import_collected_news.py # Import produkcyjny
Data utworzenia: 2025-12-29
Autor: Claude Code
"""
import sys
import argparse
from datetime import datetime
from typing import List, Dict, Optional
from difflib import SequenceMatcher
# Import database models
from database import SessionLocal, Company, CompanyNews
# ============================================================
# COLLECTED NEWS DATA
# ============================================================
COLLECTED_NEWS = [
# Batch 1 - SIM Rumia, EL Professional, KORNIX, etc.
{
"company_name": "SIM Rumia",
"news": [
{
"title": "Pierwszy blok SIM oddany do uzytku - 75 mieszkancow",
"summary": "Pierwszy w Rumi blok wybudowany w formule spolecznej inicjatywy mieszkaniowej (SIM) przy ul. Reja stal sie domem dla 75 osob.",
"source_url": "https://rumia.eu/kolejni-mieszkancy-na-swoim-sim-rumia-nie-zwalnia-tempa",
"source_name": "rumia.eu",
"news_type": "news_mention",
"published_date": "2025-04-01"
},
{
"title": "Zakonczenie budowy 72 mieszkan komunalnych przy ul. Reja",
"summary": "Zakonczono budowe 72 mieszkan komunalnych. W najblizszych tygodniach wprowadza sie kolejni mieszkancy.",
"source_url": "https://otowejherowo.pl/07/05/2025/rumia-rozwija-oferte-mieszkaniowa-nowe-lokale-komunalne-i-kolejne-inwestycje/",
"source_name": "otoWejherowo",
"news_type": "project",
"published_date": "2025-05-01"
},
{
"title": "Nowa inwestycja SIM przy ul. Jeziornej - 101 mieszkan",
"summary": "SIM Rumia projektuje kolejne osiedle przy ul. Jeziornej z 101 mieszkaniami. Pozwolenie na budowe planowane jeszcze w 2025 roku.",
"source_url": "https://rumiasim.pl/inwestycje/",
"source_name": "rumiasim.pl",
"news_type": "project",
"published_date": "2025-01-01"
}
]
},
{
"company_name": "EL Professional",
"news": [
{
"title": "Montaz turbiny wiatrowej w Warblewo (Pomorskie)",
"summary": "EL Professional realizuje montaz turbiny wiatrowej w miejscowosci Warblewo w wojewodztwie pomorskim.",
"source_url": "https://elprofessional.pl/realizacje",
"source_name": "elprofessional.pl",
"news_type": "project",
"published_date": "2024-06-01"
},
{
"title": "Budowa przylacza dla Farmy Wiatrowej Waganiec",
"summary": "Firma zrealizowala budowe przylacza energetycznego dla Farmy Wiatrowej w miejscowosci Waganiec.",
"source_url": "https://elprofessional.pl/realizacje",
"source_name": "elprofessional.pl",
"news_type": "project",
"published_date": "2024-09-01"
}
]
},
{
"company_name": "KORNIX",
"news": [
{
"title": "Kontrola sluzb w sprawie handlu sklejka",
"summary": "W siedzibie firmy doszlo do przeszukan i zabezpieczenia sklejki. Sprawa dotyczy weryfikacji importerow sklejki w kontekscie sankcji na Rosje i Bialorus.",
"source_url": "https://superbiz.se.pl/wiadomosci/w-tle-nielegalny-handel-sklejka-z-rosji-i-bialorusi-aa-hEYf-fpSc-WRas.html",
"source_name": "SuperBiz",
"news_type": "news_mention",
"published_date": "2024-08-01"
},
{
"title": "Nowy oddzial - Kornix Belchatow",
"summary": "Zarejestrowano nowa spolke Kornix Belchatow Sp. z o.o. zajmujaca sie sprzedaza hurtowa plyt meblowych.",
"source_url": "https://rejestr.io/krs/1016694/kornix-belchatow",
"source_name": "rejestr.io",
"news_type": "news_mention",
"published_date": "2024-01-31"
}
]
},
{
"company_name": "KonkretStudio",
"news": [
{
"title": "Nowy cennik i oferta Wiosna/Lato 2025",
"summary": "Firma opublikowala nowa oferte na sezon Wiosna/Lato 2025, w tym cennik oklejania aut i kalendarze.",
"source_url": "https://konkretstudio.pl/pliki/cennik2024_net.pdf",
"source_name": "konkretstudio.pl",
"news_type": "news_mention",
"published_date": "2025-01-01"
}
]
},
# Batch 3 - GRAAL, Eko Laser, P&P
{
"company_name": "GRAAL",
"news": [
{
"title": "Lisner przejmuje Graal - finalizacja transakcji",
"summary": "Lisner (Grupa Theo Muller) sfinalizowal przejecie czesci aktywow Grupy Graal - lidera produkcji konserw rybnych z Wejherowa. Transakcja obejmuje konserwy rybne, dania gotowe i marynaty. UOKiK wyrazil zgode we wrzesniu 2024.",
"source_url": "https://www.trojmiasto.pl/biznes/Producent-puszek-rybnych-sprzedany-n196444.html",
"source_name": "trojmiasto.pl",
"news_type": "news_mention",
"published_date": "2024-11-29"
},
{
"title": "Koral (Grupa Graal) sprzedany do Captain Fresh",
"summary": "Koral S.A. (ryby wedzone i mrozone, marka SuperFish) zostal przejety przez indyjska grupe Captain Fresh. Dotychczasowi wlasciciele - Abris Capital i Boguslaw Kowalski - stali sie udzialowcami Captain Fresh.",
"source_url": "https://www.portalspozywczy.pl/mieso/wiadomosci/duze-przejecie-w-branzy-rybnej-stalo-sie-faktem-polski-czempion-zmienia-wlasciciela,273504.html",
"source_name": "Portal Spozywczy",
"news_type": "news_mention",
"published_date": "2024-12-23"
},
{
"title": "Graal Tunczyk zdobywa nagrode MSC Awards Poland 2024",
"summary": "Produkt Graal Tunczyk w sosie wlasnym 170g zdobyl nagrode MSC Awards Poland 2024 dla najlepszego produktu MSC 2024.",
"source_url": "https://graal.pl/en/news/",
"source_name": "graal.pl",
"news_type": "award",
"published_date": "2024-10-01"
},
{
"title": "Koral wchodzi do joint venture Captain Fresh i Sekkingstad",
"summary": "Polska fabryka Koral zostanie wlaczona do formalnego joint venture miedzy Captain Fresh a norweska firma Sekkingstad. Captain Fresh planuje debiut na gieldzie w Bombaju w 2025.",
"source_url": "https://www.undercurrentnews.com/2025/02/07/koral-to-be-included-in-captain-fresh-sekkingstad-salmon-jv-with-more-to-come/",
"source_name": "Undercurrent News",
"news_type": "news_mention",
"published_date": "2025-02-07"
}
]
},
{
"company_name": "Eko Laser",
"news": [
{
"title": "Nowy laser TruLaser Tube 5000 fiber w ofercie Eko-Laser",
"summary": "Firma Eko-Laser dodala do oferty nowe urzadzenie TruLaser Tube 5000 fiber umozliwiajace ciecie rur do 152mm (opcjonalnie 170mm) srednicy.",
"source_url": "https://ekolaser.pl/nowy-laser-w-naszej-ofercie/",
"source_name": "ekolaser.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
# Batch 4 - Radio Norda FM, Armet Bis
{
"company_name": "Radio Norda FM",
"news": [
{
"title": "Uruchomienie nadajnika w Leborku na 98,0 MHz",
"summary": "Radio Norda FM uruchomilo trzeci nadajnik FM - tym razem w Leborku na czestotliwosci 98,0 MHz. Emisja prowadzona z wiezy BCAST w Czarnowku. Pozwolenie radiowe wydane 17 grudnia 2024 r.",
"source_url": "https://nadmorski24.pl/aktualnosci/70055-lokalne-radio-na-fali-norda-fm-uruchomilo-nadajnik-w-leborku",
"source_name": "nadmorski24.pl",
"news_type": "news_mention",
"published_date": "2025-01-27"
},
{
"title": "Uruchomienie nadajnika w Slupsku na 87,6 MHz",
"summary": "Norda FM rozpoczela nadawanie w Slupsku na czestotliwosci 87,6 MHz. Sygnal emitowany z komina ENGIE EC Slupsk KR-2. KRRiT przyznala osobna koncesje dla programu Norda FM Slupsk.",
"source_url": "https://nadmorski24.pl/aktualnosci/66280-juz-jest-norda-fm-slupsk-nadaje-na-czestotliwosci-87-6-mhz",
"source_name": "nadmorski24.pl",
"news_type": "news_mention",
"published_date": "2024-08-07"
},
{
"title": "Uruchomienie nadajnika w Redzie na 93,6 MHz",
"summary": "Od czerwca 2024 dziala Norda FM Reda na 93,6 MHz, poprawiajac odbior dla mieszkancow Redy, Rumi, Kosakowa, Pucka, Wejherowa i Gdyni.",
"source_url": "https://radiopolska.pl/blog/2024/08/slupsk-druga-norda-fm-na-historycznych-kaszubach",
"source_name": "radiopolska.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "Armet Bis",
"news": [
{
"title": "Realizacja wyposazenia hotelu Osada Sniezka",
"summary": "Armet Bis zrealizowalo wyposazenie meblowe hotelu Osada Sniezka (180 pokoi) oraz terminala lotniska Gdansk Lech Walesa.",
"source_url": "https://rejestr.io/krs/16583/armet-bis",
"source_name": "businesspl.com",
"news_type": "project",
"published_date": "2024-01-01"
}
]
},
# Batch 5 - Eura-Tech, Delkom, Hotel SPA Wieniawa
{
"company_name": "Eura-Tech",
"news": [
{
"title": "Plany rozwoju na 2025 rok",
"summary": "Spolka planuje wejscie na rynek zamowien publicznych w kategorii czujniki czadu i dymu, certyfikacje nowych produktow, wejscie do nowych sieci sprzedazy i grup zakupowych.",
"source_url": "https://rejestr.io/krs/190941/eura-tech",
"source_name": "rejestr.io",
"news_type": "press_release",
"published_date": "2025-04-01"
},
{
"title": "Wyniki finansowe 2023 - wzrost o 10%",
"summary": "Przychody ponad 24,158 tys. zl. Dynamika rok do roku: wzrost o 10%. Zysk brutto 2,647 tys. zl.",
"source_url": "https://rejestr.io/krs/190941/eura-tech",
"source_name": "rejestr.io",
"news_type": "financial",
"published_date": "2024-06-01"
},
{
"title": "Certyfikat CNBOP-PIB dla czujnikow czadu",
"summary": "Czujniki czadu Eura-Tech pomyslnie przeszly certyfikacje CNBOP-PiB, uzyskujac znak budowlany B.",
"source_url": "https://www.eura-tech.eu/",
"source_name": "eura-tech.eu",
"news_type": "award",
"published_date": "2024-03-01"
}
]
},
{
"company_name": "Delkom",
"news": [
{
"title": "HP Partner Excellence Award 2024 - kategoria One HP",
"summary": "Delkom otrzymal nagrode HP Partner Excellence Award 2024 w kategorii One HP. Pawel Kwidzinski, Dyrektor ds. Rozwoju i Sprzedazy B2B: 'Bardzo dziekuje calemu zespolowi Delkom.'",
"source_url": "https://itreseller.pl/hp-partner-excellence-award-2024-bardzo-dziekuje-calemu-zespolowi-delkom-to-jest-przede-wszystkim-wasza-nagroda-powiedzial-pawel-kwidzynski-delkom/",
"source_name": "ITReseller",
"news_type": "award",
"published_date": "2024-11-01"
},
{
"title": "Lenovo Top Partners Award 2023 - Partner Roku SMB",
"summary": "Delkom otrzymal tytul Partnera Roku w kategorii Produkty biznesowe SMB podczas Gali Lenovo Top Partners Award 2023.",
"source_url": "https://delkom.pl/aktualnosc/gala-lenovo-top-partners-award-118",
"source_name": "delkom.pl",
"news_type": "award",
"published_date": "2023-12-01"
}
]
},
{
"company_name": "Hotel SPA Wieniawa",
"news": [
{
"title": "Koncert MYSLOVITZ - 25 lat Milosci w Czasach Popkultury",
"summary": "Hotel promowal koncert MYSLOVITZ w Filharmonii Kaszubskiej w Wejherowie z okazji 25-lecia albumu.",
"source_url": "https://hotelwieniawa.com/hotel/aktualnosci",
"source_name": "hotelwieniawa.com",
"news_type": "news_mention",
"published_date": "2024-10-11"
},
{
"title": "Koncerty noworoczne i wydarzenia kulturalne 2024-2025",
"summary": "Hotel organizuje cykl 'Spotkania z Kultura': Koncert Noworoczny, Koncert z okazji Dnia Kobiet, Koncert Piosenki Francuskiej.",
"source_url": "https://hotelwieniawa.com/hotel/aktualnosci",
"source_name": "hotelwieniawa.com",
"news_type": "news_mention",
"published_date": "2024-12-01"
}
]
},
{
"company_name": "Biuro Rachunkowosci Perfekta",
"news": [
{
"title": "35 lat dzialalnosci firmy",
"summary": "Spolka Perfekta zostala zalozona w 1989 roku, dziala nieprzerwanie od 35 lat. Zespol ponad 25 pracownikow, w tym 2 doradcow podatkowych i 1 biegly rewident.",
"source_url": "https://br-perfekta.pl/",
"source_name": "br-perfekta.pl",
"news_type": "news_mention",
"published_date": "2024-01-01"
}
]
},
# Batch 6 - Ekofabryka, Kaszubski Bank Spoldzielczy, BORMAX
{
"company_name": "Ekofabryka",
"news": [
{
"title": "Konkurs 'Pokochaj segregacje' - edycja II (2025)",
"summary": "Ekofabryka organizuje konkurs zachecajacy mieszkancow do pokazania jak zorganizowali miejsce na segregacje odpadow w domach.",
"source_url": "https://ekofabrykawejherowo.pl/centrum-edukacji-ekologicznej/pozostale-dzialania/inicjatywy-ekologiczne/",
"source_name": "ekofabrykawejherowo.pl",
"news_type": "news_mention",
"published_date": "2025-02-01"
},
{
"title": "Bezplatne warsztaty krawieckie 'Szycie odziezy ze starych ubran'",
"summary": "Warsztaty dla doroslych z woj. pomorskiego w ramach edukacji ekologicznej. Temat: przerabianie starych ubran na nowe.",
"source_url": "https://ekofabrykawejherowo.pl/centrum-edukacji-ekologicznej/",
"source_name": "ekofabrykawejherowo.pl",
"news_type": "news_mention",
"published_date": "2025-02-15"
},
{
"title": "VIII Galeria Wejherowskie Klamoty",
"summary": "Osma edycja wydarzenia promujacego innowacyjna ekologie. Cieszylo sie duzym zainteresowaniem mieszkancow.",
"source_url": "https://www.wejherowo.pl/artykuly/wejherowska-ekofabryka-ma-juz-2-lata-a9993.html",
"source_name": "wejherowo.pl",
"news_type": "news_mention",
"published_date": "2024-04-01"
},
{
"title": "Nagrody dla Ekofabryki - Puchar Recyklingu NFOSiGW",
"summary": "Ekofabryka otrzymala liczne nagrody: Puchar Recyklingu NFOSiGW, wyroznienie 'Innowacja i inspiracja w gospodarce odpadami', Zielony Gryf w konkursie 'Klimatyczna Gmina'.",
"source_url": "https://www.modernizacjaroku.org.pl/pl/edition/2837/object/3185/ekofabryka-pelniaca-funkcje-centrum-edukacji-ekologicznej-ul-ekologiczna-7",
"source_name": "modernizacjaroku.org.pl",
"news_type": "award",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "Kaszubski Bank Spoldzielczy",
"news": [
{
"title": "Gala 'Zuraw Sukcesu 2024' - wrzesien 2025",
"summary": "Trzecia uroczysta gala wrecenia nagrod 'Zuraw Sukcesu 2024' w Gdyni. Wystepy artystow z Teatru Muzycznego i prelekcja Karola Bieleckiego o motywacji.",
"source_url": "https://www.bank-kaszubski.pl/zuraw-sukcesu/",
"source_name": "bank-kaszubski.pl",
"news_type": "news_mention",
"published_date": "2025-09-26"
},
{
"title": "Artykul w Bankowosci Spoldzielczej - 'Najpierw czlowiek, potem liczby'",
"summary": "Artykul opisuje podejscie banku do obslugi klientow. Bank posiada ponad 100 lat historii (od 1906 r.) i 7 placowek w powiecie wejherowskim i kartuskim.",
"source_url": "https://bs.net.pl/najpierw-czlowiek-potem-liczby-tak-tworzymy-bankowosc-w-kaszubskim-banku-spoldzielczym/",
"source_name": "bs.net.pl",
"news_type": "press_release",
"published_date": "2024-09-01"
}
]
},
{
"company_name": "BORMAX",
"news": [
{
"title": "Partner programu Wejherowska Karta Mieszkanca",
"summary": "BORMAX jest partnerem programu Wejherowska Karta Mieszkanca, oferujac znizki dla posiadaczy karty.",
"source_url": "https://wejherowskakarta.pl/n-partner-szczegoly.qbpage?id=780144",
"source_name": "wejherowskakarta.pl",
"news_type": "news_mention",
"published_date": "2024-01-01"
}
]
},
{
"company_name": "Mesan",
"news": [
{
"title": "Spotkanie z Vaillantem w Hurtowni Mesan",
"summary": "Grupa SBS organizowala spotkanie produktowe z firma Vaillant w hurtowni Mesan w Wejherowie.",
"source_url": "https://www.grupa-sbs.pl/aktualnosci/spotkanie-z-vaillantem-w-hurtowni-mesan",
"source_name": "grupa-sbs.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
# Batch 7 - Orlex MG, Kupsa Coatings, Pelmar, Pro-Sport, Riela Polska, ROTOR
{
"company_name": "Orlex MG",
"news": [
{
"title": "Emisja obligacji serii MOUNT_3",
"summary": "Spolka Orlex MG wyemitowala obligacje serii MOUNT_3 w maju 2024 roku.",
"source_url": "https://rejestr.io/krs/709934/orlex-mg",
"source_name": "rejestr.io",
"news_type": "financial",
"published_date": "2024-05-20"
},
{
"title": "Inwestycja 3 Maja w Wejherowie",
"summary": "Budynek 5-kondygnacyjny z 27 lokalami mieszkalnymi (43-112 m2) i 9 lokalami uslugowymi w centrum Wejherowa.",
"source_url": "https://orlexmg.pl/oferta/sprzedaz/nieruchomosci/wejherowo",
"source_name": "orlexmg.pl",
"news_type": "project",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "Kupsa Coatings",
"news": [
{
"title": "Rozwoj lakierow wodorozcienczalnych",
"summary": "Kupsa Coatings jest kreatorem trendow na rynku lakierow wodorozcienczalnych w Polsce. Rynek tych lakierow urosl w 2024 roku pomimo ogolnego spadku zapotrzebowania na systemy lakierowe.",
"source_url": "https://www.4woodi.pl/kupsa-coatings-kreator-trendow-na-rynku-lakierow-wodorozcienczalnych-w-polsce/",
"source_name": "4woodi.pl",
"news_type": "press_release",
"published_date": "2024-09-01"
},
{
"title": "Nowe laboratorium B+R w Rekowie Gornym",
"summary": "Firma przeniosla sie do nowego kompleksu produkcyjno-badawczego w Rekowie Gornym (40 km od Gdanska) z wlasnym laboratorium R&D.",
"source_url": "https://kupsa.pl/o-firmie",
"source_name": "kupsa.pl",
"news_type": "news_mention",
"published_date": "2024-03-01"
}
]
},
{
"company_name": "Pelmar",
"news": [
{
"title": "KSW 103 w ofercie",
"summary": "Pelmar oferuje transmisje KSW 103 z Liberca (Czechy) dla swoich klientow.",
"source_url": "https://pelmar.pl/",
"source_name": "pelmar.pl",
"news_type": "news_mention",
"published_date": "2025-02-21"
},
{
"title": "Rozszerzenie telewizji internetowej - 190 stacji TV",
"summary": "Pelmar oferuje 190 stacji TV w tym 60 w jakosci HD. Zasieg: Pelplin, Gniew, Rudno, Greblin, Lignowy Szlacheckie, Rajkowy, Wielki Garc.",
"source_url": "https://pelmar.pl/telewizja-internetowa/",
"source_name": "pelmar.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "Pro-Sport",
"news": [
{
"title": "Wielkie otwarcie odnowionego salonu PRO SPORT Wejherowo",
"summary": "Hucznie otwarcie rowerowego sezonu 2025 z rabatami do -40%. Najwiekszy salon PRO SPORT w Wejherowie - 1800m2 powierzchni ekspozycyjnej.",
"source_url": "https://sklepprosport.pl/",
"source_name": "sklepprosport.pl",
"news_type": "news_mention",
"published_date": "2025-02-08"
},
{
"title": "3. rocznica sklepu w Kowalach (Gdansk)",
"summary": "Promocje: 40% rabatu na modele 2022 i starsze, 20% na TREK/GIANT/KROSS, 10% na UNIBIKE/ECOBIKE.",
"source_url": "https://sklepprosport.pl/",
"source_name": "sklepprosport.pl",
"news_type": "news_mention",
"published_date": "2025-02-08"
},
{
"title": "Nowosci na sezon 2025 - Madone Gen.8",
"summary": "Wprowadzenie nowych modeli Trek Madone Gen.8 i FX Sport 5 na sezon 2025.",
"source_url": "https://sklepprosport.pl/",
"source_name": "sklepprosport.pl",
"news_type": "news_mention",
"published_date": "2025-01-01"
}
]
},
{
"company_name": "Lean Idea",
"news": [
{
"title": "Nagroda Zlota Firma",
"summary": "Lean Idea z Gdanska jest laureatem konkursu Zlota Firma za profesjonalne szkolenia i optymalizacje.",
"source_url": "https://zlotafirma.pl/company/lean-idea-4554696",
"source_name": "zlotafirma.pl",
"news_type": "award",
"published_date": "2024-06-01"
},
{
"title": "Certyfikowane szkolenia Lean",
"summary": "Firma prowadzi szkolenia: Lean Management w produkcji, Rozwiazywanie problemow, 5S, Lean Office. Warsztaty pomagaja zwiekszyc produktywnosc o 10% i jakosc o 8%.",
"source_url": "https://leanidea.pl/en/certified-training-courses/",
"source_name": "leanidea.pl",
"news_type": "news_mention",
"published_date": "2024-09-01"
}
]
},
{
"company_name": "Riela Polska",
"news": [
{
"title": "25-lecie Riela Polska",
"summary": "Firma swietuje 25 lat dzialalnosci. Wybudowala ponad 1200 obiektow w Polsce, Europie, Azji i Afryce, mieszczacych ok. 6 mln ton zboz.",
"source_url": "https://www.riela.pl/2025/02/20/riela-polska-25-lat-dla-rynku-zboz-i-bezpieczenstwa-zywnosciowego-kraju/",
"source_name": "riela.pl",
"news_type": "news_mention",
"published_date": "2025-02-20"
},
{
"title": "Projekt UE - innowacyjne silosy wielkogabarytowe",
"summary": "Realizacja projektu wspolfinansowanego z Funduszy Europejskich: Wdrozenie wynikow prac B+R w celu rozpoczecia produkcji innowacyjnych silosow wielkogabarytowych.",
"source_url": "https://www.riela.pl/projekty-unijne/",
"source_name": "riela.pl",
"news_type": "project",
"published_date": "2024-06-01"
},
{
"title": "Wymogi prawne budowy silosow zbozowych",
"summary": "Publikacja ekspercka o wymogach prawnych i normach w budowie silosow zbozowych.",
"source_url": "https://www.riela.pl/2024/10/22/wymogi-prawne-i-normy-dotyczace-budowy-silosow-zbozowych/",
"source_name": "riela.pl",
"news_type": "press_release",
"published_date": "2024-10-22"
}
]
},
{
"company_name": "ROTOR",
"news": [
{
"title": "Rozszerzenie sieci oddzialow do 6 lokalizacji",
"summary": "Firma posiada 6 oddzialow w woj. pomorskim: Wejherowo, Luzino, Gdynia, Lebork, Pruszcz Gdanski, Slupsk.",
"source_url": "https://rotor.pl/en/contact/store-wejherowo/",
"source_name": "rotor.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
},
{
"title": "Dystrybutor Mitutoyo z laboratorium pomiarowym",
"summary": "ROTOR jako oficjalny dystrybutor marki Mitutoyo posiada laboratorium pomiarowe. Oferta obejmuje: Sandvik, Seco, Iscar, Stihl, Bosch, Metabo, Makita, Festool.",
"source_url": "https://rotor.pl/en/",
"source_name": "rotor.pl",
"news_type": "news_mention",
"published_date": "2024-03-01"
}
]
},
# Batch 8 - Round Two, RUBO, Sigma Budownictwo, VENCODE, VINDOR
{
"company_name": "Round Two",
"news": [
{
"title": "Znaczacy wzrost przychodow i zyskow w 2024 - 7-krotny wzrost",
"summary": "Firma osiagnela przychody 69,76 mln zl w 2024 (wzrost z 9,34 mln zl w 2023). Zysk 4,53 mln zl. Szacunkowa wycena 68,7 mln zl. Najwyzsza wiarygodnosc platnicza (ocena A).",
"source_url": "https://rejestr.io/krs/1002016/round-two",
"source_name": "rejestr.io",
"news_type": "financial",
"published_date": "2024-12-01"
}
]
},
{
"company_name": "RUBO",
"news": [
{
"title": "Zmiany w zarzadzie RUBO Sp. z o.o.",
"summary": "Bogdan Wojciech Szpilman i Marzena Elzbieta Szpilman zostali wiceprezesami zarzadu od 10 lipca 2024 r.",
"source_url": "https://rejestr.io/krs/69911/rubo",
"source_name": "rejestr.io",
"news_type": "news_mention",
"published_date": "2024-07-10"
}
]
},
{
"company_name": "Sigma Budownictwo",
"news": [
{
"title": "Dotacja UE na projekt ergonomii pracy",
"summary": "Firma uzyskala dotacje z UE na projekt 'Minimalizacja zdrowotnych czynnikow ryzyka na stanowiskach pracy'. Planowane przeszkolenie 88 pracownikow w zakresie ergonomii.",
"source_url": "https://sigmabudownictwo.pl/",
"source_name": "sigmabudownictwo.pl",
"news_type": "news_mention",
"published_date": "2024-09-01"
}
]
},
{
"company_name": "VENCODE",
"news": [
{
"title": "Rozwoj uslug AI i ChatGPT",
"summary": "Firma rozwija uslugi oparte na AI, oferuje wlasny GPT-Framework do integracji modeli jezykowych ChatGPT, ML, NLP i rozpoznawania glosu.",
"source_url": "https://vencode.tech/",
"source_name": "vencode.tech",
"news_type": "news_mention",
"published_date": "2024-06-01"
},
{
"title": "Uruchomienie platformy ChatGPT & AI Automation",
"summary": "Vencode uruchomil dedykowana platforme do automatyzacji AI i integracji ChatGPT.",
"source_url": "https://chat.vencode.tech/",
"source_name": "vencode.tech",
"news_type": "news_mention",
"published_date": "2024-09-01"
}
]
},
{
"company_name": "VINDOR",
"news": [
{
"title": "Rozbudowa zespolu do 27 osob",
"summary": "Zespol VINDOR liczyl 27 osob w drugiej polowie 2024 roku, w tym 17 montazystow i pracownikow technicznych.",
"source_url": "https://vindor.pl/o-nas/",
"source_name": "vindor.pl",
"news_type": "news_mention",
"published_date": "2024-09-01"
},
{
"title": "Certyfikaty jakosci montazu",
"summary": "Firma posiada certyfikat 'Ambasador dobrego montazu' (illbruck), 'Dobry Montaz' (Zwiazek Polskie Okna i Drzwi) oraz Tytan WINS z 20-letnia gwarancja.",
"source_url": "https://vindor.pl/",
"source_name": "vindor.pl",
"news_type": "award",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "ALMARES",
"news": [
{
"title": "Wyniki finansowe 2024",
"summary": "Przychod netto 23,6 mln PLN w 2024 (spadek z 24,0 mln PLN w 2023). Zysk brutto 278,4 tys. PLN.",
"source_url": "https://www.gowork.pl/almares-sklady-handlowe-sp.-z-o.o.,625029/dane-kontaktowe-firmy",
"source_name": "GoWork.pl",
"news_type": "financial",
"published_date": "2024-12-01"
}
]
},
# Batch 9 - Pucka Gospodarka Komunalna, Green House Systems, VOLTRIM TRADE, Lenap Hale
{
"company_name": "Pucka Gospodarka Komunalna",
"news": [
{
"title": "Nowe zasady oplat za odpady komunalne od 2025",
"summary": "Rada Miasta Puck uchwalila nowe stawki oplat za odpady od stycznia 2025. Wprowadzono metode mieszana dla mieszkancow stalych i wynajmujacych.",
"source_url": "https://miastopuck.pl/aktualnosci/gospodarka-odpadami-na-terenie-miasta-puck-w-roku-2024.html",
"source_name": "miastopuck.pl",
"news_type": "news_mention",
"published_date": "2024-11-21"
},
{
"title": "Budowa PSZOK w Bladzikowie - zakonczenie projektu",
"summary": "Zakonczono budowe Punktu Selektywnej Zbiorki Odpadow Komunalnych. Projekt za 7,23 mln PLN, dofinansowanie 3,24 mln PLN z NFOSiGW.",
"source_url": "https://pgkpuck.pl/pgk/aktualnosci/zakonczenie-budowy-nowego-punktu-selektywnego-zbierania-odpadow-komunalnych-w-bladzikowie/",
"source_name": "pgkpuck.pl",
"news_type": "project",
"published_date": "2023-05-22"
}
]
},
{
"company_name": "Green House Systems",
"news": [
{
"title": "Ranking 2025 najlepszej fotowoltaiki w Trojmiescie - 1. miejsce",
"summary": "Green House Systems zajmuje 1 miejsce w kategorii Fotowoltaika (ocena 6.0, 58 opinii) oraz 1 miejsce w kategorii Pompy ciepla (ocena 6.0, 11 opinii) w Trojmiescie.",
"source_url": "https://www.trojmiasto.pl/Green-House-Systems-o93503.html",
"source_name": "trojmiasto.pl",
"news_type": "award",
"published_date": "2025-02-21"
},
{
"title": "Czlonek SBF Polska PV",
"summary": "Firma wstapila do Stowarzyszenia Branzy Fotowoltaicznej Polska PV. Posiada certyfikaty polskie i belgijskie, uprawnienia SEP 1/2/3 oraz UDT f-gazy.",
"source_url": "https://greenhousesystems.pl/o-nas/",
"source_name": "greenhousesystems.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "VOLTRIM TRADE",
"news": [
{
"title": "Wyniki finansowe 2024 - 116 mln PLN przychodow",
"summary": "VOLTRIM TRADE osiagnal 116 mln PLN przychodow w 2024 r. Spadek przychodow o 8,56% r/r, wzrost aktywow o 13,68%. EBITDA 5 mln PLN. Wysoka wiarygodnosc platnicza (ocena B).",
"source_url": "https://rejestr.io/krs/328525/voltrim-trade",
"source_name": "rejestr.io",
"news_type": "financial",
"published_date": "2024-12-01"
}
]
},
{
"company_name": "Lenap Hale",
"news": [
{
"title": "Ponad 150 realizacji w 10 lat dzialalnosci",
"summary": "Firma Lenap Hale z Wejherowa zrealizowala okolo 150 inwestycji w ciagu 10 lat. Specjalizuje sie w halach stalowych z plytami warstwowymi.",
"source_url": "https://www.lenap-hale.com.pl/realizacje",
"source_name": "lenap-hale.com.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "Kancelaria Radcy Prawnego Lukasz Gilewicz",
"news": [
{
"title": "9-lecie dzialalnosci kancelarii",
"summary": "Kancelaria Radcy Prawnego Lukasz Gilewicz obchodzila dziewieciolecie dzialalnosci. Firma dziekuje klientom i pracownikom za wspolprace.",
"source_url": "https://gilewicz.eu/",
"source_name": "gilewicz.eu",
"news_type": "news_mention",
"published_date": "2024-06-01"
},
{
"title": "Artykul: Zmiany w warunkach technicznych 2024 - akustyka blizniakow",
"summary": "Publikacja na blogu kancelarii o zmianach w warunkach technicznych budynkow od 1.04.2024 r. dotyczacych wymogow akustycznych dla budynkow dwulokalowych.",
"source_url": "https://gilewicz.eu/zmiany-w-wt2-blizniaki/",
"source_name": "gilewicz.eu",
"news_type": "press_release",
"published_date": "2024-04-01"
}
]
},
{
"company_name": "Hebel Masiak i Wspolnicy Adwokaci",
"news": [
{
"title": "Czlonek Pracodawcow Pomorza",
"summary": "Kancelaria Hebel Masiak i Wspolnicy jest czlonkiem organizacji Pracodawcy Pomorza. Dziala nieprzerwanie od 1980 roku.",
"source_url": "https://pracodawcypomorza.pl/exnt/czlonkowie/firma/721/hebel-masiak-i-wspolnicy-adwokaci-i-radcowie-prawni-sc",
"source_name": "pracodawcypomorza.pl",
"news_type": "news_mention",
"published_date": "2024-01-01"
}
]
},
# Batch 10 - Pixlab, TTM, Chopin TK, Nadmorski24
{
"company_name": "Pixlab",
"news": [
{
"title": "Co Nowego w Softwarehouse? Projekty, Klienci i Praktyki Finansowe w 2025",
"summary": "Pixlab podsumowuje intensywny rok - fala projektow korporacyjnych, stron konferencyjnych, integracji z ERP. Firma dziala kompleksowo od analizy przez development az po utrzymanie.",
"source_url": "https://pixlab.pl/co-nowego-w-softwarehouse-projekty-klienci-i-praktyki-finansowe-w-2025",
"source_name": "pixlab.pl",
"news_type": "press_release",
"published_date": "2025-01-01"
}
]
},
{
"company_name": "Stalpunkt",
"news": [
{
"title": "Rejestracja Stalpunkt Pomorze Sp. z o.o.",
"summary": "Stalpunkt Pomorze zarejestrowana jako spolka z o.o. z siedziba w Gdansku. Prezes zarzadu: Daniel Kochanski.",
"source_url": "https://rejestr.io/krs/1088692/stalpunkt-pomorze",
"source_name": "rejestr.io",
"news_type": "news_mention",
"published_date": "2024-02-16"
}
]
},
{
"company_name": "SEO PARTNER",
"news": [
{
"title": "SEO PARTNER - Agencja SEO & SEM z certyfikatem Google Partner",
"summary": "SEO Partner z Wejherowa posiada certyfikat Google Partner. Specjalizuje sie w projektowaniu stron, sklepow internetowych, aplikacji mobilnych, Google Ads i pozycjonowaniu.",
"source_url": "https://seo-partner.pl/",
"source_name": "seo-partner.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "TTM",
"news": [
{
"title": "TTM wsrod najlepszych redakcji w Polsce! Glowna nagroda powedrowala do Wejherowa!",
"summary": "TTM zdobyla pierwsza nagrode w kategorii 'Moja Mala Ojczyzna' na 20. Jubileuszowej Edycji Konkursu Programow Telewizji Lokalnych 'To nas dotyczy'.",
"source_url": "https://nadmorski24.pl/aktualnosci/64541-ttm-wsrod-najlepszych-redakcji-w-polsce-glowna-nagroda-powedrowala-do-wejherowa",
"source_name": "nadmorski24.pl",
"news_type": "award",
"published_date": "2024-10-01"
},
{
"title": "Norda FM rozszerza zasiegi - nowe nadajniki w 2024",
"summary": "W 2024 uruchomiono stacje nadawcze radia Norda FM w Redzie (93.6 MHz, czerwiec 2024), Leborku i Slupsku (87.6 MHz, sierpien 2024) dzieki nowym koncesjom KRRiT.",
"source_url": "https://www.wirtualnemedia.pl/artykul/krrit-przedluzenie-koncesji-twoja-telewizja-morska-norda-fm-wejherowo-reda",
"source_name": "wirtualnemedia.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "Chopin Telewizja Kablowa",
"news": [
{
"title": "Telewizja Kablowa Chopin z sercem dla zwierzakow!",
"summary": "Pracownicy Chopin TK zorganizowali zbiorke karmy, kocow i srodkow czystosci dla Schroniska dla Bezdomnych Zwierzat w Dabrowce (gmina Luzino).",
"source_url": "https://nadmorski24.pl/aktualnosci/71507-telewizja-kablowa-chopin-z-sercem-dla-zwierzakow",
"source_name": "nadmorski24.pl",
"news_type": "news_mention",
"published_date": "2025-04-01"
},
{
"title": "Igrzyska Olimpijskie Paris 2024 z Chopin Telewizja Kablowa",
"summary": "Chopin TK oferowala klientom Igrzyska Olimpijskie Paris 2024 na kanalach Eurosport 1-9 oraz Eurosport 4K w jakosci ultra HD.",
"source_url": "https://nadmorski24.pl/aktualnosci/65830-igrzyska-olimpijskie-paris-2024-z-chopin-telewizja-kablowa",
"source_name": "nadmorski24.pl",
"news_type": "news_mention",
"published_date": "2024-07-01"
}
]
},
{
"company_name": "Nadmorski24.pl",
"news": [
{
"title": "TOP12 najwazniejszych wydarzen 2024 roku",
"summary": "Portal opublikowal zestawienie 12 najpopularniejszych materialow 2024 roku, w tym 200. zabieg TAVI w szpitalu w Wejherowie i trzeci McDonald's przy Trasie Kaszubskiej.",
"source_url": "https://nadmorski24.pl/aktualnosci/69400-top12-najwazniejszych-wydarzen-2024-roku-sprawdzcie-co-wydarzylo-sie-w-ostatnich-12-miesiacach",
"source_name": "nadmorski24.pl",
"news_type": "press_release",
"published_date": "2024-12-28"
},
{
"title": "Nadmorski24.pl partnerem WP Wiadomosci",
"summary": "Portal Nadmorski24.pl jest partnerem medialnym Wirtualnej Polski - artykuly sa publikowane na portalu WP Wiadomosci.",
"source_url": "https://wiadomosci.wp.pl/autor/nadmorski24-pl/6842394956547713",
"source_name": "wp.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
# Remaining companies - Semerling Security, ARD Invest, S&K TOBACCO, Waterm, CrisTap, etc.
{
"company_name": "Semerling Security",
"news": [
{
"title": "Rekordowy rok 2024 - 6 wygranych przetargow publicznych",
"summary": "Semerling Security wygralo najwiecej przetargow w 2024 roku (6 przetargow). Laczna wartosc wszystkich zamowien to 9,96 mln zl. Glowni zleceniodawcy: ZUS Torun, Sad Okregowy Gdansk.",
"source_url": "https://www.przetargi.egospodarka.pl/kto-wygral/14380639,semerling-security-biuro-ochrony-mienia-marcin-semerling.html",
"source_name": "przetargi.egospodarka.pl",
"news_type": "news_mention",
"published_date": "2024-12-01"
},
{
"title": "Kontrakt na ochrone Sadu Okregowego w Gdansku - 1,41 mln zl",
"summary": "Najwyzszy kontrakt firmy: ochrona obiektow sadowych dla Sadu Okregowego w Gdansku o wartosci 1 413 122,40 zl. Firma dziala od 2002 roku.",
"source_url": "https://www.przetargi.egospodarka.pl/kto-wygral/14380639,semerling-security-biuro-ochrony-mienia-marcin-semerling.html",
"source_name": "przetargi.egospodarka.pl",
"news_type": "news_mention",
"published_date": "2024-09-01"
}
]
},
{
"company_name": "ARD Invest",
"news": [
{
"title": "Osiedle Kameralne Gowino - budynki blizniacze",
"summary": "ARD Invest zakonczyl budowe osiedla 12 budynkow dwulokalowych w Gowinie (grudzien 2022). Lokale 82-121 m2, blisko Trasy Kaszubskiej. Wysokie parametry termoizolacyjne.",
"source_url": "https://ardinvest.pl/osiedle-kameralne-gowino/",
"source_name": "ardinvest.pl",
"news_type": "project",
"published_date": "2022-12-01"
},
{
"title": "Osiedle Cynamonova Kosakowo - 20 lokali mieszkalnych",
"summary": "Inwestycja 10 budynkow dwulokalowych przy ul. Cynamonowej w Kosakowie. 10 km od Gdyni. Lokale od 82 do 121 m2.",
"source_url": "https://www.ardinvest.pl/osiedle-cynamonowe-kosakowo",
"source_name": "ardinvest.pl",
"news_type": "project",
"published_date": "2024-06-01"
},
{
"title": "Pozytywne opinie z odbiorow mieszkan",
"summary": "Obsluga klienta oceniona na 4.2/5. Jakosc powyzej sredniej rynkowej. Wspolpraca z biurem dewelopera przebiega idealnie.",
"source_url": "https://pewnylokal.pl/sprawdz-dewelopera/deweloper/ard-invest-opinie/kameralne-gowino/4819",
"source_name": "pewnylokal.pl",
"news_type": "news_mention",
"published_date": "2024-03-01"
}
]
},
{
"company_name": "PHU S&K TOBACCO",
"news": [
{
"title": "Siec sklepow Lord Alkohole - 7 lokalizacji",
"summary": "S&K TOBACCO prowadzi siec sklepow Lord Alkohole w 7 lokalizacjach: Wejherowo (Sobieskiego 322), Luzino, Rumia, Reda, Kosakowo, Puck. Dostawa przez Glovo.",
"source_url": "https://lordalkohole.pl/kontakt/",
"source_name": "lordalkohole.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
},
{
"title": "Lord24.pl - Sklep internetowy z alkoholami premium",
"summary": "Sklep internetowy oferujacy whisky, bourbony, rumy, wina i szampany. Promocje do 40% na wybrane alkohole.",
"source_url": "https://lord24.pl/",
"source_name": "lord24.pl",
"news_type": "news_mention",
"published_date": "2024-01-01"
}
]
},
{
"company_name": "Waterm",
"news": [
{
"title": "Autoryzowany Instalator Vaillant - pompy ciepla aroTHERM",
"summary": "Waterm jest autoryzowanym instalatorem Vaillant w regionie Wejherowa i Trojmiasta. Specjalizacja: pompy ciepla aroTHERM plus i aroTHERM pure.",
"source_url": "https://waterm.vaillant-partner.pl/",
"source_name": "waterm.vaillant-partner.pl",
"news_type": "news_mention",
"published_date": "2024-01-01"
},
{
"title": "Realizacja: Hybrydowy system grzewczy z pompa ciepla Vaillant",
"summary": "Projekt systemu grzewczego: pompa ciepla Vaillant aroTHERM plus VWL 125/6A + kocioł gazowy w ukladzie hybrydowym. Jednostka zewnetrzna na dachu budynku.",
"source_url": "https://waterm.pl/hybrydowy-system-grzewczy-z-pompa-ciepla-kotlem-gazowym-i-pompa-basenowa/",
"source_name": "waterm.pl",
"news_type": "project",
"published_date": "2024-03-01"
}
]
},
{
"company_name": "CrisTap",
"news": [
{
"title": "Ponad 200 sklepow partnerskich i eksport do Europy",
"summary": "CrisTap posiada ponad 200 sklepow partnerskich w Polsce i eksportuje do kilkunastu krajow europejskich. Roznorodnosc modeli i tkanin.",
"source_url": "https://wphw.pl/cristap",
"source_name": "wphw.pl",
"news_type": "news_mention",
"published_date": "2024-06-01"
}
]
},
{
"company_name": "Porta KMI Poland",
"news": [
{
"title": "PORTA Drzwi z certyfikatem FSC",
"summary": "PORTA KMI Poland posiada certyfikat FSC dla zrownowazonych produktow drzewnych. Lider rynku drzwi w Polsce.",
"source_url": "https://www.porta.com.pl/",
"source_name": "porta.com.pl",
"news_type": "news_mention",
"published_date": "2024-01-01"
}
]
},
{
"company_name": "Rumia Invest Park",
"news": [
{
"title": "Rumia Invest Park - platforma inwestycyjna dla firm",
"summary": "Rumia Invest Park oferuje tereny inwestycyjne i wsparcie dla przedsiebiorcow w regionie Rumi i okolic.",
"source_url": "https://www.rumiainvestpark.pl/",
"source_name": "rumiainvestpark.pl",
"news_type": "news_mention",
"published_date": "2024-01-01"
}
]
},
]
# ============================================================
# HELPER FUNCTIONS
# ============================================================
def fuzzy_match_company(db, company_name: str) -> Optional[Company]:
"""
Find company by name using fuzzy matching.
Returns the best matching company or None.
"""
# First try exact match
company = db.query(Company).filter(Company.name == company_name).first()
if company:
return company
# Try case-insensitive match
company = db.query(Company).filter(Company.name.ilike(company_name)).first()
if company:
return company
# Try partial match (contains)
company = db.query(Company).filter(Company.name.ilike(f"%{company_name}%")).first()
if company:
return company
# Try fuzzy matching with all companies
all_companies = db.query(Company).all()
best_match = None
best_ratio = 0.0
for c in all_companies:
# Calculate similarity ratio
ratio = SequenceMatcher(None, company_name.lower(), c.name.lower()).ratio()
if ratio > best_ratio and ratio > 0.6: # Threshold 60%
best_ratio = ratio
best_match = c
return best_match
def check_duplicate(db, company_id: int, source_url: str) -> bool:
"""Check if news with same company_id and source_url already exists."""
existing = db.query(CompanyNews).filter(
CompanyNews.company_id == company_id,
CompanyNews.source_url == source_url
).first()
return existing is not None
def parse_date(date_str: Optional[str]) -> Optional[datetime]:
"""Parse date string to datetime object."""
if not date_str:
return None
try:
# Try different formats
for fmt in ['%Y-%m-%d', '%Y-%m', '%Y']:
try:
return datetime.strptime(date_str, fmt)
except ValueError:
continue
return None
except Exception:
return None
# ============================================================
# IMPORT FUNCTION
# ============================================================
def import_news(dry_run: bool = False, verbose: bool = False):
"""
Import collected news to database.
Args:
dry_run: If True, only show what would be imported without saving
verbose: If True, print detailed progress
"""
db = SessionLocal()
try:
print("=" * 70)
print("IMPORT ZEBRANYCH NEWSOW - NordaBiz")
print("=" * 70)
print(f"Data: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
print(f"Tryb: {'DRY RUN (bez zmian)' if dry_run else 'PRODUKCJA (zmiany zapisane)'}")
print("=" * 70)
stats = {
'total_news': 0,
'imported': 0,
'duplicates': 0,
'company_not_found': 0,
'errors': 0,
'companies_matched': set(),
'companies_not_found': set()
}
for company_data in COLLECTED_NEWS:
company_name = company_data['company_name']
news_list = company_data.get('news', [])
if not news_list:
continue
# Find company
company = fuzzy_match_company(db, company_name)
if not company:
stats['companies_not_found'].add(company_name)
stats['company_not_found'] += len(news_list)
if verbose:
print(f"\n[!] Firma nie znaleziona: {company_name} ({len(news_list)} newsow)")
continue
stats['companies_matched'].add(company_name)
if verbose:
print(f"\n[OK] {company_name} -> {company.name} (ID: {company.id})")
for news in news_list:
stats['total_news'] += 1
source_url = news.get('source_url', '')
# Check for duplicates
if source_url and check_duplicate(db, company.id, source_url):
stats['duplicates'] += 1
if verbose:
print(f" [DUPLIKAT] {news['title'][:50]}...")
continue
# Parse published date
published_date = parse_date(news.get('published_date'))
try:
if not dry_run:
# Create news record
news_record = CompanyNews(
company_id=company.id,
title=news['title'],
summary=news.get('summary'),
source_url=source_url if source_url else None,
source_name=news.get('source_name'),
news_type=news.get('news_type', 'news_mention'),
published_date=published_date,
discovered_at=datetime.now(),
is_approved=True, # Pre-approved by AI
is_visible=True,
moderation_status='approved'
)
db.add(news_record)
stats['imported'] += 1
if verbose:
print(f" [+] {news['title'][:50]}...")
except Exception as e:
stats['errors'] += 1
if verbose:
print(f" [BLAD] {news['title'][:50]}... - {e}")
# Commit changes
if not dry_run:
db.commit()
# Print summary
print("\n" + "=" * 70)
print("PODSUMOWANIE")
print("=" * 70)
print(f"Laczna liczba newsow do importu: {stats['total_news']}")
print(f"Zaimportowano: {stats['imported']}")
print(f"Duplikaty (pominiete): {stats['duplicates']}")
print(f"Firma nie znaleziona: {stats['company_not_found']}")
print(f"Bledy: {stats['errors']}")
print(f"\nFirmy dopasowane: {len(stats['companies_matched'])}")
print(f"Firmy nieznalezione: {len(stats['companies_not_found'])}")
if stats['companies_not_found']:
print(f"\nFirmy do sprawdzenia:")
for name in sorted(stats['companies_not_found']):
print(f" - {name}")
if dry_run:
print("\n" + "=" * 70)
print("DRY RUN ZAKONCZONY - zadne zmiany nie zostaly zapisane")
print("Aby zaimportowac dane, uruchom bez flagi --dry-run")
else:
print("\n" + "=" * 70)
print(f"IMPORT ZAKONCZONY - {stats['imported']} newsow dodanych do bazy")
print("=" * 70)
return stats
except Exception as e:
print(f"\n[BLAD KRYTYCZNY] {e}")
db.rollback()
raise
finally:
db.close()
# ============================================================
# MAIN
# ============================================================
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Import zebranych newsow do bazy NordaBiz",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog=__doc__
)
parser.add_argument(
'--dry-run', '-n',
action='store_true',
help='Pokaz co zostanie zaimportowane bez zapisywania'
)
parser.add_argument(
'--verbose', '-v',
action='store_true',
help='Wyswietl szczegolowy postep'
)
args = parser.parse_args()
import_news(dry_run=args.dry_run, verbose=args.verbose)