@ -1,24 +1,22 @@
# -*- coding: utf-8 -*-
import logging
import os
import ast
import atexit
import json
import ast
import logging
import os
import time
from datetime import datetime
from dogpile . cache import make_region
from peewee import Model , AutoField , TextField , IntegerField , ForeignKeyField , BlobField , BooleanField , BigIntegerField , \
DateTimeField
from playhouse . sqliteq import SqliteQueueDatabase
DateTimeField , OperationalError , PostgresqlDatabase
from playhouse . migrate import PostgresqlMigrator
from playhouse . migrate import SqliteMigrator , migrate
from playhouse . shortcuts import ThreadSafeDatabaseMetadata , ReconnectMixin
from playhouse . sqlite_ext import RowIDField
from playhouse . sqliteq import SqliteQueueDatabase
from dogpile . cache import make_region
from utilities . path_mappings import path_mappings
from peewee import PostgresqlDatabase
from playhouse . migrate import PostgresqlMigrator
from . config import settings , get_array_from
from . get_args import args
@ -29,15 +27,22 @@ postgresql = settings.postgresql.getboolean('enabled')
region = make_region ( ) . configure ( ' dogpile.cache.memory ' )
if postgresql :
class ReconnectPostgresqlDatabase ( ReconnectMixin , PostgresqlDatabase ) :
reconnect_errors = (
( OperationalError , ' server closed the connection unexpectedly ' ) ,
)
logger . debug (
f " Connecting to PostgreSQL database: { settings . postgresql . host } : { settings . postgresql . port } / { settings . postgresql . database } " )
database = PostgresqlDatabase ( settings . postgresql . database ,
user = settings . postgresql . username ,
password = settings . postgresql . password ,
host = settings . postgresql . host ,
port = settings . postgresql . port ,
autoconnect = True
)
database = ReconnectPostgresqlDatabase ( settings . postgresql . database ,
user = settings . postgresql . username ,
password = settings . postgresql . password ,
host = settings . postgresql . host ,
port = settings . postgresql . port ,
autocommit = True ,
autoconnect = True ,
)
migrator = PostgresqlMigrator ( database )
else :
db_path = os . path . join ( args . config_dir , ' db ' , ' bazarr.db ' )
@ -62,6 +67,7 @@ class UnknownField(object):
class BaseModel ( Model ) :
class Meta :
database = database
model_metadata_class = ThreadSafeDatabaseMetadata
class System ( BaseModel ) :