Ardo Kubjas 4 mesiacov pred
rodič
commit
95817a3acf
2 zmenil súbory, kde vykonal 19 pridanie a 41 odobranie
  1. 5 36
      jupyter/WeaviateExportImport.ipynb
  2. 14 5
      src/pdf_processor.py

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 5 - 36
jupyter/WeaviateExportImport.ipynb


+ 14 - 5
src/pdf_processor.py

@@ -250,18 +250,27 @@ class PDFProcessor:
             if metadata['year']:
             if metadata['year']:
                 break
                 break
         
         
-        # Otsi DOI
+        # Otsi DOI - PARANDATUD VERSIOON
         doi_patterns = [
         doi_patterns = [
-            r'doi:\s*([^\s]+)',
-            r'DOI:\s*([^\s]+)',
-            r'10\.\d{4,9}/[-._;()/:A-Za-z0-9]+'
+            r'doi:\s*([^\s]+)',      # Grupp 1: kõik DOI peale "doi:"
+            r'DOI:\s*([^\s]+)',      # Grupp 1: kõik DOI peale "DOI:"
+            r'(10\.\d{4,9}/[-._;()/:A-Za-z0-9]+)'  # Grupp 1: kõik DOI ilma eesliiteta
         ]
         ]
         
         
         for line in lines:
         for line in lines:
             for pattern in doi_patterns:
             for pattern in doi_patterns:
                 match = re.search(pattern, line, re.IGNORECASE)
                 match = re.search(pattern, line, re.IGNORECASE)
                 if match:
                 if match:
-                    doi_text = match.group(1) if 'doi:' not in pattern.lower() else match.group(1).lstrip('doi:').strip()
+                    try:
+                        # Proovi võtta grupp 1 (kui on)
+                        doi_text = match.group(1).strip()
+                    except IndexError:
+                        # Kui gruppi 1 pole, võta kogu sobiv tekst
+                        doi_text = match.group(0).strip()
+                    
+                    # Eemalda võimalikud "doi:" või "DOI:" eesliited
+                    doi_text = re.sub(r'^(doi|DOI):\s*', '', doi_text)
+                    
                     metadata['doi'] = doi_text
                     metadata['doi'] = doi_text
                     break
                     break
             if metadata['doi']:
             if metadata['doi']:

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov