Svilen Markov 7 months ago
parent
commit
02cbb5f812

+ 0 - 1
internal/glance/config-fields.go

@@ -99,7 +99,6 @@ func (d *durationField) UnmarshalYAML(node *yaml.Node) error {
 	}
 
 	duration, err := strconv.Atoi(matches[1])
-
 	if err != nil {
 		return err
 	}

+ 0 - 3
internal/glance/glance.go

@@ -147,7 +147,6 @@ func (a *application) handlePageRequest(w http.ResponseWriter, r *http.Request)
 
 	var responseBytes bytes.Buffer
 	err := pageTemplate.Execute(&responseBytes, pageData)
-
 	if err != nil {
 		w.WriteHeader(http.StatusInternalServerError)
 		w.Write([]byte(err.Error()))
@@ -173,7 +172,6 @@ func (a *application) handlePageContentRequest(w http.ResponseWriter, r *http.Re
 
 	var responseBytes bytes.Buffer
 	err := pageContentTemplate.Execute(&responseBytes, pageData)
-
 	if err != nil {
 		w.WriteHeader(http.StatusInternalServerError)
 		w.Write([]byte(err.Error()))
@@ -193,7 +191,6 @@ func (a *application) handleWidgetRequest(w http.ResponseWriter, r *http.Request
 	widgetValue := r.PathValue("widget")
 
 	widgetID, err := strconv.ParseUint(widgetValue, 10, 64)
-
 	if err != nil {
 		a.handleNotFound(w, r)
 		return

+ 0 - 1
internal/glance/main.go

@@ -12,7 +12,6 @@ var buildVersion = "dev"
 
 func Main() int {
 	options, err := parseCliOptions()
-
 	if err != nil {
 		fmt.Println(err)
 		return 1

+ 0 - 1
internal/glance/utils.go

@@ -25,7 +25,6 @@ func extractDomainFromUrl(u string) string {
 	}
 
 	parsed, err := url.Parse(u)
-
 	if err != nil {
 		return ""
 	}

+ 0 - 2
internal/glance/widget-changedetection.go

@@ -103,7 +103,6 @@ func fetchWatchUUIDsFromChangeDetection(instanceURL string, token string) ([]str
 	}
 
 	uuidsMap, err := decodeJsonFromRequest[map[string]struct{}](defaultClient, request)
-
 	if err != nil {
 		return nil, fmt.Errorf("could not fetch list of watch UUIDs: %v", err)
 	}
@@ -139,7 +138,6 @@ func fetchWatchesFromChangeDetection(instanceURL string, requestedWatchIDs []str
 	task := decodeJsonFromRequestTask[changeDetectionResponseJson](defaultClient)
 	job := newJob(task, requests).withWorkers(15)
 	responses, errs, err := workerPoolDo(job)
-
 	if err != nil {
 		return nil, err
 	}

+ 1 - 3
internal/glance/widget-clock.go

@@ -33,9 +33,7 @@ func (widget *clockWidget) initialize() error {
 			return errors.New("missing timezone value")
 		}
 
-		_, err := time.LoadLocation(widget.Timezones[t].Timezone)
-
-		if err != nil {
+		if _, err := time.LoadLocation(widget.Timezones[t].Timezone); err != nil {
 			return fmt.Errorf("invalid timezone '%s': %v", widget.Timezones[t].Timezone, err)
 		}
 	}

+ 0 - 1
internal/glance/widget-custom-api.go

@@ -39,7 +39,6 @@ func (widget *customAPIWidget) initialize() error {
 	}
 
 	compiledTemplate, err := template.New("").Funcs(customAPITemplateFuncs).Parse(widget.Template)
-
 	if err != nil {
 		return fmt.Errorf("parsing template: %w", err)
 	}

+ 0 - 5
internal/glance/widget-dns-stats.go

@@ -114,7 +114,6 @@ func fetchAdguardStats(instanceURL, username, password string) (*dnsStats, error
 	requestURL := strings.TrimRight(instanceURL, "/") + "/control/stats"
 
 	request, err := http.NewRequest("GET", requestURL, nil)
-
 	if err != nil {
 		return nil, err
 	}
@@ -122,7 +121,6 @@ func fetchAdguardStats(instanceURL, username, password string) (*dnsStats, error
 	request.SetBasicAuth(username, password)
 
 	responseJson, err := decodeJsonFromRequest[adguardStatsResponse](defaultClient, request)
-
 	if err != nil {
 		return nil, err
 	}
@@ -235,7 +233,6 @@ func (p *piholeTopBlockedDomains) UnmarshalJSON(data []byte) error {
 	temp := make(map[string]int)
 
 	err := json.Unmarshal(data, &temp)
-
 	if err != nil {
 		*p = make(piholeTopBlockedDomains)
 	} else {
@@ -254,13 +251,11 @@ func fetchPiholeStats(instanceURL, token string) (*dnsStats, error) {
 		"/admin/api.php?summaryRaw&topItems&overTimeData10mins&auth=" + token
 
 	request, err := http.NewRequest("GET", requestURL, nil)
-
 	if err != nil {
 		return nil, err
 	}
 
 	responseJson, err := decodeJsonFromRequest[piholeStatsResponse](defaultClient, request)
-
 	if err != nil {
 		return nil, err
 	}

+ 2 - 6
internal/glance/widget-extension.go

@@ -32,10 +32,8 @@ func (widget *extensionWidget) initialize() error {
 		return errors.New("URL is required")
 	}
 
-	_, err := url.Parse(widget.URL)
-
-	if err != nil {
-		return err
+	if _, err := url.Parse(widget.URL); err != nil {
+		return fmt.Errorf("parsing URL: %v", err)
 	}
 
 	return nil
@@ -117,7 +115,6 @@ func fetchExtension(options extensionRequestOptions) (extension, error) {
 	request.URL.RawQuery = query.Encode()
 
 	response, err := http.DefaultClient.Do(request)
-
 	if err != nil {
 		slog.Error("Failed fetching extension", "url", options.URL, "error", err)
 		return extension{}, fmt.Errorf("%w: request failed: %w", errNoContent, err)
@@ -126,7 +123,6 @@ func fetchExtension(options extensionRequestOptions) (extension, error) {
 	defer response.Body.Close()
 
 	body, err := io.ReadAll(response.Body)
-
 	if err != nil {
 		slog.Error("Failed reading response body of extension", "url", options.URL, "error", err)
 		return extension{}, fmt.Errorf("%w: could not read body: %w", errNoContent, err)

+ 0 - 3
internal/glance/widget-hacker-news.go

@@ -78,7 +78,6 @@ type hackerNewsPostResponseJson struct {
 func fetchHackerNewsPostIds(sort string) ([]int, error) {
 	request, _ := http.NewRequest("GET", fmt.Sprintf("https://hacker-news.firebaseio.com/v0/%sstories.json", sort), nil)
 	response, err := decodeJsonFromRequest[[]int](defaultClient, request)
-
 	if err != nil {
 		return nil, fmt.Errorf("%w: could not fetch list of post IDs", errNoContent)
 	}
@@ -97,7 +96,6 @@ func fetchHackerNewsPostsFromIds(postIds []int, commentsUrlTemplate string) (for
 	task := decodeJsonFromRequestTask[hackerNewsPostResponseJson](defaultClient)
 	job := newJob(task, requests).withWorkers(30)
 	results, errs, err := workerPoolDo(job)
-
 	if err != nil {
 		return nil, err
 	}
@@ -142,7 +140,6 @@ func fetchHackerNewsPostsFromIds(postIds []int, commentsUrlTemplate string) (for
 
 func fetchHackerNewsPosts(sort string, limit int, commentsUrlTemplate string) (forumPostList, error) {
 	postIds, err := fetchHackerNewsPostIds(sort)
-
 	if err != nil {
 		return nil, err
 	}

+ 1 - 3
internal/glance/widget-iframe.go

@@ -23,9 +23,7 @@ func (widget *iframeWidget) initialize() error {
 		return errors.New("source is required")
 	}
 
-	_, err := url.Parse(widget.Source)
-
-	if err != nil {
+	if _, err := url.Parse(widget.Source); err != nil {
 		return fmt.Errorf("parsing URL: %v", err)
 	}
 

+ 0 - 3
internal/glance/widget-lobsters.go

@@ -76,13 +76,11 @@ type lobstersFeedResponseJson []lobstersPostResponseJson
 
 func fetchLobstersPostsFromFeed(feedUrl string) (forumPostList, error) {
 	request, err := http.NewRequest("GET", feedUrl, nil)
-
 	if err != nil {
 		return nil, err
 	}
 
 	feed, err := decodeJsonFromRequest[lobstersFeedResponseJson](defaultClient, request)
-
 	if err != nil {
 		return nil, err
 	}
@@ -138,7 +136,6 @@ func fetchLobstersPosts(customURL string, instanceURL string, sortBy string, tag
 	}
 
 	posts, err := fetchLobstersPostsFromFeed(feedUrl)
-
 	if err != nil {
 		return nil, err
 	}

+ 0 - 1
internal/glance/widget-markets.go

@@ -114,7 +114,6 @@ func fetchMarketsDataFromYahoo(marketRequests []marketRequest) (marketList, erro
 
 	job := newJob(decodeJsonFromRequestTask[marketResponseJson](defaultClient), requests)
 	responses, errs, err := workerPoolDo(job)
-
 	if err != nil {
 		return nil, fmt.Errorf("%w: %v", errNoContent, err)
 	}

+ 0 - 2
internal/glance/widget-monitor.go

@@ -129,7 +129,6 @@ func fetchSiteStatusTask(statusRequest *SiteStatusRequest) (SiteStatus, error) {
 		url = statusRequest.URL
 	}
 	request, err := http.NewRequest(http.MethodGet, url, nil)
-
 	if err != nil {
 		return SiteStatus{
 			Error: err,
@@ -169,7 +168,6 @@ func fetchSiteStatusTask(statusRequest *SiteStatusRequest) (SiteStatus, error) {
 func fetchStatusForSites(requests []*SiteStatusRequest) ([]SiteStatus, error) {
 	job := newJob(fetchSiteStatusTask, requests).withWorkers(20)
 	results, _, err := workerPoolDo(job)
-
 	if err != nil {
 		return nil, err
 	}

+ 0 - 2
internal/glance/widget-reddit.go

@@ -185,7 +185,6 @@ func fetchSubredditPosts(subreddit, sort, topPeriod, search, commentsUrlTemplate
 	}
 
 	request, err := http.NewRequest("GET", requestUrl, nil)
-
 	if err != nil {
 		return nil, err
 	}
@@ -193,7 +192,6 @@ func fetchSubredditPosts(subreddit, sort, topPeriod, search, commentsUrlTemplate
 	// Required to increase rate limit, otherwise Reddit randomly returns 429 even after just 2 requests
 	setBrowserUserAgentHeader(request)
 	responseJson, err := decodeJsonFromRequest[subredditResponseJson](defaultClient, request)
-
 	if err != nil {
 		return nil, err
 	}

+ 1 - 8
internal/glance/widget-releases.go

@@ -144,7 +144,6 @@ type releaseRequest struct {
 func fetchLatestReleases(requests []*releaseRequest) (appReleaseList, error) {
 	job := newJob(fetchLatestReleaseTask, requests).withWorkers(20)
 	results, errs, err := workerPoolDo(job)
-
 	if err != nil {
 		return nil, err
 	}
@@ -216,7 +215,6 @@ func fetchLatestGithubRelease(request *releaseRequest) (*appRelease, error) {
 	}
 
 	response, err := decodeJsonFromRequest[githubReleaseLatestResponseJson](defaultClient, httpRequest)
-
 	if err != nil {
 		return nil, err
 	}
@@ -266,7 +264,6 @@ func fetchLatestDockerHubRelease(request *releaseRequest) (*appRelease, error) {
 	}
 
 	httpRequest, err := http.NewRequest("GET", requestURL, nil)
-
 	if err != nil {
 		return nil, err
 	}
@@ -279,7 +276,6 @@ func fetchLatestDockerHubRelease(request *releaseRequest) (*appRelease, error) {
 
 	if len(tagParts) == 1 {
 		response, err := decodeJsonFromRequest[dockerHubRepositoryTagsResponse](defaultClient, httpRequest)
-
 		if err != nil {
 			return nil, err
 		}
@@ -291,7 +287,6 @@ func fetchLatestDockerHubRelease(request *releaseRequest) (*appRelease, error) {
 		tag = &response.Results[0]
 	} else {
 		response, err := decodeJsonFromRequest[dockerHubRepositoryTagResponse](defaultClient, httpRequest)
-
 		if err != nil {
 			return nil, err
 		}
@@ -343,7 +338,6 @@ func fetchLatestGitLabRelease(request *releaseRequest) (*appRelease, error) {
 		),
 		nil,
 	)
-
 	if err != nil {
 		return nil, err
 	}
@@ -353,7 +347,6 @@ func fetchLatestGitLabRelease(request *releaseRequest) (*appRelease, error) {
 	}
 
 	response, err := decodeJsonFromRequest[gitlabReleaseResponseJson](defaultClient, httpRequest)
-
 	if err != nil {
 		return nil, err
 	}
@@ -387,10 +380,10 @@ func fetchLatestCodebergRelease(request *releaseRequest) (*appRelease, error) {
 	}
 
 	response, err := decodeJsonFromRequest[codebergReleaseResponseJson](defaultClient, httpRequest)
-
 	if err != nil {
 		return nil, err
 	}
+
 	return &appRelease{
 		Source:       releaseSourceCodeberg,
 		Name:         request.repository,

+ 0 - 3
internal/glance/widget-rss.go

@@ -186,7 +186,6 @@ func fetchItemsFromRSSFeedTask(request RSSFeedRequest) ([]rssFeedItem, error) {
 	}
 
 	feed, err := feedParser.ParseString(string(body))
-
 	if err != nil {
 		return nil, err
 	}
@@ -206,7 +205,6 @@ func fetchItemsFromRSSFeedTask(request RSSFeedRequest) ([]rssFeedItem, error) {
 			rssItem.Link = item.Link
 		} else {
 			parsedUrl, err := url.Parse(feed.Link)
-
 			if err != nil {
 				parsedUrl, err = url.Parse(request.Url)
 			}
@@ -317,7 +315,6 @@ func findThumbnailInItemExtensions(item *gofeed.Item) string {
 func fetchItemsFromRSSFeeds(requests []RSSFeedRequest) (rssFeedItemList, error) {
 	job := newJob(fetchItemsFromRSSFeedTask, requests).withWorkers(10)
 	feeds, errs, err := workerPoolDo(job)
-
 	if err != nil {
 		return nil, fmt.Errorf("%w: %v", errNoContent, err)
 	}

+ 4 - 10
internal/glance/widget-twitch-channels.go

@@ -140,7 +140,6 @@ func fetchChannelFromTwitchTask(channel string) (twitchChannel, error) {
 	request.Header.Add("Client-ID", twitchGqlClientId)
 
 	response, err := decodeJsonFromRequest[[]twitchOperationResponse](defaultClient, request)
-
 	if err != nil {
 		return result, err
 	}
@@ -155,16 +154,12 @@ func fetchChannelFromTwitchTask(channel string) (twitchChannel, error) {
 	for i := range response {
 		switch response[i].Extensions.OperationName {
 		case "ChannelShell":
-			err = json.Unmarshal(response[i].Data, &channelShell)
-
-			if err != nil {
-				return result, fmt.Errorf("failed to unmarshal channel shell: %w", err)
+			if err = json.Unmarshal(response[i].Data, &channelShell); err != nil {
+				return result, fmt.Errorf("unmarshalling channel shell: %w", err)
 			}
 		case "StreamMetadata":
-			err = json.Unmarshal(response[i].Data, &streamMetadata)
-
-			if err != nil {
-				return result, fmt.Errorf("failed to unmarshal stream metadata: %w", err)
+			if err = json.Unmarshal(response[i].Data, &streamMetadata); err != nil {
+				return result, fmt.Errorf("unmarshalling stream metadata: %w", err)
 			}
 		default:
 			return result, fmt.Errorf("unknown operation name: %s", response[i].Extensions.OperationName)
@@ -211,7 +206,6 @@ func fetchChannelsFromTwitch(channelLogins []string) (twitchChannelList, error)
 
 	job := newJob(fetchChannelFromTwitchTask, channelLogins).withWorkers(10)
 	channels, errs, err := workerPoolDo(job)
-
 	if err != nil {
 		return result, err
 	}

+ 0 - 1
internal/glance/widget-twitch-top-games.go

@@ -83,7 +83,6 @@ func fetchTopGamesFromTwitch(exclude []string, limit int) ([]twitchCategory, err
 	request, _ := http.NewRequest("POST", twitchGqlEndpoint, reader)
 	request.Header.Add("Client-ID", twitchGqlClientId)
 	response, err := decodeJsonFromRequest[[]twitchDirectoriesOperationResponse](defaultClient, request)
-
 	if err != nil {
 		return nil, err
 	}

+ 2 - 8
internal/glance/widget-utils.go

@@ -40,17 +40,15 @@ func setBrowserUserAgentHeader(request *http.Request) {
 }
 
 func decodeJsonFromRequest[T any](client RequestDoer, request *http.Request) (T, error) {
-	response, err := client.Do(request)
 	var result T
 
+	response, err := client.Do(request)
 	if err != nil {
 		return result, err
 	}
-
 	defer response.Body.Close()
 
 	body, err := io.ReadAll(response.Body)
-
 	if err != nil {
 		return result, err
 	}
@@ -67,7 +65,6 @@ func decodeJsonFromRequest[T any](client RequestDoer, request *http.Request) (T,
 	}
 
 	err = json.Unmarshal(body, &result)
-
 	if err != nil {
 		return result, err
 	}
@@ -83,17 +80,15 @@ func decodeJsonFromRequestTask[T any](client RequestDoer) func(*http.Request) (T
 
 // TODO: tidy up, these are a copy of the above but with a line changed
 func decodeXmlFromRequest[T any](client RequestDoer, request *http.Request) (T, error) {
-	response, err := client.Do(request)
 	var result T
 
+	response, err := client.Do(request)
 	if err != nil {
 		return result, err
 	}
-
 	defer response.Body.Close()
 
 	body, err := io.ReadAll(response.Body)
-
 	if err != nil {
 		return result, err
 	}
@@ -110,7 +105,6 @@ func decodeXmlFromRequest[T any](client RequestDoer, request *http.Request) (T,
 	}
 
 	err = xml.Unmarshal(body, &result)
-
 	if err != nil {
 		return result, err
 	}

+ 0 - 2
internal/glance/widget-videos.go

@@ -84,7 +84,6 @@ type youtubeFeedResponseXml struct {
 
 func parseYoutubeFeedTime(t string) time.Time {
 	parsedTime, err := time.Parse("2006-01-02T15:04:05-07:00", t)
-
 	if err != nil {
 		return time.Now()
 	}
@@ -130,7 +129,6 @@ func FetchYoutubeChannelUploads(channelIds []string, videoUrlTemplate string, in
 	job := newJob(decodeXmlFromRequestTask[youtubeFeedResponseXml](defaultClient), requests).withWorkers(30)
 
 	responses, errs, err := workerPoolDo(job)
-
 	if err != nil {
 		return nil, fmt.Errorf("%w: %v", errNoContent, err)
 	}

+ 0 - 4
internal/glance/widget-weather.go

@@ -59,7 +59,6 @@ func (widget *weatherWidget) initialize() error {
 func (widget *weatherWidget) update(ctx context.Context) {
 	if widget.Place == nil {
 		place, err := fetchOpenMeteoPlaceFromName(widget.Location)
-
 		if err != nil {
 			widget.withError(err).scheduleEarlyUpdate()
 			return
@@ -174,7 +173,6 @@ func fetchOpenMeteoPlaceFromName(location string) (*openMeteoPlaceResponseJson,
 	requestUrl := fmt.Sprintf("https://geocoding-api.open-meteo.com/v1/search?name=%s&count=10&language=en&format=json", url.QueryEscape(location))
 	request, _ := http.NewRequest("GET", requestUrl, nil)
 	responseJson, err := decodeJsonFromRequest[openMeteoPlacesResponseJson](defaultClient, request)
-
 	if err != nil {
 		return nil, fmt.Errorf("fetching places data: %v", err)
 	}
@@ -203,7 +201,6 @@ func fetchOpenMeteoPlaceFromName(location string) (*openMeteoPlaceResponseJson,
 	}
 
 	loc, err := time.LoadLocation(place.Timezone)
-
 	if err != nil {
 		return nil, fmt.Errorf("loading location: %v", err)
 	}
@@ -236,7 +233,6 @@ func fetchWeatherForOpenMeteoPlace(place *openMeteoPlaceResponseJson, units stri
 	requestUrl := "https://api.open-meteo.com/v1/forecast?" + query.Encode()
 	request, _ := http.NewRequest("GET", requestUrl, nil)
 	responseJson, err := decodeJsonFromRequest[openMeteoWeatherResponseJson](defaultClient, request)
-
 	if err != nil {
 		return nil, fmt.Errorf("%w: %v", errNoContent, err)
 	}

+ 0 - 2
internal/glance/widget.go

@@ -97,7 +97,6 @@ func (w *widgets) UnmarshalYAML(node *yaml.Node) error {
 		}
 
 		widget, err := newWidget(meta.Type)
-
 		if err != nil {
 			return err
 		}
@@ -201,7 +200,6 @@ func (w *widgetBase) setProviders(providers *widgetProviders) {
 func (w *widgetBase) renderTemplate(data any, t *template.Template) template.HTML {
 	w.templateBuffer.Reset()
 	err := t.Execute(&w.templateBuffer, data)
-
 	if err != nil {
 		w.ContentAvailable = false
 		w.Error = err