Create gopkgs directory for golang libs
- Created a gopkgs directory and registered it with default.nix's readTree - Moved monzo_ynab/utils -> gopkgs - Consumed utils.go in main.go - Renamed monzo_ynab -> job
This commit is contained in:
		
							parent
							
								
									ec4c8472ca
								
							
						
					
					
						commit
						64654d1d6d
					
				
					 6 changed files with 43 additions and 21 deletions
				
			
		|  | @ -20,6 +20,8 @@ let | |||
|   localPkgs = readTree: { | ||||
|     blog = readTree ./blog; | ||||
|     lisp = readTree ./lisp; | ||||
|     gopkgs = readTree ./gopkgs; | ||||
|     monzo_ynab = readTree ./monzo_ynab; | ||||
|     third_party = readTree ./third_party; | ||||
|   }; | ||||
| in fix(self: { | ||||
|  |  | |||
							
								
								
									
										11
									
								
								gopkgs/utils/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								gopkgs/utils/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| { | ||||
|   depot ? import <depot> {}, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| depot.buildGo.package { | ||||
|   name = "utils"; | ||||
|   srcs = [ | ||||
|     ./utils.go | ||||
|   ]; | ||||
| } | ||||
|  | @ -1,8 +1,15 @@ | |||
| package main | ||||
| // Some utility functions to tidy up my Golang. | ||||
| package utils | ||||
| 
 | ||||
| import "log" | ||||
| import ( | ||||
| 	"log" | ||||
| 	"io/ioutil" | ||||
| 	"net/http" | ||||
| 	"net/http/httputil" | ||||
| ) | ||||
| 
 | ||||
| func failOn(err error) { | ||||
| // Call log.Fatal with `err` when it's not nil. | ||||
| func FailOn(err error) { | ||||
| 	if err != nil { | ||||
| 		log.Fatal(err) | ||||
| 	} | ||||
|  | @ -12,7 +19,7 @@ func failOn(err error) { | |||
| // like to accumulate a library of these, so that I can write scrappy Go | ||||
| // quickly. For now, this function just returns the body of the response back as | ||||
| // a string. | ||||
| func simpleGet(url string, headers map[string]string, debug bool) string { | ||||
| func SimpleGet(url string, headers map[string]string, debug bool) string { | ||||
| 	client := &http.Client{} | ||||
| 	req, err := http.NewRequest("GET", url, nil) | ||||
| 	if err != nil { | ||||
|  | @ -1,10 +0,0 @@ | |||
| { depot ? import <depot> {}, ... }: | ||||
| 
 | ||||
| depot.buildGo.program { | ||||
|   name = "monzo_ynab"; | ||||
|   srcs = [ | ||||
|     ./utils.go | ||||
|     ./main.go | ||||
|     ./monzo.go | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										16
									
								
								monzo_ynab/job.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								monzo_ynab/job.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| { | ||||
|   depot ? import <depot> {}, | ||||
|   briefcase ? import <briefcase> {}, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| depot.buildGo.program { | ||||
|   name = "job"; | ||||
|   srcs = [ | ||||
|     ./main.go | ||||
|   ]; | ||||
|   deps = with briefcase.gopkgs; [ | ||||
|     kv | ||||
|     utils | ||||
|   ]; | ||||
| } | ||||
|  | @ -13,7 +13,6 @@ import ( | |||
| 	"bytes" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"log" | ||||
| 	"net/http" | ||||
| 	"net/http/httputil" | ||||
|  | @ -21,6 +20,7 @@ import ( | |||
| 	"strings" | ||||
| 	"os" | ||||
| 	"os/exec" | ||||
| 	"utils" | ||||
| ) | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////////////// | ||||
|  | @ -78,9 +78,7 @@ func getTokens(code string) *Tokens { | |||
| 		"redirect_uri":  {redirectURI}, | ||||
| 		"code":          {code}, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		log.Fatal(err) | ||||
| 	} | ||||
| 	utils.FailOn(err) | ||||
| 	defer res.Body.Close() | ||||
| 	payload := &accessTokenResponse{} | ||||
| 	json.NewDecoder(res.Body).Decode(payload) | ||||
|  | @ -136,9 +134,7 @@ func authorize() { | |||
| 	req, _ := http.NewRequest("POST", "http://localhost:4242/set-tokens", bytes.NewBuffer(payload)) | ||||
| 	req.Header.Set("Content-Type", "application/json") | ||||
| 	_, err := client.Do(req) | ||||
| 	if err != nil { | ||||
| 		log.Fatal(err) | ||||
| 	} | ||||
| 	utils.FailOn(err) | ||||
| } | ||||
| 
 | ||||
| // Retrieves the access token from the tokens server. | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue