Spaces:
Sleeping
Sleeping
import os | |
import re | |
import random | |
from supabase.client import ClientOptions | |
from supabase import create_client, Client | |
from dotenv import load_dotenv | |
load_dotenv() | |
user_name_to_range = {'kerem': (1, 1000), 'mehmet': (1001, 2001), 'ege': (2001, 1013817)} | |
url: str = os.environ.get("SUPABASE_URL") | |
key: str = os.environ.get("SUPABASE_KEY") | |
supabase: Client = create_client(url, key, options=ClientOptions(postgrest_client_timeout=300)) | |
def eso_replace_string(from_: str, to_: str, text: str): | |
# Regex pattern: | |
# \w*1\w* - En az bir '1' içeren kelimeleri bulur. | |
# Ancak bu, sadece "1" içeren tek karakterleri de içerebilir ve bu yüzden toplam uzunluğu kontrol ediyoruz. | |
pattern = fr'\b\w*{from_}\w*\b' | |
# Metindeki tüm kelimeler üzerinde dön | |
for word in re.findall(pattern, text): | |
# Eğer kelime en az 2 karakter içeriyorsa ve en az bir harf içeriyorsa | |
if len(word) > 1 and re.search("[a-zA-Z]", word): | |
modified_word = word.replace(from_, to_) | |
text = text.replace(word, modified_word) | |
return text | |
# Dosyayı açıp içeriğini okuyan ve içeriği bir string olarak döndüren fonksiyon | |
def dosyayi_oku(dosya_yolu): | |
try: | |
with open(dosya_yolu, 'r', encoding='iso-8859-9') as dosya: | |
icerik = dosya.read() | |
return icerik | |
except FileNotFoundError: | |
print("Dosya bulunamadı.") | |
except Exception as e: | |
print(f"Bir hata oluştu: {e}") | |
def get_next_row_id(user_name: str): | |
row_range = user_name_to_range[user_name] | |
data, count = supabase.table('eso-tr').select('id').gte('id', row_range[0]).lt('id', row_range[1]).eq('done', False).limit(1).execute() | |
text_id = data[1][0]['id'] | |
return text_id | |
def get_text_by_row_id(id: int): | |
data, count = supabase.table('eso-tr').select('text').eq('id', id).limit(1).execute() | |
text = data[1][0]['text'] | |
return text | |
def add_updated_text_to_db(text: str): | |
pass | |