From c4e55c5553ffd1af283aa2d7ad812416636f5aba Mon Sep 17 00:00:00 2001 From: Mihai Parparita Date: Tue, 5 Aug 2014 22:06:05 -0700 Subject: [PATCH] Unify Account initialization code paths. We were not initializing the timezone when loading all accounts, which was making the cron job fail. --- app/account.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/account.go b/app/account.go index 85d872c..ae62658 100644 --- a/app/account.go +++ b/app/account.go @@ -29,21 +29,27 @@ func getAccount(c appengine.Context, gitHubUserId int) (*Account, error) { return nil, err } - r := bytes.NewBuffer(account.OAuthTokenSerialized) - err = gob.NewDecoder(r).Decode(&account.OAuthToken) + err = initAccount(account) if err != nil { return nil, err } + return account, nil +} +func initAccount(account *Account) error { + r := bytes.NewBuffer(account.OAuthTokenSerialized) + err := gob.NewDecoder(r).Decode(&account.OAuthToken) + if err != nil { + return err + } if len(account.TimezoneName) == 0 { account.TimezoneName = "America/Los_Angeles" } account.TimezoneLocation, err = time.LoadLocation(account.TimezoneName) if err != nil { - return nil, err + return err } - - return account, nil + return nil } func getAllAccounts(c appengine.Context, accounts *[]Account) error { @@ -53,8 +59,7 @@ func getAllAccounts(c appengine.Context, accounts *[]Account) error { return err } for i, _ := range *accounts { - r := bytes.NewBuffer((*accounts)[i].OAuthTokenSerialized) - err = gob.NewDecoder(r).Decode(&(*accounts)[i].OAuthToken) + err = initAccount(&(*accounts)[i]) if err != nil { return err }