Add config file

This commit is contained in:
Omar Roth 2018-03-09 12:42:23 -06:00
parent e22d6d8549
commit eb1d1e30d1
3 changed files with 37 additions and 3 deletions

8
config/config.yml Normal file
View File

@ -0,0 +1,8 @@
pool_size: 10
threads: 5
db:
user: kemal
password: kemal
host: localhost
port: 5432
dbname: invidious

View File

@ -13,6 +13,20 @@ macro templated(filename)
render "src/views/#{{{filename}}}.ecr", "src/views/layout.ecr"
end
class Config
YAML.mapping({
pool_size: Int32,
threads: Int32,
db: NamedTuple(
user: String,
password: String,
host: String,
port: Int32,
dbname: String,
),
})
end
class Video
module HTTPParamConverter
def self.from_rs(rs)

View File

@ -18,10 +18,13 @@ require "kemal"
require "option_parser"
require "pg"
require "xml"
require "yaml"
require "./helpers"
pool_size = 10
threads = 5
CONFIG = Config.from_yaml(File.read("config/config.yml"))
pool_size = CONFIG.pool_size
threads = CONFIG.threads
Kemal.config.extra_options do |parser|
parser.banner = "Usage: invidious [arguments]"
@ -45,7 +48,16 @@ end
Kemal::CLI.new
PG_DB = DB.open "postgres://kemal:kemal@localhost:5432/invidious"
PG_URL = URI.new(
scheme: "postgres",
user: CONFIG.db[:user],
password: CONFIG.db[:password],
host: CONFIG.db[:host],
port: CONFIG.db[:port],
path: CONFIG.db[:dbname],
)
PG_DB = DB.open PG_URL
YT_URL = URI.parse("https://www.youtube.com")
REDDIT_URL = URI.parse("https://api.reddit.com")