scientific-programming-exer.../exam/ex01/cache.py

30 lines
855 B
Python

import os
import sqlite3
from proxy import fetch_proxies
def get_cache(directory, name):
cache_file = os.path.join(directory, "{}.sqlite".format(name))
if(not os.path.exists(cache_file)):
with open(cache_file, "w") as fin:
pass
db = sqlite3.connect(cache_file)
cursor = db.cursor()
cursor.execute("CREATE TABLE proxies(proxy TEXT, lasttime_could_not_be_used DECIMAL)")
cursor.execute("CREATE TABLE links(source TEXT, destination TEXT)")
cursor.execute("CREATE TABLE dijkstra_helper(name TEXT UNIQUE, value INT)")
cursor.execute("CREATE TABLE failed_to_fetch(title TEXT, depth INT)")
db.commit()
db = sqlite3.connect(cache_file)
fetch_proxies(db)
return db
def clear_cache_data(connection):
cursor = connection.cursor()
cursor.execute("DELETE FROM links")
cursor.execute("DELETE FROM dijkstra_helper")
connection.commit()