From 2a2435ae11d66134596d06aaa7c97cd0d6743208 Mon Sep 17 00:00:00 2001 From: Harvey Tindall Date: Tue, 29 Sep 2020 20:51:15 +0100 Subject: [PATCH] remove version, device, device_id options, set them automatically not sure why i exposed these to the user in the first place. they are set to , , -> respectively. --- .goreleaser.yml | 2 +- Makefile | 2 +- config.go | 5 +++++ config/config-base.json | 23 +---------------------- config/generate_ini.py | 14 ++------------ data/config-base.json | 28 ++-------------------------- main.go | 8 +++++++- 7 files changed, 19 insertions(+), 63 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 5e88585..85e96bb 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -10,7 +10,7 @@ before: hooks: - go mod download - python3 config/fixconfig.py -i config/config-base.json -o data/config-base.json - - python3 config/generate_ini.py -i config/config-base.json -o data/config-default.ini --version {{.Version}} + - python3 config/generate_ini.py -i config/config-base.json -o data/config-default.ini - python3 -m pip install libsass - python3 scss/get_node_deps.py - python3 scss/compile.py -y diff --git a/Makefile b/Makefile index 1c7fff4..9bf33ad 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ configuration: $(info Fixing config-base) python3 config/fixconfig.py -i config/config-base.json -o data/config-base.json $(info Generating config-default.ini) - python3 config/generate_ini.py -i config/config-base.json -o data/config-default.ini --version git + python3 config/generate_ini.py -i config/config-base.json -o data/config-default.ini sass: $(info Getting libsass) diff --git a/config.go b/config.go index a045362..ea127c5 100644 --- a/config.go +++ b/config.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "path/filepath" "strconv" @@ -72,6 +73,10 @@ func (app *appContext) loadConfig() error { app.config.Section("deletion").Key("email_html").SetValue(app.config.Section("deletion").Key("email_html").MustString(filepath.Join(app.local_path, "deleted.html"))) app.config.Section("deletion").Key("email_text").SetValue(app.config.Section("deletion").Key("email_text").MustString(filepath.Join(app.local_path, "deleted.txt"))) + app.config.Section("jellyfin").Key("version").SetValue(VERSION) + app.config.Section("jellyfin").Key("device").SetValue("jfa-go") + app.config.Section("jellyfin").Key("device_id").SetValue(fmt.Sprintf("jfa-go-%s-%s", VERSION, COMMIT)) + app.email = NewEmailer(app) return nil diff --git a/config/config-base.json b/config/config-base.json index 10240ca..aaaac34 100644 --- a/config/config-base.json +++ b/config/config-base.json @@ -41,28 +41,7 @@ "requires_restart": true, "type": "text", "value": "jfa-go", - "description": "This and below settings will show on the Jellyfin dashboard when the program connects. You may as well leave them alone." - }, - "version": { - "name": "Version Number", - "required": true, - "requires_restart": true, - "type": "text", - "value": "{version}" - }, - "device": { - "name": "Device Name", - "required": true, - "requires_restart": true, - "type": "text", - "value": "jfa-go" - }, - "device_id": { - "name": "Device ID", - "required": true, - "requires_restart": true, - "type": "text", - "value": "jfa-go-{version}" + "description": "The name of the client that will show up in the Jellyfin dashboard." } }, "ui": { diff --git a/config/generate_ini.py b/config/generate_ini.py index 7974358..6928af8 100644 --- a/config/generate_ini.py +++ b/config/generate_ini.py @@ -7,10 +7,9 @@ from pathlib import Path parser = argparse.ArgumentParser() parser.add_argument("-i", "--input", help="input config base from jf-accounts") parser.add_argument("-o", "--output", help="output ini") -parser.add_argument("--version", help="version to include in file") -def generate_ini(base_file, ini_file, version): +def generate_ini(base_file, ini_file): """ Generates .ini file from config-base file. """ @@ -32,11 +31,6 @@ def generate_ini(base_file, ini_file, version): value = str(value) ini.set(section, entry, value) - ini["jellyfin"]["version"] = version - ini["jellyfin"]["device_id"] = ini["jellyfin"]["device_id"].replace( - "{version}", version - ) - with open(Path(ini_file), "w") as config_file: ini.write(config_file) return True @@ -44,8 +38,4 @@ def generate_ini(base_file, ini_file, version): args = parser.parse_args() -version = "git" -if args.version is not None: - version = args.version - -print(generate_ini(base_file=args.input, ini_file=args.output, version=version)) +print(generate_ini(base_file=args.input, ini_file=args.output)) diff --git a/data/config-base.json b/data/config-base.json index 0e102a2..b0a8953 100644 --- a/data/config-base.json +++ b/data/config-base.json @@ -19,10 +19,7 @@ "password", "server", "public_server", - "client", - "version", - "device", - "device_id" + "client" ], "meta": { "name": "Jellyfin", @@ -65,28 +62,7 @@ "requires_restart": true, "type": "text", "value": "jfa-go", - "description": "This and below settings will show on the Jellyfin dashboard when the program connects. You may as well leave them alone." - }, - "version": { - "name": "Version Number", - "required": true, - "requires_restart": true, - "type": "text", - "value": "{version}" - }, - "device": { - "name": "Device Name", - "required": true, - "requires_restart": true, - "type": "text", - "value": "jfa-go" - }, - "device_id": { - "name": "Device ID", - "required": true, - "requires_restart": true, - "type": "text", - "value": "jfa-go-{version}" + "description": "The name of the client that will show up in the Jellyfin dashboard." } }, "ui": { diff --git a/main.go b/main.go index cec6776..a1ad307 100644 --- a/main.go +++ b/main.go @@ -407,7 +407,13 @@ func start(asDaemon, firstCall bool) { } server := app.config.Section("jellyfin").Key("server").String() - app.jf, _ = newJellyfin(server, "jfa-go", app.version, "hrfee-arch", "hrfee-arch") + app.jf, _ = newJellyfin( + server, + app.config.Section("jellyfin").Key("client").String(), + app.config.Section("jellyfin").Key("version").String(), + app.config.Section("jellyfin").Key("device").String(), + app.config.Section("jellyfin").Key("device_id").String(), + ) var status int _, status, err = app.jf.authenticate(app.config.Section("jellyfin").Key("username").String(), app.config.Section("jellyfin").Key("password").String()) if status != 200 || err != nil {