Here comes my trump card
This commit is contained in:
parent
fa544f17f5
commit
5023dadc4e
13
Hyozan/db.py
13
Hyozan/db.py
|
@ -25,6 +25,19 @@ def add_b2(filename, file_id):
|
|||
db.commit()
|
||||
db.close()
|
||||
|
||||
def get_old_files(targetTime):
|
||||
db = connect('files.db')
|
||||
cur = db.execute('SELECT file FROM files WHERE accessed <= ?', [targetTime,])
|
||||
rv = cur.fetchall()
|
||||
db.close()
|
||||
return [dict(file=row[0]) for row in rv]
|
||||
|
||||
def delete_entry(file):
|
||||
db = connect('files.db')
|
||||
db.execute('DELETE FROM files WHERE file = ?', [file,])
|
||||
db.commit()
|
||||
db.close()
|
||||
|
||||
def check_value(column, value):
|
||||
db = connect('files.db')
|
||||
cur = db.execute('SELECT EXISTS(SELECT 1 FROM files WHERE ? = ?)', [column, value])
|
||||
|
|
|
@ -18,6 +18,9 @@ config["KEY"] = ""
|
|||
# File settings
|
||||
config["UPLOAD_FOLDER"] = './data'
|
||||
config["ALLOWED_EXTENSIONS"] = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
|
||||
# If this is set to true, old files will be deleted. TIME is how far behind (in seconds) the last accessed time can be before files get deleted
|
||||
config["DELETE_FILES"] = True
|
||||
config["TIME"] = 30
|
||||
|
||||
# Site info displayed to the user
|
||||
config["SITE_DATA"] = {
|
||||
|
|
14
run.py
14
run.py
|
@ -28,6 +28,18 @@ log = logging.getLogger('werkzeug')
|
|||
log.setLevel(logging.ERROR)
|
||||
|
||||
|
||||
def delete_old():
|
||||
targetTime = time.time() - config["TIME"]
|
||||
old = db.get_old_files(targetTime)
|
||||
for file in old:
|
||||
try:
|
||||
os.remove(os.path.join(config["UPLOAD_FOLDER"], file["file"]))
|
||||
except Exception:
|
||||
pass
|
||||
db.delete_entry(file["file"])
|
||||
print_log('Notice', 'Removed old file "' + file["file"] + '"')
|
||||
|
||||
|
||||
def auth(key):
|
||||
if config["KEY"] == "":
|
||||
return True
|
||||
|
@ -78,8 +90,10 @@ def upload_file():
|
|||
@app.route('/<filename>', methods=['GET'])
|
||||
def get_file(filename):
|
||||
print_log('Main', 'Hit "' + filename + '" - ' + time_to_string(time.time()))
|
||||
db.update_file(filename)
|
||||
return send_from_directory(config['UPLOAD_FOLDER'], filename)
|
||||
|
||||
delete_old()
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(
|
||||
|
|
Loading…
Reference in New Issue