diff --git a/brancheneinstufung.py b/brancheneinstufung.py index dda3ac8f..a5d12f5f 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -12,7 +12,7 @@ import csv # ==================== KONFIGURATION ==================== class Config: - VERSION = "1.1.7" # Neue Version + VERSION = "1.1.8" # Neue Version LANG = "de" CREDENTIALS_FILE = "service_account.json" SHEET_URL = "https://docs.google.com/spreadsheets/d/1u_gHr9JUfmV1-iviRzbSe3575QEp7KLhK5jFV_gJcgo" @@ -199,9 +199,12 @@ class WikipediaScraper: return raw_value.strip() if target == 'mitarbeiter': raw = raw_value.lower() - # Falls "mitarbeiterzahl" explizit vorkommt, entferne diesen Teil + # Spezifisch nach "mitarbeiterzahl" suchen und den direkt folgenden Zahlenwert extrahieren if "mitarbeiterzahl" in raw: - raw = raw.split("mitarbeiterzahl")[-1] + match = re.search(r'mitarbeiterzahl\D*(\d+)', raw) + if match: + return match.group(1) + # Alternativ: Finde die erste Zahl numbers = re.findall(r'\d+', raw) if numbers: return numbers[0] @@ -271,7 +274,6 @@ class DataProcessor: self.sheet_handler = GoogleSheetHandler() self.wiki_scraper = WikipediaScraper() def process_rows(self, num_rows=None): - # Im Re-Evaluierungsmodus wird num_rows ignoriert. if MODE == "2": print("Re-Evaluierungsmodus: Verarbeitung aller Zeilen mit 'x' in Spalte A.") else: @@ -279,17 +281,12 @@ class DataProcessor: print(f"Starte bei Zeile {start_index+1}") for i, row in enumerate(self.sheet_handler.sheet_values[1:], start=2): if MODE == "2": - # Nur Zeilen mit "x" in Spalte A verarbeiten if row[0].strip().lower() == "x": self._process_single_row(i, row) else: - # Normalmodus: Alle Zeilen ab Startindex verarbeiten if i >= self.sheet_handler.get_start_index(): self._process_single_row(i, row) def _process_single_row(self, row_num, row_data): - # Modusabhängige Verarbeitung: - # Normalmodus (Modus "1"): Firmenname in Spalte A, Website in Spalte B; Ausgabe in G:K, Datum in N, Version in Q. - # Re-Evaluierungsmodus (Modus "2"): Nur Zeilen mit "x" in Spalte A; Firmenname in Spalte B, Website in Spalte C; Ausgabe in H:L, Datum in O, Version in R. if MODE == "2": company_name = row_data[1] if len(row_data) > 1 else "" website = row_data[2] if len(row_data) > 2 else ""