Skip to content

Commit 6f01f1e

Browse files
committed
Unformat config
Ignore vscode
1 parent 0c61ad7 commit 6f01f1e

File tree

2 files changed

+72
-70
lines changed

2 files changed

+72
-70
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
.env
2+
**/.vscode/**

src/config/config.go

Lines changed: 71 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -3,61 +3,63 @@ package config
33
import (
44
"errors"
55
"fmt"
6-
"log/slog"
76
"os"
87
"strings"
98
"time"
9+
"log/slog"
1010

1111
"github.com/ilyakaznacheev/cleanenv"
1212
"golang.org/x/text/cases"
1313
"golang.org/x/text/language"
1414
)
1515

1616
type Config struct {
17-
DownloadCfg DownloadConfig
17+
DownloadCfg DownloadConfig
1818
DiscoveryCfg DiscoveryConfig
19-
ClientCfg ClientConfig
20-
Flags Flags
21-
PersistENV bool `env:"PERSIST" env-default:"true"`
22-
Persist bool
23-
System string `env:"EXPLO_SYSTEM"`
24-
Debug bool `env:"DEBUG" env-default:"false"`
25-
LogLevel string `env:"LOG_LEVEL" env-default:"INFO"`
19+
ClientCfg ClientConfig
20+
Flags Flags
21+
PersistENV bool `env:"PERSIST" env-default:"true"`
22+
Persist bool
23+
System string `env:"EXPLO_SYSTEM"`
24+
Debug bool `env:"DEBUG" env-default:"false"`
25+
LogLevel string `env:"LOG_LEVEL" env-default:"INFO"`
2626
}
2727

2828
type Flags struct {
29-
CfgPath string
30-
Playlist string
29+
CfgPath string
30+
Playlist string
3131
DownloadMode string
3232
ExcludeLocal bool
33-
Persist bool
34-
PersistSet bool
33+
Persist bool
34+
PersistSet bool
3535
}
3636

3737
type ClientConfig struct {
38-
ClientID string `env:"CLIENT_ID" env-default:"explo"`
39-
LibraryName string `env:"LIBRARY_NAME" env-default:"Explo"`
40-
URL string `env:"SYSTEM_URL"`
41-
DownloadDir string `env:"DOWNLOAD_DIR" env-default:"/data/"`
42-
PlaylistDir string `env:"PLAYLIST_DIR"`
43-
PlaylistName string
38+
ClientID string `env:"CLIENT_ID" env-default:"explo"`
39+
LibraryName string `env:"LIBRARY_NAME" env-default:"Explo"`
40+
URL string `env:"SYSTEM_URL"`
41+
DownloadDir string `env:"DOWNLOAD_DIR" env-default:"/data/"`
42+
PlaylistDir string `env:"PLAYLIST_DIR"`
43+
PlaylistName string
4444
PlaylistDescr string
45-
PlaylistID string
46-
Sleep int `env:"SLEEP" env-default:"2"`
47-
HTTPTimeout int `env:"CLIENT_HTTP_TIMEOUT" env-default:"10"`
48-
Creds Credentials
49-
Subsonic SubsonicConfig
45+
PlaylistID string
46+
Sleep int `env:"SLEEP" env-default:"2"`
47+
HTTPTimeout int `env:"CLIENT_HTTP_TIMEOUT" env-default:"10"`
48+
Creds Credentials
49+
Subsonic SubsonicConfig
5050
}
5151

5252
type Credentials struct {
53-
APIKey string `env:"API_KEY"`
54-
User string `env:"SYSTEM_USERNAME"`
53+
APIKey string `env:"API_KEY"`
54+
User string `env:"SYSTEM_USERNAME"`
5555
Password string `env:"SYSTEM_PASSWORD"`
56-
Headers map[string]string
57-
Token string
58-
Salt string
56+
Headers map[string]string
57+
Token string
58+
Salt string
5959
}
6060

61+
62+
6163
type Lidarr struct {
6264
APIKey string `env:"LIDARR_API_KEY"`
6365
Retry int `env:"LIDARR_RETRY" env-default:"5"` // Number of times to check search status before skipping the track
@@ -77,56 +79,56 @@ type LidarrMon struct {
7779
}
7880

7981
type SubsonicConfig struct {
80-
Version string `env:"SUBSONIC_VERSION" env-default:"1.16.1"`
81-
ID string `env:"CLIENT" env-default:"explo"`
82-
PublicPlaylist bool `env:"PUBLIC_PLAYLIST" env-default:"false"`
82+
Version string `env:"SUBSONIC_VERSION" env-default:"1.16.1"`
83+
ID string `env:"CLIENT" env-default:"explo"`
84+
PublicPlaylist bool `env:"PUBLIC_PLAYLIST" env-default:"false"`
8385
}
8486

8587
type DownloadConfig struct {
86-
DownloadDir string `env:"DOWNLOAD_DIR" env-default:"/data/"`
87-
Youtube Youtube
88-
YoutubeMusic YoutubeMusic
89-
Slskd Slskd
90-
Lidarr Lidarr
91-
ExcludeLocal bool
92-
KeepPermissions bool `env:"KEEP_PERMISSIONS" env-default:"true"` // keep original file permissions when migrating download
93-
RenameTrack bool `env:"RENAME_TRACK" env-default:"false"` // Rename track in {title}-{artist} format
94-
UseSubDir bool `env:"USE_SUBDIRECTORY" env-default:"true"`
95-
Discovery string `env:"LISTENBRAINZ_DISCOVERY" env-default:"playlist"`
96-
Services []string `env:"DOWNLOAD_SERVICES" env-default:"youtube"`
88+
DownloadDir string `env:"DOWNLOAD_DIR" env-default:"/data/"`
89+
Youtube Youtube
90+
YoutubeMusic YoutubeMusic
91+
Slskd Slskd
92+
Lidarr Lidarr
93+
ExcludeLocal bool
94+
KeepPermissions bool `env:"KEEP_PERMISSIONS" env-default:"true"` // keep original file permissions when migrating download
95+
RenameTrack bool `env:"RENAME_TRACK" env-default:"false"` // Rename track in {title}-{artist} format
96+
UseSubDir bool `env:"USE_SUBDIRECTORY" env-default:"true"`
97+
Discovery string `env:"LISTENBRAINZ_DISCOVERY" env-default:"playlist"`
98+
Services []string `env:"DOWNLOAD_SERVICES" env-default:"youtube"`
9799
}
98100

99101
type Filters struct {
100-
Extensions []string `env:"EXTENSIONS" env-default:"flac,mp3"`
101-
MinBitDepth int `env:"MIN_BIT_DEPTH" env-default:"8"`
102-
MinBitRate int `env:"MIN_BITRATE" env-default:"256"`
103-
FilterList []string `env:"FILTER_LIST" env-default:"live,remix,instrumental,extended,clean,acapella"`
102+
Extensions []string `env:"EXTENSIONS" env-default:"flac,mp3"`
103+
MinBitDepth int `env:"MIN_BIT_DEPTH" env-default:"8"`
104+
MinBitRate int `env:"MIN_BITRATE" env-default:"256"`
105+
FilterList []string `env:"FILTER_LIST" env-default:"live,remix,instrumental,extended,clean,acapella"`
104106
}
105107

106108
type Youtube struct {
107-
APIKey string `env:"YOUTUBE_API_KEY"`
108-
FfmpegPath string `env:"FFMPEG_PATH"`
109-
YtdlpPath string `env:"YTDLP_PATH"`
109+
APIKey string `env:"YOUTUBE_API_KEY"`
110+
FfmpegPath string `env:"FFMPEG_PATH"`
111+
YtdlpPath string `env:"YTDLP_PATH"`
110112
CookiesPath string `env:"COOKIES_PATH" env-default:"./cookies.txt"`
111-
Filters Filters
113+
Filters Filters
112114
}
113115

114116
type YoutubeMusic struct {
115117
FfmpegPath string `env:"FFMPEG_PATH"`
116-
YtdlpPath string `env:"YTDLP_PATH"`
117-
Filters Filters
118+
YtdlpPath string `env:"YTDLP_PATH"`
119+
Filters Filters
118120
}
119121

120122
type Slskd struct {
121-
APIKey string `env:"SLSKD_API_KEY"`
122-
URL string `env:"SLSKD_URL"`
123-
Retry int `env:"SLSKD_RETRY" env-default:"5"` // Number of times to check search status before skipping the track
124-
DownloadAttempts int `env:"SLSKD_DL_ATTEMPTS" env-default:"3"` // Max number of files to attempt downloading per track
125-
SlskdDir string `env:"SLSKD_DIR" env-default:"/slskd/"`
126-
MigrateDL bool `env:"MIGRATE_DOWNLOADS" env-default:"false"` // Move downloads from SlskdDir to DownloadDir
127-
Timeout int `env:"SLSKD_TIMEOUT" env-default:"20"`
128-
Filters Filters
129-
MonitorConfig SlskdMon
123+
APIKey string `env:"SLSKD_API_KEY"`
124+
URL string `env:"SLSKD_URL"`
125+
Retry int `env:"SLSKD_RETRY" env-default:"5"` // Number of times to check search status before skipping the track
126+
DownloadAttempts int `env:"SLSKD_DL_ATTEMPTS" env-default:"3"` // Max number of files to attempt downloading per track
127+
SlskdDir string `env:"SLSKD_DIR" env-default:"/slskd/"`
128+
MigrateDL bool `env:"MIGRATE_DOWNLOADS" env-default:"false"` // Move downloads from SlskdDir to DownloadDir
129+
Timeout int `env:"SLSKD_TIMEOUT" env-default:"20"`
130+
Filters Filters
131+
MonitorConfig SlskdMon
130132
}
131133

132134
type SlskdMon struct {
@@ -135,15 +137,14 @@ type SlskdMon struct {
135137
}
136138

137139
type DiscoveryConfig struct {
138-
Discovery string `env:"DISCOVERY_SERVICE" env-default:"listenbrainz"`
140+
Discovery string `env:"DISCOVERY_SERVICE" env-default:"listenbrainz"`
139141
Listenbrainz Listenbrainz
140142
}
141-
142143
type Listenbrainz struct {
143-
Discovery string `env:"LISTENBRAINZ_DISCOVERY" env-default:"playlist"`
144-
User string `env:"LISTENBRAINZ_USER"`
144+
Discovery string `env:"LISTENBRAINZ_DISCOVERY" env-default:"playlist"`
145+
User string `env:"LISTENBRAINZ_USER"`
145146
ImportPlaylist string
146-
SingleArtist bool `env:"SINGLE_ARTIST" env-default:"true"`
147+
SingleArtist bool `env:"SINGLE_ARTIST" env-default:"true"`
147148
}
148149

149150
func (cfg *Config) ReadEnv() {
@@ -181,7 +182,7 @@ func fixDir(dir string) string {
181182
return dir
182183
}
183184

184-
func (cfg *Config) HandleDeprecation() { //
185+
func (cfg *Config) HandleDeprecation() { //
185186
if cfg.Debug {
186187
slog.Warn("'DEBUG' variable is deprecated, please use LOG_LEVEL=DEBUG instead")
187188
cfg.LogLevel = "DEBUG"
@@ -198,7 +199,7 @@ func (cfg *Config) HandleDeprecation() { //
198199
func (cfg *Config) GetPlaylistName() { // Generate playlist name and description
199200

200201
toTitle := cases.Title(language.Und)
201-
202+
202203
playlistName := toTitle.String(cfg.Flags.Playlist)
203204
if cfg.Persist {
204205
year, week := time.Now().ISOWeek()
@@ -213,7 +214,7 @@ func (cfg *Config) GetPlaylistName() { // Generate playlist name and description
213214
cfg.ClientCfg.PlaylistName = playlistName
214215

215216
if cfg.DownloadCfg.UseSubDir {
216-
// add playlist name to downloadDir so all songs get downloaded to a single sub directory.
217+
// add playlist name to downloadDir so all songs get downloaded to a single sub directory.
217218
cfg.DownloadCfg.DownloadDir = fmt.Sprintf("%s%s/", cfg.DownloadCfg.DownloadDir, playlistName)
218219
}
219220
}

0 commit comments

Comments
 (0)