avatar
Untitled

Guest 234 9th Jul, 2024

MARKUP 2.64 KB
                                           
                         import psycopg2
from datetime import datetime

# Konfiguracja połączenia z bazą danych
conn = psycopg2.connect(
    dbname="nazwa_bazy_danych",
    user="uzytkownik",
    password="haslo",
    host="host",
    port="port"
)

# Funkcja do aktualizacji klauzuli
def update_clause(service, paywayid, language):
    try:
        cur = conn.cursor()

        # Zapytanie do pobrania poprzedniej klauzuli
        cur.execute("""
            SELECT clause_id, html, mobilehtml
            FROM tabela
            WHERE service = %s AND paywayid = %s AND language = %s
            ORDER BY lastmodified DESC
            LIMIT 1 OFFSET 1
        """, (service, paywayid, language))

        previous_clause = cur.fetchone()

        if previous_clause is None:
            print("Brak poprzedniej klauzuli dla podanych parametrów.")
            return

        prev_clause_id, html, mobilehtml = previous_clause

        # Zapytanie do pobrania najnowszej klauzuli
        cur.execute("""
            SELECT clause_id
            FROM tabela
            WHERE service = %s AND paywayid = %s AND language = %s
            ORDER BY lastmodified DESC
            LIMIT 1
        """, (service, paywayid, language))

        latest_clause = cur.fetchone()

        if latest_clause is None:
            print("Brak najnowszej klauzuli dla podanych parametrów.")
            return

        latest_clause_id = latest_clause[0]

        # Aktualizacja najnowszej klauzuli
        cur.execute("""
            UPDATE tabela
            SET html = %s, mobilehtml = %s, lastmodified = %s
            WHERE clause_id = %s
        """, (html, mobilehtml, datetime.now(), latest_clause_id))

        conn.commit()
        print(f"Klauzula {latest_clause_id} została zaktualizowana.")
    except Exception as e:
        print(f"Error: {e}")
        conn.rollback()
    finally:
        cur.close()

# Określenie serwisów, paywayid i language na początku skryptu
services = [
    {'service': 'service1', 'paywayid': 'paywayid1', 'language': 'pl'},
    {'service': 'service2', 'paywayid': 'paywayid2', 'language': 'en'},
    # Dodaj więcej serwisów, paywayid i language jeśli potrzeba
]

# Iteracja po serwisach i aktualizacja klauzul
for s in services:
    update_clause(s['service'], s['paywayid'], s['language'])

# Zamknięcie połączenia z bazą danych
conn.close()
                      
                                       
To share this paste please copy this url and send to your friends
RAW Paste Data
Ta strona używa plików cookie w celu usprawnienia i ułatwienia dostępu do serwisu oraz prowadzenia danych statystycznych. Dalsze korzystanie z tej witryny oznacza akceptację tego stanu rzeczy.
Wykorzystywanie plików Cookie
Jak wyłączyć cookies?
ROZUMIEM