Refactor DBConfig

This commit is contained in:
Omar Roth 2019-05-21 09:00:35 -05:00
parent 8b50c8515f
commit a675c64c2d
No known key found for this signature in database
GPG key ID: B8254FB7EC3D37F2
2 changed files with 18 additions and 14 deletions

View file

@ -33,11 +33,11 @@ HMAC_KEY = CONFIG.hmac_key || Random::Secure.hex(32)
PG_URL = URI.new( PG_URL = URI.new(
scheme: "postgres", scheme: "postgres",
user: CONFIG.db[:user], user: CONFIG.db.user,
password: CONFIG.db[:password], password: CONFIG.db.password,
host: CONFIG.db[:host], host: CONFIG.db.host,
port: CONFIG.db[:port], port: CONFIG.db.port,
path: CONFIG.db[:dbname], path: CONFIG.db.dbname,
) )
PG_DB = DB.open PG_URL PG_DB = DB.open PG_URL

View file

@ -97,15 +97,9 @@ struct Config
end end
YAML.mapping({ YAML.mapping({
channel_threads: Int32, # Number of threads to use for crawling videos from channels (for updating subscriptions) channel_threads: Int32, # Number of threads to use for crawling videos from channels (for updating subscriptions)
feed_threads: Int32, # Number of threads to use for updating feeds feed_threads: Int32, # Number of threads to use for updating feeds
db: NamedTuple( # Database configuration db: DBConfig, # Database configuration
user: String,
password: String,
host: String,
port: Int32,
dbname: String,
),
full_refresh: Bool, # Used for crawling channels: threads should check all videos uploaded by a channel full_refresh: Bool, # Used for crawling channels: threads should check all videos uploaded by a channel
https_only: Bool?, # Used to tell Invidious it is behind a proxy, so links to resources should be https:// https_only: Bool?, # Used to tell Invidious it is behind a proxy, so links to resources should be https://
hmac_key: String?, # HMAC signing key for CSRF tokens and verifying pubsub subscriptions hmac_key: String?, # HMAC signing key for CSRF tokens and verifying pubsub subscriptions
@ -132,6 +126,16 @@ user: String,
}) })
end end
struct DBConfig
yaml_mapping({
user: String,
password: String,
host: String,
port: Int32,
dbname: String,
})
end
def rank_videos(db, n) def rank_videos(db, n)
top = [] of {Float64, String} top = [] of {Float64, String}