From 21df349b9e396db76b92d71152f3d3ac8969a6e5 Mon Sep 17 00:00:00 2001 From: Maciej Pienczyn Date: Mon, 16 Mar 2026 20:05:36 +0100 Subject: [PATCH] feat: add Norda Tools import script Co-Authored-By: Claude Opus 4.6 (1M context) --- scripts/import_norda_tools.py | 80 +++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 scripts/import_norda_tools.py diff --git a/scripts/import_norda_tools.py b/scripts/import_norda_tools.py new file mode 100644 index 0000000..a8d7b50 --- /dev/null +++ b/scripts/import_norda_tools.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 +"""Import firmy Norda Sp. z o.o. (Norda Tools) do bazy NordaBiz.""" + +import os +import sys +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from sqlalchemy import create_engine, text +from sqlalchemy.orm import sessionmaker +from database import Company, Category, UserCompany, CompanyRole + +DATABASE_URL = os.environ.get('DATABASE_URL', 'postgresql://nordabiz_app:dev_password@localhost:5433/nordabiz') + + +def import_company(): + engine = create_engine(DATABASE_URL) + Session = sessionmaker(bind=engine) + session = Session() + + # Check if already exists + existing = session.query(Company).filter_by(nip='5862425651').first() + if existing: + print(f"Firma już istnieje: ID={existing.id}, slug={existing.slug}") + session.close() + return + + # Find category: Handel i Hurtownie (ID=18) + category = session.query(Category).filter_by(name='Handel i Hurtownie').first() + if not category: + print("BŁĄD: Nie znaleziono kategorii 'Handel i Hurtownie'") + session.close() + return + + company = Company( + slug='norda-tools', + name='Norda Tools', + legal_name='Norda Spółka z Ograniczoną Odpowiedzialnością', + nip='5862425651', + regon='543609864', + krs='0001213867', + email=None, # brak danych kontaktowych + phone=None, + website='http://nordatools.pl', + address_street='ul. Parkowa 6/1D', + address_city='Gdynia', + address_postal='81-549', + category_id=category.id, + description_short='Hurtowa sprzedaż narzędzi skrawających, elektronarzędzi i wyposażenia warsztatowego.', + description_full=( + 'Norda Tools to firma specjalizująca się w hurtowej sprzedaży narzędzi skrawających ' + 'do obróbki mechanicznej, elektronarzędzi renomowanych marek (Bosch, Metabo, Makita, ' + 'Sandvik, Fanar), narzędzi pomiarowych oraz pił taśmowych. Oferuje również serwis ' + 'gwarancyjny i pogwarancyjny, ostrzenie narzędzi, wynajem maszyn oraz obróbkę metali. ' + 'Firma posiada oddziały w całej Polsce, w tym w Olsztynie.' + ), + pkd_code='46.90.Z', + data_quality='enhanced', + status='active' + ) + + session.add(company) + session.flush() # get company.id + print(f"Firma dodana: ID={company.id}, slug={company.slug}") + + # Add Leszek Glaza (user_id=58) as MANAGER + user_company = UserCompany( + user_id=58, + company_id=company.id, + role=CompanyRole.MANAGER, + is_primary=False # his primary is ROTOR + ) + session.add(user_company) + + session.commit() + print(f"Użytkownik Leszek Glaza (ID=58) przypisany jako MANAGER do firmy Norda Tools (ID={company.id})") + session.close() + + +if __name__ == '__main__': + import_company()