pint/files_to_database.py
Abdel-Kader Chabi-Sika-Boni 42cefc2a81 mise a jour
2020-12-22 00:34:01 +01:00

53 lines
No EOL
2.1 KiB
Python

import sqlite3
from datetime import datetime
def create_table_files():
conn = sqlite3.connect("files.db", detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES)
cur = conn.cursor()
cur.execute("CREATE TABLE files (name VARCHAR(255) PRIMARY KEY, moment DATETIME, length INT);")
conn.commit()
conn.close()
def populate_table_files():
conn = sqlite3.connect("files.db", detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES)
cur = conn.cursor()
with open("files.txt", "r") as f:
for line in f:
file, fsize = line.split(" ")
fsize = int(fsize.rstrip())
if file.endswith(".ast"):
year, month, rem = file.split("-")
day = rem.split(".")[0]
cur.execute("INSERT INTO files VALUES (?, ?, ?);", (file, datetime(int(year), int(month), int(day), 0, 0, 0, 0), fsize))
print("year=%s month=%s day=%s hour=0 minut=0 length=%s" % (year, month, day, fsize))
else:
year, month, day, rem = file.split("-")
compact_moment = rem.split(".")[0]
hour = compact_moment[:2]
minut = compact_moment[2:]
cur.execute("INSERT INTO files VALUES (?, ?, ?);", (file, datetime(int(year), int(month), int(day), int(hour), int(minut), 0, 0), fsize))
print("year=%s month=%s day=%s hour=%s minut=%s length=%s"%(year, month, day, hour, minut, fsize))
f.close()
conn.commit()
conn.close()
def unpopulate_table_files():
conn = sqlite3.connect("files.db", detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES)
cur = conn.cursor()
cur.execute("DELETE FROM files;")
conn.commit()
conn.close()
def query_from_table_files(number=30):
conn = sqlite3.connect("files.db", detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES)
cur = conn.cursor()
cur.execute("SELECT * FROM files;")
rows = cur.fetchmany(number)
conn.close()
for row in rows:
print(row)
# create_table_files()
# populate_table_files()
# unpopulate_table_files()
query_from_table_files()