From ecd531ffe80f15b8183ba42783a394541c35c4c4 Mon Sep 17 00:00:00 2001 From: bartool Date: Fri, 17 Oct 2025 13:24:03 +0200 Subject: [PATCH] wicej zmian --- html_sample/Aquila.html | 613 ++++++++++++++++++++++++++++++++++++++++ html_sample/Ori.html | 612 +++++++++++++++++++++++++++++++++++++++ html_sample/regius.html | 613 ++++++++++++++++++++++++++++++++++++++++ main.py | 23 +- mayo.py | 60 ++-- 5 files changed, 1877 insertions(+), 44 deletions(-) create mode 100644 html_sample/Aquila.html create mode 100644 html_sample/Ori.html create mode 100644 html_sample/regius.html diff --git a/html_sample/Aquila.html b/html_sample/Aquila.html new file mode 100644 index 0000000..1ec61b6 --- /dev/null +++ b/html_sample/Aquila.html @@ -0,0 +1,613 @@ + + + + + + + + +Mayones Guitars & Basses + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
Mayones Guitars & Basses - System Obsługi Zamówień + Wyloguj: + + nowakb + +
+
+ + + + + +
+ + +
+ + + + + +
+
Dot. zam.: 0093/2025/6   z datą realizacji:   2025-02-28-
+ + + + + + + + + + +
Grupa  Model   Nr ser.   + DZZ
Opis Odbiorca  P NTB CITES
+
+ + +   + +   + +   + + +   + +
+
+
CITES     
Status: Data wystąpienia: Data otrzymania:
Komentarz:

SZYJKA

  Radius

  - CUSTOM / 12     + Notatka

  DREWNO - Szyjka

  - Wzmocnienie szyjki - dwa dodatkowe pręty GRAFITOWE     + Notatka
  - 1pc Maple TEW / Klon amerykański TEW (1 część)     + Notatka

  DREWNO - Podstrunnica

  - EBN / EBONY (Heban)     + Notatka

  WYMIARY

  - DUVELL 6 / Szyjka szerokość I : 43,5mm     + Notatka
  - DUVELL 6 / Szyjka szerokość XII : 54mm     + Notatka
  - DUVELL 6 / Szyjka szerokość XXIV : 58mm     + Notatka
  - GITARA SETIUS/REGIUS/CUSTOM / Szyjka grubość I : 20 mm     + Notatka
  - GITARA SETIUS/REGIUS/CUSTOM / Szyjka grubość XII : 21 mm     + Notatka

  PROFIL SZYJKI

  - PROFIL - D / Custom - profil spłaszczony, płaski tył [DUVELL]     + Notatka

  MARKERY - BOK

  - SB-20 / Kropeczki (boczne) / 2mm / Fluorescencyjne / Niebieskie / Nie do jasnych krawędzi     + Notatka

  MARKERY - FRONT

  - Bez markerów     + Notatka

  PROGI

  - FERD WAGNER / FW 9685 / 667851 / Stainless Steel / 2,80×3,34 (1,45) / EXTRA JUMBO [JD brak] / STANDARD     + Notatka
KONSTRUKCJA

  WERSJA

  - BARYTON 27     + Notatka

  Konstrukcja

  - bolt-on (gryf przykręcany)     + Notatka

  Skala

  - GITARA BARYTON27 / 687mm (27 cali)     + Notatka
KORPUS

  DREWNO - Top

  - NO-TOP / Bez topu     + Notatka

  DREWNO - Korpus

  - TEW / ASH, AMERICAN / TEW (Tonally Enhanced Wood) - Jesion Amerykanski UWAGA! Nie stosować do 4EVER!!!     + Notatka

  KONFIGURACJA - Przetworniki

  - H-H / Gitara Humbucker 6 / W PUSZKACH     + Notatka

  KONFIGURACJA - Potencjometry

  - Przełącznik Ślizgowy     + Notatka
  - CG-05T / 1 x Volume - W MIEJSCU TONE     + Notatka
KOLOR

  KOLOR - Top

  - T-ANTIQUE-BLK-M / Antique Black Matt     + Notatka

  KOLOR - Korpus

  - T-ANTIQUE-BLK-M / Antique Black Matt     + Notatka

  KOLOR - Szyjka

  - T-ANTIQUE-BLK-M / Antique Black Matt     + Notatka

  KOLOR - Główka

  - T-ANTIQUE-BLK-M / Antique Black Matt     + Notatka

  KOLOR - Wykończenie [K/C]

  - M / Matt     + Notatka

  KOLOR - Wykończenie [S]

  - M / Matt     + Notatka
ELEKTRONIKA

  PRZETWORNIKI - Gitara

  - / SPECIAL / - PINS: BLACK SCREWS     + Notatka
  - / FINISH / STD / - WYKOŃCZENIE : PUSZKA BRUSHED NICKEL     + Notatka
  - VELVETRONE / H15+H13-6-SET / STD / Ironside + Solium | 6 string | Humbucker Set     + Notatka

  ELEKTRONIKA

  - MAYONES / Treble Bleed Mod     + Notatka
  - BOURNS / PDB 183-GTR01-504A2 PP / Potencjometr / Volume / 500A PushPull     + Notatka

  PRZEŁĄCZNIKI I GNIAZDA

  - SWITCHCRAFT / C12B / Gniazdo Jack     + Notatka
  - ELECTROSWITCH / E2G0203S / Przełącznik / Electroswitch 3-poz (ślizgowy)     + Notatka
AKCESORIA

  MOSTEK - Gitara

  - HIPSHOT / 41065B / 6 String Fixed / 0.175 / Black     + Notatka

  MOSTEK - Kostki

  - Standard     + Notatka

  STROIKI - Gitara

  - GOTOH / 510 Locking 6 string / 3 wysokości / Blokowane / Black     + Notatka

  Osłony, Blachy

  - Elektronika / PLASTIKOWA (elektronika) z grawerką SIGNATURE / laser [Adam Christianson / ARCHITECTS]     + Notatka

  Siodełko

  - TUSQ (Graph-Tech) / Kość słoniowa     + Notatka

  Struny

  - Drop B / B F# B E G# C# | 11-54 | Cardinal     + Notatka

  Gałki

  - SAMWOO / NS-030 BLK     + Notatka

  PŁYTKI - Kolor

  - BEZ PŁYTKI     + Notatka

  AKCESORIA - Kolor

  - BLK (Black)     + Notatka
DODATKI

  WYPOSAŻENIE DODATKOWE

  - SCHALLER / ZACZEPY / Zaczep Schaller Security Lock BLK (2 szt)     + Notatka
  - / Sygnatura AC z tyłu główki (LASER)     + Notatka
+ +
  Notatka produkcyjna
  Dodatkowe
  informacje
+ + + + + +
+
+ +   + +   + +   + +   + +
+
+ +
+ + + +

+
+
+
+ +


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+ + + + + + + + + + + + \ No newline at end of file diff --git a/html_sample/Ori.html b/html_sample/Ori.html new file mode 100644 index 0000000..d5da186 --- /dev/null +++ b/html_sample/Ori.html @@ -0,0 +1,612 @@ + + + + + + + + +Mayones Guitars & Basses + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
Mayones Guitars & Basses - System Obsługi Zamówień + Wyloguj: + + nowakb + +
+
+ + + + + +
+ + +
+ + + + + +
+
Dot. zam.: 0376/2024/11   z datą realizacji:   2024-09-01STRINGS Co., Ltd | Thailand-
+ + + + + + + + + + +
Grupa  Model   Nr ser.   + DZZ
Opis Odbiorca  P NTB CITES
+
+ + +   + +   + +   + + +   + +
+
+
CITES     
Status: Data wystąpienia: Data otrzymania:
Komentarz:

SZYJKA

  Radius

  - CUSTOM / 9.5     + Notatka

  DREWNO - Szyjka

  - Carbon Rods / Dodatkowe Pręty Grafitowe / Carbon Rods     + Notatka
  - 3-Wenge / 3-cz | Wenge     + Notatka

  DREWNO - Podstrunnica

  - WNG / WENGE     + Notatka

  DREWNO - Główka

  - Bez forniru     + Notatka

  WYMIARY

  - ORI / Szyjka grubość I : 20 mm     + Notatka
  - ORI / Szyjka grubość XII : 23 mm     + Notatka
  - ORI 5 / Szyjka szerokość I : 46 mm     + Notatka
  - ORI 5 / Szyjka szerokość XII : 56 mm     + Notatka
  - ORI 5 / Szyjka szerokość XXIV : 72 mm     + Notatka

  MARKERY - BOK

  - SGM-23 / Kropeczki (boczne) / 2+1mm / Fluorescencyjne / Zielone z czarną obwódką     + Notatka

  MARKERY - FRONT

  - UKŁAD / DOUBLE OFFSET / STD / Double Offset - 3-12 bass / 15-24 treble     + Notatka
  - Kropki / Akryl Biały / Perła / 4mm     + Notatka

  PROGI

  - / DHP-316-20S / Blacksmith Stainless Steel     + Notatka
KONSTRUKCJA

  Konstrukcja

  - bolt-on (gryf przykręcany)     + Notatka

  Skala

  - VF || B5-L / LONG BASS MULTISCALE (34 - 37) / Bass 5 String     + Notatka
KORPUS

  DREWNO - Top

  - NO-TOP / Bez topu     + Notatka

  DREWNO - Korpus

  - Ash / ASH (Jesion)     + Notatka

  KONFIGURACJA - Przetworniki

  - V-FRETS / H-H-H / UŁOŻONE UKOŚNIE / VF     + Notatka
  - H-H-H / MYDEŁKA BAS 6 (wymiar Bartolini P4 / 32mm X 118mm)     + Notatka

  KONFIGURACJA - Puszka na bat.

  - 1x Puszka na bat. / Nowe frezowanie płytki / Ładowanie USB-C     + Notatka
KOLOR

  KOLOR - Korpus

  - M-GUNGRY-MTL-M / Metallic Gunmetal Grey | Matt | Lechler ES9345     + Notatka

  KOLOR - Szyjka

  - T-NAT-M / Trans Natural Matt (transparent naturalny matowy)     + Notatka

  KOLOR - Główka

  - T-NAT-M / Trans Natural Matt (transparent naturalny matowy)     + Notatka

  KOLOR - Wykończenie [K/C]

  - M / Matt     + Notatka

  KOLOR - Wykończenie [S]

  - M / Matt     + Notatka
ELEKTRONIKA

  ELEKTRONIKA

  - VELVETRONE / MUSASHI3 ORI - HEADPHONES/AUX + / 3-Band CC Preamp and M-Heaphones system [1xV(push-pull), 1x 6-Rotary +switch, 1xTre/Bass, 1xMid, 2x Jack preamp AUX and headphones] - 4pot. +    + Notatka

  PRZEŁĄCZNIKI I GNIAZDA

  - / Gniazdo słuchawkowe 3,5mm     + Notatka
  - SWITCHCRAFT / C12B / Gniazdo Jack     + Notatka
  - / Gniazdo ładowania USB-C     + Notatka
  - / Gniazdo AUX     + Notatka

  PRZETWORNIKI - Bas

  - VELVETRONE / GRIM VF 37 / GRIM VF 5 (Neck) + GRIM VF 5 (Middle) + GRIM VF 5 (Bridge) - puszka wymiar P4     + Notatka
AKCESORIA

  MOSTEK - Bas

  - MAYONES / KISSAKI 5-BLK / Mayones KISSAKI | Aluminium V-Frets | Black     + Notatka

  MOSTEK - Kostki

  - Standard     + Notatka

  STROIKI - Bas

  - GRAPHTECH / PRB / GraphTech Ratio | BLK 3+2     + Notatka

  Siodełko

  - Heban HEB-001     + Notatka

  Struny

  - ORI / Stainless steel 45-65-85-105-130     + Notatka

  Gałki

  - ORI / ADO19BK, ADC-DUAL-BK, rotary switch: GC6.4-22X19     + Notatka

  AKCESORIA - Kolor

  - BLK (Black)     + Notatka
DODATKI

  WYPOSAŻENIE DODATKOWE

  - / MGDL-B / Mayones Gigbag DeLuxe - Bass     + Notatka
  - SCHALLER / ZACZEPY / Zaczep Schaller Security Lock BLK (2 szt)     + Notatka
+ +
  Notatka produkcyjna
  Dodatkowe
  informacje
+ + + + + +
+
+ +   + +   + +   + +   + +
+
+ +
+ + + +

+
+
+
+ +


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+ + + + + + + + + + + + \ No newline at end of file diff --git a/html_sample/regius.html b/html_sample/regius.html new file mode 100644 index 0000000..d039bb3 --- /dev/null +++ b/html_sample/regius.html @@ -0,0 +1,613 @@ + + + + + + + + +Mayones Guitars & Basses + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
Mayones Guitars & Basses - System Obsługi Zamówień + Wyloguj: + + nowakb + +
+
+ + + + + +
+ + +
+ + + + + +
+
Dot. zam.: 0462/2024/4   z datą realizacji:   2024-11-30-
+ + + + + + + + + + +
Grupa  Model   Nr ser.   + DZZ
Opis Odbiorca  P NTB CITES
+
+ + +   + +   + +   + + +   + +
+
+
CITES     
Status: Data wystąpienia: Data otrzymania:
Komentarz:

SZYJKA

  Radius

  - GITARA SETIUS/REGIUS/CUSTOM / 16     + Notatka

  DREWNO - Szyjka

  - Klon amerykański-Mahoń-Wenge-Amazakoe (11 części)     + Notatka
  - Carbon Rods / Dodatkowe Pręty Grafitowe / Carbon Rods     + Notatka

  DREWNO - Podstrunnica

  - EBN-ROY / EBONY ROYAL    
postrunnica zarezerwowana
+ Notatka

  DREWNO - Główka

  - CP-4A / Curly Poplar 4A     + Notatka

  WYMIARY

  - GITARA REGIUS 7/PRO 7 / Szyjka szerokość I : 49 mm     + Notatka
  - GITARA REGIUS 7/PRO 7 / Szyjka szerokość XII : 62 mm     + Notatka
  - GITARA REGIUS 7/PRO 7 / Szyjka szerokość XXIV : 69 mm     + Notatka
  - GITARA SETIUS/REGIUS/CUSTOM / Szyjka grubość I : 20 mm     + Notatka
  - GITARA SETIUS/REGIUS/CUSTOM / Szyjka grubość XII : 21 mm     + Notatka

  MARKERY - BOK

  - SBM-23 / Kropeczki (boczne) / 2+1mm / Fluorescencyjne / Niebieskie z czarną obwódką     + Notatka

  MARKERY - FRONT

  - Bez markerów     + Notatka

  PROGI

  - FERD WAGNER / FW 9685 / 667851 / Stainless Steel / 2,80×3,34 (1,45) / EXTRA JUMBO [JD brak] / STANDARD     + Notatka
KONSTRUKCJA

  Konstrukcja

  - neck-thru-body (szyjka przez korpus)     + Notatka

  Skala

  - GITARA STANDARD / 645mm (25,4")     + Notatka
OGÓLNE

  LAMÓWKA (binding)

  - Korpus / Szyjka / Główka     + Notatka
  - 3 częściowa / 2 x ABS Czarny + Akryl Biały NIE PERŁA!     + Notatka
KORPUS

  DREWNO - Top

  - CP-4A / Curly Poplar 4A     + Notatka

  DREWNO - Korpus

  - ASH-SW / ASH, SWAMP (Jesion Bagienny)     + Notatka

  KONFIGURACJA - Przetworniki

  - H-H     + Notatka

  KONFIGURACJA - Potencjometry

  - 1 x Volume / 1 x Tone     + Notatka
  - Przełącznik Ślizgowy     + Notatka
KOLOR

  KOLOR - Top

  - T-BLU-SPR-G / Blue Spirit Gloss (transparent niebieski, wielokrotnie przetarta bejca spirytusowa, gloss)     + Notatka

  KOLOR - Korpus

  - T-CST-M / TRANSPARENT CUSTOM COLOUR | MATT    
Ala Spector - Info Mate (Blue Spirit + Antyk Czarny)
+ Notatka

  KOLOR - Szyjka

  - T-CST-M / TRANSPARENT CUSTOM COLOUR | MATT    
Ala Spector - Info Mate (Blue Spirit + Antyk Czarny)
+ Notatka

  KOLOR - Główka

  - T-BLU-SPR-G / Blue Spirit Gloss (transparent niebieski, wielokrotnie przetarta bejca spirytusowa, gloss)     + Notatka

  KOLOR - Wykończenie [K/C]

  - G+M / Gloss+Matt     + Notatka
ELEKTRONIKA

  PRZETWORNIKI - Gitara

  - VELVETRONE / H15+H13-7-SET / STD / Ironside + Solium | 7 string | Humbucker Set     + Notatka
  - / SPECIAL / - PINS: BLACK SCREWS     + Notatka
  - / FINISH / STD / - WYKOŃCZENIE : PUSZKA BRUSHED NICKEL     + Notatka

  ELEKTRONIKA

  - BOURNS / PDA241-HTR01-504A2 | STD / Potencjometr / Volume / 500kA     + Notatka
  - BOURNS / PDA241-HTR01-504A2 / Potencjometr / Tone / 500kA     + Notatka
  - MAYONES / Treble Bleed Mod     + Notatka

  PRZEŁĄCZNIKI I GNIAZDA

  - SWITCHCRAFT / C12B / Gniazdo Jack     + Notatka
  - ELECTROSWITCH / 5-way | STD + / Przełącznik / Electroswitch 5-poz Multipole (ślizgowy) - Konieczna +REZERWACJA [wyklucza split na volume push-pull]     + Notatka
AKCESORIA

  MOSTEK - Gitara

  - HIPSHOT / 41075B / 7 String / Fixed .175 / BLK     + Notatka

  STROIKI - Gitara

  - HIPSHOT / 6G000-D07-B / GripLock 3+4 / Black / Regius     + Notatka

  Siodełko

  - BT-6700-00 / Grafitowe / Graph-Tech BT-6700-00 (do 7-ki)     + Notatka

  Struny

  - Nickel 010 - 060 (7)     + Notatka

  Gałki

  - SAMWOO / NS-030 BLK     + Notatka

  AKCESORIA - Kolor

  - BLK (Black)     + Notatka
DODATKI

  WYPOSAŻENIE DODATKOWE

  - SCHALLER / ZACZEPY / Zaczep Schaller Security Lock BLK (2 szt)     + Notatka
  - / HISCOX_MAYONES / Mayones HISCOX Case Guitar Regular (FUTERAŁ)     + Notatka
+ +
  Notatka produkcyjna
  Dodatkowe
  informacje
+ + + + + +
+
+ +   + +   + +   + +   + +
+
+ +
+ + + +

+
+
+
+ +


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+


+ + + + + + + + + + + + \ No newline at end of file diff --git a/main.py b/main.py index 5da8401..c9f2810 100644 --- a/main.py +++ b/main.py @@ -26,17 +26,23 @@ def get_finish_type(row_data): if not color_top or not color_body: return None - top_last_char = color_top[-1] - body_last_char = color_body[-1] + # pobierz część po ostatnim myślniku + top_suffix = color_top.split('-')[-1].upper() + body_suffix = color_body.split('-')[-1].upper() - if top_last_char == 'G' and body_last_char == 'G': + if (top_suffix == 'G' or top_suffix == None) and body_suffix == 'G': return "GLOSS" - elif top_last_char == 'S' and body_last_char == 'S': + elif (top_suffix == 'S' or top_suffix == None) and body_suffix == 'S': return "SATIN" - elif top_last_char in ('G', 'S') and body_last_char == 'M': + elif top_suffix in ('G', 'S') and body_suffix == 'M': return "MIX" - elif top_last_char in ('M', 'R') and body_last_char in ('M', 'R'): + elif top_suffix in ('M', 'R', 'MAT', 'RAW') and body_suffix in ('M', 'R', 'MAT'): return "MAT" + elif top_suffix in ('M', 'R', 'MAT', 'RAW') and body_suffix in ('G', 'S'): + return "MIX" + elif top_suffix is None and body_suffix in ('M', 'R', 'MAT'): + return "MAT" + except (KeyError, AttributeError): return None return None @@ -104,9 +110,10 @@ def main(): info.get("color_body"), info.get("color_neck"), info.get("color_head"), - info.get("finish"), + info.get("finish_kc"), + info.get("finish_s"), ] - + print(f"raw_data: {row_data}") rows_to_process.append(row_data) counter += 1 diff --git a/mayo.py b/mayo.py index a4d689d..1cc8559 100644 --- a/mayo.py +++ b/mayo.py @@ -54,7 +54,7 @@ class MayoSession: - wykończenie """ r = self.session.get(url) - r.encoding = "utf-8" + r.encoding = 'ISO-8859-2' # Poprawione kodowanie na podstawie tagu meta w HTML soup = BeautifulSoup(r.text, "html.parser") # --- nr zamówienia --- @@ -67,45 +67,33 @@ class MayoSession: # --- kolory i wykończenie --- color_sections = {} - # Znajdź wszystkie

zawierające z tekstem "KOLOR" - for p in soup.find_all("p"): - a_tag = p.find("a") - if not a_tag: - continue + + # Szukamy linków (a) wewnątrz pogrubienia (b), które zawierają "KOLOR -" + for a_tag in soup.select('b > a'): title = a_tag.get_text(strip=True) - if title.startswith("KOLOR"): - # np. "KOLOR - Top" + if title.startswith("KOLOR -"): label = title.replace("KOLOR - ", "").strip() - - # znajdź z wartością koloru (niedaleko tego

) - td = p.find_parent("td") - if td: - # przejdź do następnego , tam jest z kolorem - next_td = td.find_next_sibling("td") - if next_td: - span = next_td.find("span") - if span: - text = span.get_text(" ", strip=True) - # usuń ewentualne znaki nadmiarowe - text = re.sub(r"\s+", " ", text) - color_match = re.search(r"^\s*-\s*([A-Z0-9-]+)", text) - if color_match: - text = color_match.group(1) - color_sections[label] = text - - # --- normalizacja nazewnictwa --- - color_top = color_sections.get("Top") - color_body = color_sections.get("Korpus") - color_neck = color_sections.get("Szyjka") - color_head = color_sections.get("Główka") - finish = color_sections.get("Wykończenie [K/C]") + + parent_td = a_tag.find_parent('td') + if parent_td: + value_td = parent_td.find_next_sibling('td') + if value_td: + text = value_td.get_text(" ", strip=True) + value = None + # Wartość jest zazwyczaj pomiędzy myślnikiem a ukośnikiem + match = re.search(r'-\s*([^/]+)', text) + # print(f"label: {label}, match: {match}, text: {text}") + if match: + value = match.group(1).strip() + color_sections[label] = value return { "order_number": order_number, "model": model, - "color_top": color_top, - "color_body": color_body, - "color_neck": color_neck, - "color_head": color_head, - "finish": finish, + "color_top": color_sections.get("Top"), + "color_body": color_sections.get("Korpus"), + "color_neck": color_sections.get("Szyjka"), + "color_head": color_sections.get("Główka"), + "finish_kc": color_sections.get("Wykończenie [K/C]"), + "finish_s": color_sections.get("Wykończenie [S]"), }