Skip to content
This repository was archived by the owner on Mar 16, 2020. It is now read-only.

Commit 2bab5c6

Browse files
author
Harish JP
committed
* Migrate to go116
* Remove use of log.
1 parent 20a0706 commit 2bab5c6

File tree

20 files changed

+90
-173
lines changed

20 files changed

+90
-173
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
a google reader clone built with go on app engine and angularjs
44

5+
# Current build instructions:
6+
* Use this:
7+
Building: `GOPATH=$(GOPATH) GO111MODULE=auto go build app.go`
8+
Deploy: `GOPATH=$(GOPATH) gcloud beta app deploy`
9+
510
## setting up a local dev environment
611

712
1. Install [Python 2.7](http://www.python.org/download/releases/2.7.5/) and make sure it is in your `PATH`. (Google App Engine doesn't yet work with Python 3.)

_third_party/github.com/MiniProfiler/go/miniprofiler_gae/miniprofiler_gae.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import (
2121
"net/http"
2222

2323
"golang.org/x/net/context"
24-
"google.golang.org/appengine"
25-
"google.golang.org/appengine/memcache"
26-
"google.golang.org/appengine/user"
24+
"google.golang.org/appengine/v2"
25+
"google.golang.org/appengine/v2/memcache"
26+
"google.golang.org/appengine/v2/user"
2727
"github.com/mjibson/goread/_third_party/github.com/MiniProfiler/go/miniprofiler"
2828
"github.com/mjibson/goread/_third_party/github.com/mjibson/appstats"
2929
)

_third_party/github.com/mjibson/appstats/appstats.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ import (
2626
"time"
2727

2828
"golang.org/x/net/context"
29-
"google.golang.org/appengine"
30-
"google.golang.org/appengine/log"
31-
"google.golang.org/appengine/memcache"
32-
"google.golang.org/appengine/user"
29+
"google.golang.org/appengine/v2"
30+
"google.golang.org/appengine/v2/log"
31+
"google.golang.org/appengine/v2/memcache"
32+
"google.golang.org/appengine/v2/user"
3333
)
3434

3535
var (

_third_party/github.com/mjibson/appstats/handler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ import (
2828
"strings"
2929
"time"
3030

31-
"google.golang.org/appengine"
32-
"google.golang.org/appengine/memcache"
33-
"google.golang.org/appengine/user"
31+
"google.golang.org/appengine/v2"
32+
"google.golang.org/appengine/v2/memcache"
33+
"google.golang.org/appengine/v2/user"
3434
)
3535

3636
var templates *template.Template

_third_party/github.com/mjibson/goon/entity.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import (
2626
"sync"
2727
"time"
2828

29-
"google.golang.org/appengine"
30-
"google.golang.org/appengine/datastore"
29+
"google.golang.org/appengine/v2"
30+
"google.golang.org/appengine/v2/datastore"
3131
)
3232

3333
type fieldInfo struct {

_third_party/github.com/mjibson/goon/goon.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ import (
2828

2929
"golang.org/x/net/context"
3030

31-
"google.golang.org/appengine"
32-
"google.golang.org/appengine/log"
33-
"google.golang.org/appengine/datastore"
34-
"google.golang.org/appengine/memcache"
31+
"google.golang.org/appengine/v2"
32+
"google.golang.org/appengine/v2/log"
33+
"google.golang.org/appengine/v2/datastore"
34+
"google.golang.org/appengine/v2/memcache"
3535
)
3636

3737
var (

_third_party/github.com/mjibson/goon/goon_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ import (
2222
"testing"
2323
"time"
2424

25-
"google.golang.org/appengine"
26-
"google.golang.org/appengine/aetest"
27-
"google.golang.org/appengine/datastore"
28-
"google.golang.org/appengine/memcache"
25+
"google.golang.org/appengine/v2"
26+
"google.golang.org/appengine/v2/aetest"
27+
"google.golang.org/appengine/v2/datastore"
28+
"google.golang.org/appengine/v2/memcache"
2929
)
3030

3131
// *[]S, *[]*S, *[]I, []S, []*S, []I

_third_party/github.com/mjibson/goon/query.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"fmt"
2121
"reflect"
2222

23-
"google.golang.org/appengine/datastore"
23+
"google.golang.org/appengine/v2/datastore"
2424
)
2525

2626
// Count returns the number of results for the query.

admin.go

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ import (
2424
"strings"
2525
"time"
2626

27-
"google.golang.org/appengine/log"
28-
"google.golang.org/appengine/datastore"
29-
"google.golang.org/appengine/memcache"
27+
"google.golang.org/appengine/v2/datastore"
28+
"google.golang.org/appengine/v2/log"
29+
"google.golang.org/appengine/v2/memcache"
3030

3131
mpg "github.com/mjibson/goread/_third_party/github.com/MiniProfiler/go/miniprofiler_gae"
3232
"github.com/mjibson/goread/_third_party/github.com/mjibson/goon"
@@ -91,28 +91,13 @@ func AdminFeed(c mpg.Context, w http.ResponseWriter, r *http.Request) {
9191
}
9292
}
9393
gn.GetMulti(stories)
94-
lk := gn.Key(&Log{Parent: fk, Id: time.Now().Add(-time.Hour * 6).UnixNano()})
95-
q = datastore.NewQuery(lk.Kind()).KeysOnly()
96-
q = q.Ancestor(fk)
97-
q = q.Filter("__key__ >", lk)
98-
keys, _ = gn.GetAll(q, nil)
99-
logs := make([]*Log, len(keys))
100-
for j, key := range keys {
101-
logs[j] = &Log{
102-
Id: key.IntID(),
103-
Parent: fk,
104-
}
105-
}
106-
gn.GetMulti(logs)
10794

10895
templates.ExecuteTemplate(w, "admin-feed.html", struct {
10996
Feed *Feed
110-
Logs []*Log
11197
Stories []*Story
11298
Now time.Time
11399
}{
114100
&f,
115-
logs,
116101
stories,
117102
time.Now(),
118103
})
@@ -176,8 +161,7 @@ func AdminUser(c mpg.Context, w http.ResponseWriter, r *http.Request) {
176161
it := gn.Run(q)
177162
var u User
178163
ud := UserData{Id: "data"}
179-
var h []Log
180-
k, err := it.Next(&u)
164+
_, err := it.Next(&u)
181165
if err != nil {
182166
serveError(w, err)
183167
return
@@ -202,16 +186,12 @@ func AdminUser(c mpg.Context, w http.ResponseWriter, r *http.Request) {
202186
}
203187
log.Infof(c, "opml updated")
204188
}
205-
q = datastore.NewQuery(gn.Kind(&Log{})).Ancestor(k)
206-
_, err = gn.GetAll(q, &h)
207189
if err := templates.ExecuteTemplate(w, "admin-user.html", struct {
208190
User User
209191
Data UserData
210-
Log []Log
211192
}{
212193
u,
213194
ud,
214-
h,
215195
}); err != nil {
216196
serveError(w, err)
217197
}

app/app.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func main() {
2929
*/
3030

3131
import (
32-
"google.golang.org/appengine"
32+
"google.golang.org/appengine/v2"
3333
_ "github.com/mjibson/goread"
3434
_ "github.com/mjibson/goread/_third_party/github.com/mjibson/appstats"
3535
)

app/app.sample.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
runtime: go111
1+
runtime: go116
2+
app_engine_apis: true
23

34
automatic_scaling:
45
min_idle_instances: 1

app/templates/admin-feed.html

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,6 @@
2525
<tr><td><a href="{{.Feed.Hub}}/subscription-details?hub.callback={{.Feed.PubSubURL}}&hub.topic={{.Feed.Url}}">pubsub</a></td></tr>
2626
</table>
2727

28-
logs:
29-
<ul>
30-
{{range .Logs}}
31-
<li>
32-
{{nanotime .Id | since}}
33-
{{nanotime .Id}}
34-
{{.Text}}
35-
</li>
36-
{{end}}
37-
</ul>
38-
3928
stories:
4029
<ul>
4130
{{range .Stories}}

app/templates/admin-user.html

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,5 @@
2525
</textarea>
2626
<br><input type="submit" value="save">
2727
</form>
28-
<table>
29-
{{range .Log}}
30-
<tr>
31-
<td>{{nanotime .Id | since}}</td>
32-
<td>{{nanotime .Id}}</td>
33-
<td>{{.Text}}</td>
34-
</tr>
35-
{{end}}
36-
</table>
3728
</body>
38-
</html>
29+
</html>

charge.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ import (
2727

2828
mpg "github.com/mjibson/goread/_third_party/github.com/MiniProfiler/go/miniprofiler_gae"
2929
"github.com/mjibson/goread/_third_party/github.com/mjibson/goon"
30-
"google.golang.org/appengine/log"
31-
"google.golang.org/appengine/datastore"
32-
"google.golang.org/appengine/user"
30+
"google.golang.org/appengine/v2/datastore"
31+
"google.golang.org/appengine/v2/log"
32+
"google.golang.org/appengine/v2/user"
3333
)
3434

3535
type Plan struct {
@@ -230,7 +230,7 @@ func doUncheckout(c mpg.Context) (*UserCharge, error) {
230230
}
231231

232232
func stripe(c mpg.Context, method, urlStr, body string) (*http.Response, error) {
233-
cl, cf := createHttpClient(c, time.Minute)
233+
cl, cf := createHttpClient(c, time.Minute)
234234
defer cf()
235235
req, err := http.NewRequest(method, fmt.Sprintf("https://api.stripe.com/v1/%s", urlStr), strings.NewReader(body))
236236
if err != nil {

dev.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ import (
2424
mpg "github.com/mjibson/goread/_third_party/github.com/MiniProfiler/go/miniprofiler_gae"
2525
"github.com/mjibson/goread/_third_party/github.com/mjibson/goon"
2626

27-
"google.golang.org/appengine/log"
28-
"google.golang.org/appengine/datastore"
29-
"google.golang.org/appengine/user"
27+
"google.golang.org/appengine/v2/datastore"
28+
"google.golang.org/appengine/v2/log"
29+
"google.golang.org/appengine/v2/user"
3030
)
3131

3232
func ClearRead(c mpg.Context, w http.ResponseWriter, r *http.Request) {

main.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ import (
3333
"github.com/mjibson/goread/_third_party/github.com/mjibson/goon"
3434

3535
"golang.org/x/net/context"
36-
"google.golang.org/appengine/datastore"
37-
alog "google.golang.org/appengine/log"
36+
"google.golang.org/appengine/v2/datastore"
37+
alog "google.golang.org/appengine/v2/log"
3838
)
3939

4040
var (
@@ -64,9 +64,9 @@ func init() {
6464
miniprofiler.ToggleShortcut = "Alt+C"
6565
miniprofiler.Position = "bottomleft"
6666

67-
router := mux.NewRouter()
68-
RegisterHandlers(router)
69-
http.Handle("/", router)
67+
router := mux.NewRouter()
68+
RegisterHandlers(router)
69+
http.Handle("/", router)
7070
}
7171

7272
func RegisterHandlers(r *mux.Router) {

tasks.go

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ import (
3737
mpg "github.com/mjibson/goread/_third_party/github.com/MiniProfiler/go/miniprofiler_gae"
3838
"github.com/mjibson/goread/_third_party/github.com/mjibson/goon"
3939

40-
"google.golang.org/appengine"
41-
"google.golang.org/appengine/blobstore"
42-
"google.golang.org/appengine/datastore"
43-
"google.golang.org/appengine/log"
44-
"google.golang.org/appengine/taskqueue"
40+
"google.golang.org/appengine/v2"
41+
"google.golang.org/appengine/v2/blobstore"
42+
"google.golang.org/appengine/v2/datastore"
43+
"google.golang.org/appengine/v2/log"
44+
"google.golang.org/appengine/v2/taskqueue"
4545
)
4646

4747
func ImportOpmlTask(c mpg.Context, w http.ResponseWriter, r *http.Request) {
@@ -159,20 +159,11 @@ func SubscribeCallback(c mpg.Context, w http.ResponseWriter, r *http.Request) {
159159
w.Write([]byte(r.FormValue("hub.challenge")))
160160
i, _ := strconv.Atoi(r.FormValue("hub.lease_seconds"))
161161
f.Subscribed = time.Now().Add(time.Second * time.Duration(i))
162-
gn.PutMulti([]interface{}{&f, &Log{
163-
Parent: gn.Key(&f),
164-
Id: time.Now().UnixNano(),
165-
Text: "SubscribeCallback - subscribed - " + f.Subscribed.String(),
166-
}})
162+
gn.Put(&f)
167163
log.Debugf(c, "subscribed: %v - %v", f.Url, f.Subscribed)
168164
return
169165
} else if !f.NotViewed() {
170166
log.Infof(c, "push: %v", f.Url)
171-
gn.Put(&Log{
172-
Parent: gn.Key(&f),
173-
Id: time.Now().UnixNano(),
174-
Text: "SubscribeCallback - push update",
175-
})
176167
defer r.Body.Close()
177168
b, _ := ioutil.ReadAll(r.Body)
178169
nf, ss, err := ParseFeed(c, r.Header.Get("Content-Type"), f.Url, f.Url, b)
@@ -190,18 +181,9 @@ func SubscribeCallback(c mpg.Context, w http.ResponseWriter, r *http.Request) {
190181

191182
// Task used to subscribe a feed to push.
192183
func SubscribeFeed(c mpg.Context, w http.ResponseWriter, r *http.Request) {
193-
start := time.Now()
194184
gn := goon.FromContext(c)
195185
f := Feed{Url: r.FormValue("feed")}
196-
fk := gn.Key(&f)
197186
s := ""
198-
defer func() {
199-
gn.Put(&Log{
200-
Parent: fk,
201-
Id: time.Now().UnixNano(),
202-
Text: "SubscribeFeed - start " + start.String() + " - f.sub " + f.Subscribed.String() + " - " + s,
203-
})
204-
}()
205187
if err := gn.Get(&f); err != nil {
206188
log.Errorf(c, "%v: %v", err, f.Url)
207189
serveError(w, err)
@@ -333,11 +315,7 @@ func updateFeed(c mpg.Context, url string, feed *Feed, stories []*Story, updateA
333315
if err := gn.Get(&f); err != nil {
334316
return fmt.Errorf("feed not found: %s", url)
335317
}
336-
gn.Put(&Log{
337-
Parent: gn.Key(&f),
338-
Id: time.Now().UnixNano(),
339-
Text: "feed update",
340-
})
318+
log.Infof(c, "feed update: %s", url)
341319

342320
// Compare the feed's listed update to the story's update.
343321
// Note: these may not be accurate, hence, only compare them to each other,
@@ -453,15 +431,8 @@ func UpdateFeed(c mpg.Context, w http.ResponseWriter, r *http.Request) {
453431
last := len(r.FormValue("last")) > 0
454432
f := Feed{Url: url}
455433
s := ""
456-
defer func() {
457-
gn.Put(&Log{
458-
Parent: gn.Key(&f),
459-
Id: time.Now().UnixNano(),
460-
Text: "UpdateFeed - " + s,
461-
})
462-
}()
463434
if err := gn.Get(&f); err == datastore.ErrNoSuchEntity {
464-
log.Errorf(c, "no such entity - " + url)
435+
log.Errorf(c, "no such entity - "+url)
465436
s += "NSE"
466437
return
467438
} else if err != nil {

0 commit comments

Comments
 (0)