Spaces:
Running
Running
Update utils/functions.py
Browse files- utils/functions.py +12 -5
utils/functions.py
CHANGED
@@ -1,5 +1,3 @@
|
|
1 |
-
# utils/functions.py
|
2 |
-
|
3 |
import phonenumbers
|
4 |
from phonenumbers import geocoder, carrier
|
5 |
import re
|
@@ -146,7 +144,6 @@ def simple_checks(message, language):
|
|
146 |
Przeprowadza proste sprawdzenia heurystyczne wiadomości SMS.
|
147 |
"""
|
148 |
warnings = []
|
149 |
-
# Baza słów kluczowych (polski, niemiecki, angielski)
|
150 |
scam_keywords = {
|
151 |
'Polish': ['pieniądze', 'przelew', 'hasło', 'kod', 'nagroda', 'wygrana', 'pilne', 'pomoc', 'opłata', 'bank', 'karta', 'konto', 'logowanie', 'transakcja', 'weryfikacja', 'dane osobowe', 'szybka płatność', 'blokada konta', 'powiadomienie'],
|
152 |
'German': ['Geld', 'Überweisung', 'Passwort', 'Code', 'Preis', 'Gewinn', 'dringend', 'Hilfe', 'Gebühr', 'Bank', 'Karte', 'Konto', 'Anmeldung', 'Transaktion', 'Verifizierung', 'persönliche Daten', 'schnelle Zahlung', 'Kontosperrung', 'Benachrichtigung'],
|
@@ -154,7 +151,6 @@ def simple_checks(message, language):
|
|
154 |
}
|
155 |
|
156 |
selected_keywords = scam_keywords.get(language, scam_keywords['English'])
|
157 |
-
|
158 |
message_lower = message.lower()
|
159 |
|
160 |
if any(keyword.lower() in message_lower for keyword in selected_keywords):
|
@@ -286,7 +282,6 @@ Provide your analysis and conclusions following the guidelines above."""
|
|
286 |
if response.status_code == 200:
|
287 |
data = response.json()
|
288 |
ai_response = data['choices'][0]['message']['content']
|
289 |
-
# Parsowanie odpowiedzi
|
290 |
analysis = re.search(r'<analysis>(.*?)</analysis>', ai_response, re.DOTALL)
|
291 |
risk_assessment = re.search(r'<risk_assessment>(.*?)</risk_assessment>', ai_response, re.DOTALL)
|
292 |
recommendations = re.search(r'<recommendations>(.*?)</recommendations>', ai_response, re.DOTALL)
|
@@ -302,3 +297,15 @@ Provide your analysis and conclusions following the guidelines above."""
|
|
302 |
except Exception as e:
|
303 |
logging.error(f"Błąd połączenia z API: {e}")
|
304 |
return f"Błąd połączenia z API: {e}", "Błąd analizy.", "Błąd analizy."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import phonenumbers
|
2 |
from phonenumbers import geocoder, carrier
|
3 |
import re
|
|
|
144 |
Przeprowadza proste sprawdzenia heurystyczne wiadomości SMS.
|
145 |
"""
|
146 |
warnings = []
|
|
|
147 |
scam_keywords = {
|
148 |
'Polish': ['pieniądze', 'przelew', 'hasło', 'kod', 'nagroda', 'wygrana', 'pilne', 'pomoc', 'opłata', 'bank', 'karta', 'konto', 'logowanie', 'transakcja', 'weryfikacja', 'dane osobowe', 'szybka płatność', 'blokada konta', 'powiadomienie'],
|
149 |
'German': ['Geld', 'Überweisung', 'Passwort', 'Code', 'Preis', 'Gewinn', 'dringend', 'Hilfe', 'Gebühr', 'Bank', 'Karte', 'Konto', 'Anmeldung', 'Transaktion', 'Verifizierung', 'persönliche Daten', 'schnelle Zahlung', 'Kontosperrung', 'Benachrichtigung'],
|
|
|
151 |
}
|
152 |
|
153 |
selected_keywords = scam_keywords.get(language, scam_keywords['English'])
|
|
|
154 |
message_lower = message.lower()
|
155 |
|
156 |
if any(keyword.lower() in message_lower for keyword in selected_keywords):
|
|
|
282 |
if response.status_code == 200:
|
283 |
data = response.json()
|
284 |
ai_response = data['choices'][0]['message']['content']
|
|
|
285 |
analysis = re.search(r'<analysis>(.*?)</analysis>', ai_response, re.DOTALL)
|
286 |
risk_assessment = re.search(r'<risk_assessment>(.*?)</risk_assessment>', ai_response, re.DOTALL)
|
287 |
recommendations = re.search(r'<recommendations>(.*?)</recommendations>', ai_response, re.DOTALL)
|
|
|
297 |
except Exception as e:
|
298 |
logging.error(f"Błąd połączenia z API: {e}")
|
299 |
return f"Błąd połączenia z API: {e}", "Błąd analizy.", "Błąd analizy."
|
300 |
+
|
301 |
+
def get_email_info(email):
|
302 |
+
"""
|
303 |
+
Sprawdza informacje o nadawcy e-maila (np. domena, organizacja, kraj).
|
304 |
+
"""
|
305 |
+
domain = email.split('@')[-1] # Prosta ekstrakcja domeny
|
306 |
+
# Możesz dodać więcej logiki do weryfikacji domeny
|
307 |
+
return {
|
308 |
+
"domain": domain,
|
309 |
+
"organization": "Nieznana organizacja", # Możesz dodać logikę, aby zidentyfikować organizację
|
310 |
+
"country": "Nieznany kraj" # Możesz dodać logikę, aby zidentyfikować kraj
|
311 |
+
}
|