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: { |   localPkgs = readTree: { | ||||||
|     blog = readTree ./blog; |     blog = readTree ./blog; | ||||||
|     lisp = readTree ./lisp; |     lisp = readTree ./lisp; | ||||||
|  |     gopkgs = readTree ./gopkgs; | ||||||
|  |     monzo_ynab = readTree ./monzo_ynab; | ||||||
|     third_party = readTree ./third_party; |     third_party = readTree ./third_party; | ||||||
|   }; |   }; | ||||||
| in fix(self: { | 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 { | 	if err != nil { | ||||||
| 		log.Fatal(err) | 		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 | // 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 | // quickly. For now, this function just returns the body of the response back as | ||||||
| // a string. | // 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{} | 	client := &http.Client{} | ||||||
| 	req, err := http.NewRequest("GET", url, nil) | 	req, err := http.NewRequest("GET", url, nil) | ||||||
| 	if err != 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" | 	"bytes" | ||||||
| 	"encoding/json" | 	"encoding/json" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io/ioutil" |  | ||||||
| 	"log" | 	"log" | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"net/http/httputil" | 	"net/http/httputil" | ||||||
|  | @ -21,6 +20,7 @@ import ( | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"os" | 	"os" | ||||||
| 	"os/exec" | 	"os/exec" | ||||||
|  | 	"utils" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| //////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||||||
|  | @ -78,9 +78,7 @@ func getTokens(code string) *Tokens { | ||||||
| 		"redirect_uri":  {redirectURI}, | 		"redirect_uri":  {redirectURI}, | ||||||
| 		"code":          {code}, | 		"code":          {code}, | ||||||
| 	}) | 	}) | ||||||
| 	if err != nil { | 	utils.FailOn(err) | ||||||
| 		log.Fatal(err) |  | ||||||
| 	} |  | ||||||
| 	defer res.Body.Close() | 	defer res.Body.Close() | ||||||
| 	payload := &accessTokenResponse{} | 	payload := &accessTokenResponse{} | ||||||
| 	json.NewDecoder(res.Body).Decode(payload) | 	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, _ := http.NewRequest("POST", "http://localhost:4242/set-tokens", bytes.NewBuffer(payload)) | ||||||
| 	req.Header.Set("Content-Type", "application/json") | 	req.Header.Set("Content-Type", "application/json") | ||||||
| 	_, err := client.Do(req) | 	_, err := client.Do(req) | ||||||
| 	if err != nil { | 	utils.FailOn(err) | ||||||
| 		log.Fatal(err) |  | ||||||
| 	} |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Retrieves the access token from the tokens server. | // Retrieves the access token from the tokens server. | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue