package main // import ( // "fmt" // "time" // "timeutil" // "tipper/model" // "web" // "web/api" // "web/kit/simplerouter" // //"qx" // "qx" // _ "github.com/go-sql-driver/mysql" // ) // const ( // port = 7770 // //baseDir = "/root/tipper" // //baseDir = "" // baseDir = "/home/ubuntu/tipper" // //baseDir = "/home/dima/work/go/src/tipper" // ) // var m *model.Model // func main() { // //logger := log.New(os.Stdout, "", log.LstdFlags) //db, err := qx.Open("mysql", "user:password@/tipper") // if err != nil { // panic(err) // } // defer db.Close() // m = model.New(db) // publicAPI := api.NewAPI(api.Options{ // //Private: false, // //ErrorMapping: fsmodel.ErrorMessages, // }) // publicAPI.Func("listStrategies", m.ListStrategies) // publicAPI.Func("listStrategyRatedChampStats", m.ListStrategyRatedChampStats) // publicAPI.Func("getStrategyRatedHistory", m.GetStrategyRatedHistory) // router := simplerouter.New() // router.Handle("/", pageTips) // router.Handle("/best-strategies", pageStrategies) // router.Handle("/api", publicAPI.Index) // app := web.NewApp(web.AppOptions{ // Port: port, // Router: router, // BaseDir: baseDir, // TemplateDir: "templates", // StaticDirs: map[string]string{ // "static": "static", // }, // }) // app.Run() // } // type TipView struct { // Time string // Name string // Champ string // Link string // Result string // Status model.TipStatus // StrategyID int64 // } // type DayTips struct { // Date string // Tips []TipView // } // type PageTipsData struct { // Days []DayTips // } // func pageTips(state *web.State, reply *web.Reply) (err error) { // tips, err := m.ListTips() // if err != nil { // return // } // var days []DayTips // var currentDay int64 // var dayTips DayTips // for _, tip := range tips { // if tip.Status != model.Won && tip.Status != model.Lost { // continue // } // tm := time.Unix(tip.TipTime, 0) // tm, err = timeutil.FirstSecondInPeriod(tm.Format("2006-01-02"), // tm.Location(), "d") // if err != nil { // return // } // day := tm.Unix() // if day != currentDay { // if currentDay != 0 { // days = append(days, dayTips) // } // dayTips = DayTips{ // Date: tm.Format("Monday Jan 2, 2006"), // } // currentDay = day // } // dayTips.Tips = append(dayTips.Tips, TipView{ // Time: tm.Format("15:04"), // Name: tip.MatchName, // Champ: tip.ChampName, // Link: fmt.Sprintf("https://www.flashscore.com/match/%s/#h2h;overall", tip.MatchID), // Result: tip.Result, // Status: tip.Status, // StrategyID: tip.StrategyID, // }) // } // if currentDay != 0 { // days = append(days, dayTips) // } // reply.Render("temp_tips", PageTipsData{ // Days: days, // }) // return // } // func pageStrategies(state *web.State, reply *web.Reply) (err error) { // reply.Render("temp_stats", nil) // return // }