Merge pull request #152 from Galorhallen/master

Minor chores and add pre-commit hooks
This commit is contained in:
Vincent Composieux 2022-11-20 10:19:49 +01:00 committed by GitHub
commit 84463e2815
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 3 deletions

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
vendor vendor
bin bin
tmp tmp
.vscode .vscode
report.xml report.xml
debug debug

18
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,18 @@
repos:
- repo: https://github.com/dnephin/pre-commit-golang
rev: v0.5.1
hooks:
- id: go-fmt
- id: go-vet
- id: validate-toml
- id: no-go-testing
- id: go-unit-tests
- id: go-build
- id: go-mod-tidy
- repo: https://github.com/pre-commit/pre-commit-hooks.git
rev: v4.3.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- id: mixed-line-ending
- id: check-merge-conflict

View File

@ -5,6 +5,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"reflect" "reflect"
"runtime"
"strings" "strings"
"time" "time"
@ -90,7 +91,7 @@ func (c *Config) String() string {
return fmt.Sprintf("<Config@%X %s>", &c, strings.Join(buffer, ", ")) return fmt.Sprintf("<Config@%X %s>", &c, strings.Join(buffer, ", "))
} }
//Validate check if the config is valid // Validate check if the config is valid
func (c Config) Validate() error { func (c Config) Validate() error {
if c.PIHoleProtocol != "http" && c.PIHoleProtocol != "https" { if c.PIHoleProtocol != "http" && c.PIHoleProtocol != "https" {
return fmt.Errorf("protocol %s is invalid. Must be http or https", c.PIHoleProtocol) return fmt.Errorf("protocol %s is invalid. Must be http or https", c.PIHoleProtocol)
@ -176,12 +177,12 @@ func (c Config) hostnameURL() string {
return s return s
} }
//PIHoleStatsURL returns the stats url // PIHoleStatsURL returns the stats url
func (c Config) PIHoleStatsURL() string { func (c Config) PIHoleStatsURL() string {
return c.hostnameURL() + "/admin/api.php?summaryRaw&overTimeData&topItems&recentItems&getQueryTypes&getForwardDestinations&getQuerySources&jsonForceObject" return c.hostnameURL() + "/admin/api.php?summaryRaw&overTimeData&topItems&recentItems&getQueryTypes&getForwardDestinations&getQuerySources&jsonForceObject"
} }
//PIHoleLoginURL returns the login url // PIHoleLoginURL returns the login url
func (c Config) PIHoleLoginURL() string { func (c Config) PIHoleLoginURL() string {
return c.hostnameURL() + "/admin/index.php?login" return c.hostnameURL() + "/admin/index.php?login"
} }
@ -191,6 +192,7 @@ func (c EnvConfig) show() {
log.Info("------------------------------------") log.Info("------------------------------------")
log.Info("- PI-Hole exporter configuration -") log.Info("- PI-Hole exporter configuration -")
log.Info("------------------------------------") log.Info("------------------------------------")
log.Info("Go version: ", runtime.Version())
for i := 0; i < val.NumField(); i++ { for i := 0; i < val.NumField(); i++ {
valueField := val.Field(i) valueField := val.Field(i)
typeField := val.Type().Field(i) typeField := val.Type().Field(i)