new module "ythdd_db.py" handles database connections now. minor improvements to ythdd.py
This commit is contained in:
61
ythdd_db.py
Normal file
61
ythdd_db.py
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/python3
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
import toml
|
||||
import ythdd_globals
|
||||
|
||||
database_file = ythdd_globals.config["general"]["db_file_path"]
|
||||
global db
|
||||
|
||||
#db = SQLAlchemy()
|
||||
|
||||
def initDB(app):
|
||||
db = SQLAlchemy(app)
|
||||
|
||||
class LocalUsers(db.Model):
|
||||
uid = db.Column(db.Integer, primary_key=True)
|
||||
nick = db.Column(db.String)
|
||||
subscriptions = db.Column(db.JSON) # for RSS feed ???
|
||||
playlists = db.Column(db.JSON)
|
||||
watch_history = db.Column(db.JSON)
|
||||
queue_history = db.Column(db.JSON)
|
||||
|
||||
class Videos(db.Model):
|
||||
ytid = db.Column(db.String(11), primary_key=True)
|
||||
archive_version = db.Column(db.Integer)
|
||||
archive_type = db.Column(db.Integer) # 0 - V+A, 1 - V, 2 - A, 3 - other
|
||||
archive_format = db.Column(db.Integer) # 0, 1, 2, 3... from config.toml[postprocessing][presets]
|
||||
title = db.Column(db.String)
|
||||
description = db.Column(db.String)
|
||||
file_path = db.Column(db.String) # with extension
|
||||
viewcount = db.Column(db.Integer)
|
||||
duration = db.Column(db.Integer)
|
||||
like_count = db.Column(db.Integer)
|
||||
upload_date = db.Column(db.Integer)
|
||||
archive_date = db.Column(db.Integer)
|
||||
channel_id = db.Column(db.String(24)) # author, RemoteUser
|
||||
requested_by = db.Column(db.Integer) # LocalUser
|
||||
comments = db.Column(db.JSON) # TODO: watch frequent commenters
|
||||
|
||||
class Playlists(db.Model):
|
||||
# For archiving videos' list from playlist.
|
||||
ytid = db.Column(db.String(11), primary_key=True)
|
||||
name = db.Column(db.String)
|
||||
videos = db.Column(db.String)
|
||||
modify_date = db.Column(db.Integer)
|
||||
archive_date = db.Column(db.Integer)
|
||||
channel_id = db.Column(db.String(24)) # author, RemoteUser
|
||||
requested_by = db.Column(db.Integer) # LocalUser
|
||||
|
||||
class VideoQueue(db.Model):
|
||||
uid = db.Column(db.Integer, primary_key=True)
|
||||
ytid = db.Column(db.String(11))
|
||||
requested_by = db.Column(db.String)
|
||||
|
||||
class RemoteUsers(db.Model):
|
||||
channel_id = db.Column(db.String(24), primary_key=True) # possibly can change?
|
||||
name = db.Column(db.String)
|
||||
subscribers = db.Column(db.Integer)
|
||||
avatar_path = db.Column(db.String)
|
||||
badge = db.Column(db.Integer) # 0 - no badge, 1 - verified, 2 - music
|
||||
|
||||
return db
|
||||
Reference in New Issue
Block a user