diff --git a/decisiondateedit.go b/decisiondateedit.go index ec3e035..0ccd9ac 100644 --- a/decisiondateedit.go +++ b/decisiondateedit.go @@ -6,16 +6,16 @@ import ( "log" "strings" - "github.com/kataras/iris" + "github.com/kataras/iris/v12" + "github.com/kataras/iris/v12/sessions" "github.com/zew/decisiondates/gorpx" "github.com/zew/decisiondates/mdl" - "github.com/zew/irisx" "github.com/zew/logx" "github.com/zew/util" ) -func decisionDateEdit(c *iris.Context) { +func decisionDateEdit(c iris.Context) { var err error display := "" @@ -24,8 +24,8 @@ func decisionDateEdit(c *iris.Context) { // // - srcPageId, _, _ := irisx.EffectiveParamInt(c, "SrcPageId", -1) - srcPdfId, _, _ := irisx.EffectiveParamInt(c, "SrcPdfId", -1) + srcPageId := EffectiveParamInt(c, "SrcPageId", -1) + srcPdfId := EffectiveParamInt(c, "SrcPdfId", -1) if srcPageId > 0 { sql := `SELECT * @@ -48,7 +48,7 @@ func decisionDateEdit(c *iris.Context) { // // Deviating - dCN := irisx.EffectiveParam(c, "DeviatingCommName", "") + dCN := EffectiveParam(c, "DeviatingCommName", "") dKey, dName, displ2 := deviatingComm(dCN) display += displ2 if dKey != "" { @@ -114,7 +114,7 @@ func decisionDateEdit(c *iris.Context) { }{ HTMLTitle: AppName() + " - Edit decision date", Title: AppName() + " - Edit decision date", - FlashMsg: template.HTML(c.GetFlash(DecisionDateSave)), + FlashMsg: template.HTML(sessions.Get(c).GetFlashString(DecisionDateSave)), Links: links, StructDump: template.HTML(display), @@ -127,13 +127,13 @@ func decisionDateEdit(c *iris.Context) { ParamDeviatingCommName: dCN, - ParamSrcPageId: irisx.EffectiveParam(c, "SrcPageId", ""), - ParamSrcPdfId: irisx.EffectiveParam(c, "SrcPdfId", ""), + ParamSrcPageId: EffectiveParam(c, "SrcPageId", ""), + ParamSrcPdfId: EffectiveParam(c, "SrcPdfId", ""), Decisions: decisions, } - err = c.Render("decision-date-edit.html", s) + err = c.View("decision-date-edit.html", s) util.CheckErr(err) } diff --git a/decisiondatesave.go b/decisiondatesave.go index 22ac2b5..e6f2db3 100644 --- a/decisiondatesave.go +++ b/decisiondatesave.go @@ -5,26 +5,27 @@ import ( "fmt" "strings" - "github.com/kataras/iris" + "github.com/kataras/iris/v12" + "github.com/kataras/iris/v12/sessions" "github.com/zew/decisiondates/gorpx" "github.com/zew/decisiondates/mdl" - "github.com/zew/irisx" "github.com/zew/util" ) -func decisionDateSave(c *iris.Context) { +func decisionDateSave(c iris.Context) { var msg bytes.Buffer + sess := sessions.Get(c) defer func() { - c.SetFlash(DecisionDateSave, msg.String()) + sess.SetFlash(DecisionDateSave, msg.String()) c.Redirect( Pref(DecisionDateEdit) + fmt.Sprintf( "?SrcPageId=%v&SrcPdfId=%v&DeviatingCommName=%v", - irisx.EffectiveParam(c, "SrcPageId"), - irisx.EffectiveParam(c, "SrcPdfId"), - irisx.EffectiveParam(c, "DeviatingCommName"), + EffectiveParam(c, "SrcPageId"), + EffectiveParam(c, "SrcPdfId"), + EffectiveParam(c, "DeviatingCommName"), ), ) }() @@ -40,10 +41,10 @@ func decisionDateSave(c *iris.Context) { } frm := FormDecisions{} - if c.IsPost() { + if c.Method() == iris.MethodPost { err := c.ReadForm(&frm) if err != nil { - msg.WriteString(fmt.Sprintf("Each form field must be accomodated in the struct! %v\n", err)) + msg.WriteString(fmt.Sprintf("Each form field must be accommodated in the struct! %v\n", err)) return } diff --git a/extracttextfrompdf.go b/extracttextfrompdf.go index e23c4b5..69f62ae 100644 --- a/extracttextfrompdf.go +++ b/extracttextfrompdf.go @@ -10,27 +10,26 @@ import ( "os" "strings" - "github.com/kataras/iris" + "github.com/kataras/iris/v12" "github.com/pbberlin/pdf" "github.com/zew/decisiondates/gorpx" "github.com/zew/decisiondates/mdl" - "github.com/zew/irisx" "github.com/zew/logx" "github.com/zew/util" ) -func processPdf(c *iris.Context) { +func processPdf(c iris.Context) { var err error display := "" respBytes := []byte{} strUrl := "" - if irisx.EffectiveParam(c, "submit", "none") != "none" { + if EffectiveParam(c, "submit", "none") != "none" { - start, _, _ := irisx.EffectiveParamInt(c, "Start", 1) - cnt, _, _ := irisx.EffectiveParamInt(c, "Count", 5) + start := EffectiveParamInt(c, "Start", 1) + cnt := EffectiveParamInt(c, "Count", 5) end := start + cnt // @@ -214,11 +213,11 @@ func processPdf(c *iris.Context) { Url: strUrl, FormAction: PathProcessPdfs, - ParamStart: irisx.EffectiveParam(c, "Start", "0"), - ParamCount: irisx.EffectiveParam(c, "Count", "3"), + ParamStart: EffectiveParam(c, "Start", "0"), + ParamCount: EffectiveParam(c, "Count", "3"), } - err = c.Render("results.html", s) + err = c.View("results.html", s) util.CheckErr(err) } diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..6b01e3a --- /dev/null +++ b/go.mod @@ -0,0 +1,15 @@ +module github.com/zew/decisiondates + +go 1.13 + +require ( + github.com/go-sql-driver/mysql v1.4.1 + github.com/kataras/iris/v12 v12.0.1 + github.com/mattn/go-sqlite3 v1.11.0 + github.com/pbberlin/pdf v0.0.0-20160630134521-819001ec5cb1 + github.com/zew/gorp v0.0.0-20180321143528-9d53eef2f7e4 + github.com/zew/logx v0.0.0-20180516170210-9f79c321751a + github.com/zew/util v0.0.0-20190309202910-a8bebbe09dc9 + golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 + google.golang.org/api v0.13.0 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..49d2258 --- /dev/null +++ b/go.sum @@ -0,0 +1,208 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0 h1:ROfEUZz+Gh5pa62DJWXSaonyu3StP6EA6lPEXPI6mCo= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a h1:3SgJcK9l5uPdBC/X17wanyJAMxM33+4ZhEIV96MIH8U= +github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= +github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible h1:rZgFj+Gtf3NMi/U5FvCvhzaxzW/TaPYgUYx3bAPz9DE= +github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= +github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7 h1:mreN1m/5VJ/Zc3b4pzj9qU6D9SRQ6Vm+3KfI328t3S8= +github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398 h1:WDC6ySpJzbxGWFh4aMxFFC28wwGp5pEuoTtvA4q/qQ4= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible h1:Ppm0npCCsmuR9oQaBtRuZcmILVE74aXE+AmrJj8L2ns= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385 h1:clC1lXBpe2kTj2VHdaIu9ajZQe4kcEY9j0NsnDDBZ3o= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= +github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= +github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4 h1:GY1+t5Dr9OKADM64SYnQjw/w99HMYvQ0A8/JoUkxVmc= +github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/iris-contrib/blackfriday v2.0.0+incompatible h1:o5sHQHHm0ToHUlAJSTjW9UWicjJSDDauOOQ2AHuIVp4= +github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= +github.com/iris-contrib/go.uuid v2.0.0+incompatible h1:XZubAYg61/JwnJNbZilGjf3b3pB80+OQg2qf6c8BfWE= +github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= +github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= +github.com/iris-contrib/schema v0.0.1 h1:10g/WnoRR+U+XXHWKBHeNy/+tZmM2kcAVGLOsz+yaDA= +github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= +github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5 h1:rhqTjzJlm7EbkELJDKMTU7udov+Se0xZkWmugr6zGok= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= +github.com/kataras/golog v0.0.9 h1:J7Dl82843nbKQDrQM/abbNJZvQjS6PfmkkffhOTXEpM= +github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= +github.com/kataras/iris/v12 v12.0.1 h1:Wo5S7GMWv5OAzJmvFTvss/C4TS1W0uo6LkDlSymT4rM= +github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= +github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= +github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d h1:V5Rs9ztEWdp58oayPq/ulmlqJJZeJP6pP79uP3qjcao= +github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= +github.com/klauspost/compress v1.9.0 h1:GhthINjveNZAdFUD8QoQYfjxnOONZgztK/Yr6M23UTY= +github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= +github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= +github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= +github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= +github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/pbberlin/pdf v0.0.0-20160630134521-819001ec5cb1 h1:qk1Z7/Ji4BVEHQmvFMVI7Pk0VTbS7/KFwcy/jnVNj9U= +github.com/pbberlin/pdf v0.0.0-20160630134521-819001ec5cb1/go.mod h1:rjktAJf8XB7RLXiFbzUOthBRJtpsy847K2b4y1DA2aY= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/ryanuber/columnize v2.1.0+incompatible h1:j1Wcmh8OrK4Q7GXY+V7SVSY8nUWQxHW5TkBe7YUl+2s= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/zew/gorp v0.0.0-20180321143528-9d53eef2f7e4 h1:D8wWYsaWaCTjIZcbk1Vq/14eb7UhMak5bICNR+T3KxA= +github.com/zew/gorp v0.0.0-20180321143528-9d53eef2f7e4/go.mod h1:rdnyS/JG13OZGm/BbYKbaNbzyZjDQac1mXM3oI4J4z0= +github.com/zew/logx v0.0.0-20180516170210-9f79c321751a h1:NWo9TMhd6Le7k6SyfVoeVUB/Ktbhh5f7X5PYuHT1Tck= +github.com/zew/logx v0.0.0-20180516170210-9f79c321751a/go.mod h1:/FDlA/gcELT+vsz6h1cocqc7a2+XSkoqfPpfDxA+QOw= +github.com/zew/util v0.0.0-20190309202910-a8bebbe09dc9 h1:eEOOExY28xlFZXq5mGwaQUr/cyi0YdW/El7I+SNEdkQ= +github.com/zew/util v0.0.0-20190309202910-a8bebbe09dc9/go.mod h1:Dcww64EEP4RiUWy18dHiY3DFDsU5RgyB3SZ4KbRdkVI= +go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.13.0 h1:Q3Ui3V3/CVinFWFiW39Iw0kMuVrRzYX0wN6OPFp0lTA= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873 h1:nfPFGzJkUDX6uBmpN/pSw7MbOAWegH5QDQuoXFHedLg= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/googlecommunities.go b/googlecommunities.go index 493e9a7..57cb1c2 100644 --- a/googlecommunities.go +++ b/googlecommunities.go @@ -1,4 +1,4 @@ -package main +package main import ( "fmt" @@ -10,20 +10,19 @@ import ( "golang.org/x/oauth2/google" cus "google.golang.org/api/customsearch/v1" - "github.com/kataras/iris" + "github.com/kataras/iris/v12" "github.com/zew/decisiondates/config" "github.com/zew/decisiondates/gorpx" "github.com/zew/decisiondates/mdl" - "github.com/zew/irisx" "github.com/zew/logx" "github.com/zew/util" ) -func customSearchServiceWrap(c *iris.Context) *cus.Service { +func customSearchServiceWrap(c iris.Context) *cus.Service { cseService, err := customSearchService() if err != nil { - c.Text(200, err.Error()) + c.WriteString(err.Error()) c.StopExecution() } else { logx.Printf("CSE client successfully retrieved") @@ -65,17 +64,17 @@ func customSearchService() (*cus.Service, error) { } -func results(c *iris.Context) { +func results(c iris.Context) { var err error display := "" respBytes := []byte{} strUrl := "" - if irisx.EffectiveParam(c, "submit", "none") != "none" { + if EffectiveParam(c, "submit", "none") != "none" { - start, _, _ := irisx.EffectiveParamInt(c, "Start", 1) - cnt, _, _ := irisx.EffectiveParamInt(c, "Count", 5) + start := EffectiveParamInt(c, "Start", 1) + cnt := EffectiveParamInt(c, "Count", 5) end := start + cnt // @@ -145,7 +144,7 @@ func results(c *iris.Context) { // c.StopExecution() break Label1 } - c.Text(200, "search.Do: "+err.Error()) + c.Writef("search.Do: %s", err.Error()) return } for index, r := range call.Items { @@ -164,7 +163,7 @@ func results(c *iris.Context) { pdf.SnippetGoogle = r.Snippet err = gorpx.DBMap().Insert(&pdf) if err != nil { - c.Text(200, err.Error()) + c.WriteString(err.Error()) } } start = start + offset @@ -238,13 +237,13 @@ func results(c *iris.Context) { UrlCmp: "https://www.googleapis.com/customsearch/v1?q=Schwetzingen&key=AIzaSyDS56qRpWj3o_xfGqxwbP5oqW9qr72Poww&cx=000184963688878042004:kcoarvtcg7q", FormAction: PathCommunityResults, - Gemeinde: irisx.EffectiveParam(c, "Gemeinde", "Schwetzingen"), - Schluessel: irisx.EffectiveParam(c, "Schluessel", "08 2 26 084"), - ParamStart: irisx.EffectiveParam(c, "Start", "1"), - ParamCount: irisx.EffectiveParam(c, "Count", "5"), + Gemeinde: EffectiveParam(c, "Gemeinde", "Schwetzingen"), + Schluessel: EffectiveParam(c, "Schluessel", "08 2 26 084"), + ParamStart: EffectiveParam(c, "Start", "1"), + ParamCount: EffectiveParam(c, "Count", "5"), } - err = c.Render("results.html", s) + err = c.View("results.html", s) util.CheckErr(err) } diff --git a/googleplain.go b/googleplain.go index 7cb2128..da7316d 100644 --- a/googleplain.go +++ b/googleplain.go @@ -6,11 +6,10 @@ import ( "net/http" "net/url" - "github.com/kataras/iris" + "github.com/kataras/iris/v12" "github.com/zew/decisiondates/config" "github.com/zew/decisiondates/gorpx" "github.com/zew/decisiondates/mdl" - "github.com/zew/irisx" "github.com/zew/logx" "github.com/zew/util" ) @@ -20,7 +19,7 @@ import ( // and with some app engine credentials // // There is no need for a special oauth2 client. -func plainJsonResponse(c *iris.Context) (string, []byte, error) { +func plainJsonResponse(c iris.Context) (string, []byte, error) { display := "" respBytes := []byte{} @@ -38,9 +37,9 @@ func plainJsonResponse(c *iris.Context) (string, []byte, error) { vals := map[string]string{ "key": config.Config.AppEngineServerKey, "cx": config.Config.GoogleCustomSearchId, - "q": irisx.EffectiveParam(c, "Gemeinde", "Villingen-Schwenningen"), - "start": irisx.EffectiveParam(c, "Start", "1"), - "num": irisx.EffectiveParam(c, "Count", "5"), + "q": EffectiveParam(c, "Gemeinde", "Villingen-Schwenningen"), + "start": EffectiveParam(c, "Start", "1"), + "num": EffectiveParam(c, "Count", "5"), "safe": "off", } @@ -63,17 +62,17 @@ func plainJsonResponse(c *iris.Context) (string, []byte, error) { // Parse if err != nil { - c.Text(200, err.Error()) + c.WriteString(err.Error()) return display, respBytes, err } err = gorpx.DBMap().Insert(&community) if err != nil { - c.Text(200, err.Error()) + c.WriteString(err.Error()) } display = util.IndentedDump(community) - // c.Text(200, display) + // c.WriteString(display) return display, respBytes, nil } diff --git a/gorpx/connect.go b/gorpx/connect.go index 1e7cd5c..68cebdb 100644 --- a/gorpx/connect.go +++ b/gorpx/connect.go @@ -27,13 +27,21 @@ func DB() *sql.DB { return db } +func Env() string { + environ := os.Getenv("EXEC_ENVIRONMENT") + if environ == "" { + environ = "dev" + } + return environ +} + func DBMap(dbName ...string) *gorp.DbMap { if dbmap != nil && db != nil { return dbmap } - sh := config.Config.SQLHosts[util.Env()] + sh := config.Config.SQLHosts[Env()] var err error // param docu at https://github.com/go-sql-driver/mysql paramsJoined := "?" @@ -49,7 +57,8 @@ func DBMap(dbName ...string) *gorp.DbMap { db, err = sql.Open("sqlite3", "./main.sqlite") util.CheckErr(err) } else { - connStr2 := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s%s", sh.User, util.EnvVar("SQL_PW"), sh.Host, sh.Port, sh.DBName, paramsJoined) + sqlPass, _ := util.EnvVar("SQL_PW") + connStr2 := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s%s", sh.User, sqlPass, sh.Host, sh.Port, sh.DBName, paramsJoined) logx.Printf("gorp conn: %v", connStr2) db, err = sql.Open("mysql", connStr2) util.CheckErr(err) diff --git a/hits.go b/hits.go index 507eed5..67a81b9 100644 --- a/hits.go +++ b/hits.go @@ -55,7 +55,7 @@ func (h *Hits) HasRegExesHitsAtPage(PageNum int, RegExIds []int) bool { // Has hits for several denoted regexes - for the entire pdf - on the *same* page func (h *Hits) HasRegExesHitsAtAnyOnePage(RegExIds []int) bool { hderef := *h - for pageNum, _ := range hderef { + for pageNum := range hderef { if h.HasRegExesHitsAtPage(pageNum, RegExIds) { return true } diff --git a/index.go b/index.go index d2db457..6ebf379 100644 --- a/index.go +++ b/index.go @@ -1,11 +1,11 @@ package main import ( - "github.com/kataras/iris" + "github.com/kataras/iris/v12" "github.com/zew/util" ) -func index(c *iris.Context) { +func index(c iris.Context) { var err error s := struct { @@ -18,7 +18,7 @@ func index(c *iris.Context) { Links: links, } - err = c.Render("index.html", s) + err = c.View("index.html", s) util.CheckErr(err) } diff --git a/main.go b/main.go index bf140eb..90756a7 100644 --- a/main.go +++ b/main.go @@ -4,9 +4,10 @@ import ( "html/template" "log" "strings" + "time" - "github.com/kataras/iris" - "github.com/kataras/iris/config" + "github.com/kataras/iris/v12" + "github.com/kataras/iris/v12/sessions" appcfg "github.com/zew/decisiondates/config" "github.com/zew/decisiondates/gorpx" @@ -19,8 +20,6 @@ var funcMapAll = map[string]interface{}{ "toJS": func(arg string) template.JS { return template.JS(arg) }, } -var irisConfig = config.Iris{} - const ( PathCommunityResults = "/community-search-results" PathProcessPdfs = "/process-pdfs" @@ -61,30 +60,27 @@ func AppName(p ...string) string { } func main() { - - // iris.Templates("./*.html") - log.SetFlags(log.Lshortfile) - var renderOptions = config.Template{ - Directory: "templates", - Extensions: []string{".tmpl", ".html"}, - // RequirePartials: true, - HTMLTemplate: config.HTMLTemplate{ - Funcs: funcMapAll, - }, - } + i01 := iris.New() - irisConfig.Render.Template = renderOptions - irisConfig.Render.Template.Layout = "layout.html" + view := iris.HTML("./templates", ".html").Layout("layout.html") + for k, v := range funcMapAll { + view.AddFunc(k, v) + } + i01.RegisterView(view) - i01 := iris.New(irisConfig) - // i01 := iris.Custom(iris.StationOptions{}) + // Used to get and set flash messages on 'decisionedit'. + sessManager := sessions.New(sessions.Config{ + Cookie: "sessionid", + Expires: 2 * time.Hour, + }) + i01.Use(sessManager.Handler()) - i01.Static(Pref("/js"), "./static/js/", 2) + i01.HandleDir(Pref("/js"), "./static/js/") // i01.Static("/js", "./static/js/", 1) - i01.Static(Pref("/img"), "./static/img/", 2) - i01.Static(Pref("/css"), "./static/css/", 2) + i01.HandleDir(Pref("/img"), "./static/img/") + i01.HandleDir(Pref("/css"), "./static/css/") i01.Get("/", index) i01.Get(Pref(""), index) @@ -101,6 +97,5 @@ func main() { defer gorpx.DB().Close() logx.Printf("starting http server...") - logx.Fatal(i01.ListenWithErr(":8082")) - + logx.Fatal(i01.Run(iris.Addr(":8082"), iris.WithoutServerError(iris.ErrServerClosed))) } diff --git a/refinetextmultipass.go b/refinetextmultipass.go index 20fb2ce..5689a14 100644 --- a/refinetextmultipass.go +++ b/refinetextmultipass.go @@ -6,16 +6,15 @@ import ( "html/template" "regexp" - "github.com/kataras/iris" + "github.com/kataras/iris/v12" "github.com/zew/decisiondates/gorpx" "github.com/zew/decisiondates/mdl" - "github.com/zew/irisx" "github.com/zew/logx" "github.com/zew/util" ) -func refineTextMultiPass(c *iris.Context) { +func refineTextMultiPass(c iris.Context) { var err error display := "" @@ -55,10 +54,10 @@ func refineTextMultiPass(c *iris.Context) { rs = append(rs, r4) // - if irisx.EffectiveParam(c, "submit", "none") != "none" { + if EffectiveParam(c, "submit", "none") != "none" { - start, _, _ := irisx.EffectiveParamInt(c, "Start", 1) - cnt, _, _ := irisx.EffectiveParamInt(c, "Count", 5) + start := EffectiveParamInt(c, "Start", 1) + cnt := EffectiveParamInt(c, "Count", 5) end := start + cnt // @@ -239,11 +238,11 @@ func refineTextMultiPass(c *iris.Context) { Url: strUrl, FormAction: RefineTextMultiPass, - ParamStart: irisx.EffectiveParam(c, "Start", "0"), - ParamCount: irisx.EffectiveParam(c, "Count", "3"), + ParamStart: EffectiveParam(c, "Start", "0"), + ParamCount: EffectiveParam(c, "Count", "3"), } - err = c.Render("results.html", s) + err = c.View("results.html", s) util.CheckErr(err) } diff --git a/util.go b/util.go new file mode 100644 index 0000000..74e16d5 --- /dev/null +++ b/util.go @@ -0,0 +1,87 @@ +package main + +import ( + "strconv" + + "github.com/kataras/iris/v12" + "github.com/kataras/iris/v12/sessions" +) + +// EffectiveParam searches for the effective value. +// First among the POST fields. +// Then among the URL "path" parameters. +// Then among the URL GET parameters. +// Then inside the session. +// It might be smarter, to condense all levels down to session level +// at the begin of each request. +// We then would only ask the session and flash messages. +func EffectiveParam(ctx iris.Context, key string, defaultVal ...string) string { + // Form data and url query parameters for POST or PUT HTTP methods. + if v := ctx.FormValue(key); v != "" { + return v + } + + // Path Param. + if v := ctx.Params().Get(key); v != "" { + return v + } + + // URL Get Param. + if v := ctx.URLParam(key); v != "" { + return v + } + + // Session. + sess := sessions.Get(ctx) + if sess != nil { + if v := sess.GetString(key); v != "" { + return v + } + + if v := sess.GetFlashString(key); v != "" { + return v + } + } + + def := "" + if len(defaultVal) > 0 { + def = defaultVal[0] + } + + return def +} + +// EffectiveParamInt is a wrapper around EffectiveParam +// with subsequent parsing into an int +func EffectiveParamInt(c iris.Context, key string, defaultVal ...int) int { + s := EffectiveParam(c, key) + if s == "" { + if len(defaultVal) > 0 { + return defaultVal[0] + } + return 0 + + } + i, _ := strconv.Atoi(s) + return i +} + +// EffectiveParamFloat is a wrapper around EffectiveParam +// with subsequent parsing into float +func EffectiveParamFloat(c iris.Context, key string, defaultVal ...float64) (float64, error) { + s := EffectiveParam(c, key) + if s == "" { + if len(defaultVal) > 0 { + return defaultVal[0], nil + } + return 0.0, nil + + } + + fl, err := strconv.ParseFloat(s, 64) + if err != nil { + return 0.0, err + } + return fl, nil + +}