From 90ae59ccafb952d2c444e200aa1106c13947dde2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Mon, 1 Dec 2014 13:25:57 -0800 Subject: [PATCH] Fixed png rending --- .bra.toml | 2 +- main.go | 3 - pkg/cmd/web.go | 3 +- pkg/components/phantom_renderer.go | 73 ---------------------- pkg/dto/queries.go | 9 +++ pkg/middleware/auth.go | 2 +- pkg/stores/sqlstore/sqlstore_dashboards.go | 4 +- 7 files changed, 14 insertions(+), 82 deletions(-) delete mode 100644 pkg/components/phantom_renderer.go create mode 100644 pkg/dto/queries.go diff --git a/.bra.toml b/.bra.toml index c2e1503de2f..a64df714a4b 100644 --- a/.bra.toml +++ b/.bra.toml @@ -9,6 +9,6 @@ watch_dirs = [ watch_exts = [".go", ".ini"] build_delay = 1500 cmds = [ - ["go", "build", "./pkg/cmd/grafana-pro"], + ["go", "build"], ["./grafana-pro", "web"] ] diff --git a/main.go b/main.go index 77d364cd33e..95929a39f79 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,6 @@ import ( "os" "runtime" - "github.com/torkelo/grafana-pro/pkg/bus" "github.com/torkelo/grafana-pro/pkg/cmd" "github.com/codegangsta/cli" @@ -17,8 +16,6 @@ func init() { } func main() { - bus.InitBus() - app := cli.NewApp() app.Name = "Grafana Pro" app.Usage = "Grafana Pro Service" diff --git a/pkg/cmd/web.go b/pkg/cmd/web.go index 24f02d381c4..db653f6a7a4 100644 --- a/pkg/cmd/web.go +++ b/pkg/cmd/web.go @@ -67,9 +67,10 @@ func runWeb(*cli.Context) { setting.NewConfigContext() setting.InitServices() - sqlstore.Init() social.NewOAuthService() + sqlstore.Init() + // init database sqlstore.LoadModelsConfig() if err := sqlstore.NewEngine(); err != nil { diff --git a/pkg/components/phantom_renderer.go b/pkg/components/phantom_renderer.go deleted file mode 100644 index a516427596f..00000000000 --- a/pkg/components/phantom_renderer.go +++ /dev/null @@ -1,73 +0,0 @@ -package components - -import ( - "crypto/md5" - "encoding/hex" - "io" - "os" - "os/exec" - "path/filepath" - "time" - - log "github.com/alecthomas/log4go" -) - -type PhantomRenderer struct { - ImagesDir string - PhantomDir string -} - -type RenderOpts struct { - Url string - Width string - Height string -} - -func (self *PhantomRenderer) RenderToPng(params *RenderOpts) (string, error) { - log.Info("PhantomRenderer::renderToPng url %v", params.Url) - binPath, _ := filepath.Abs(filepath.Join(self.PhantomDir, "phantomjs")) - scriptPath, _ := filepath.Abs(filepath.Join(self.PhantomDir, "render.js")) - pngPath, _ := filepath.Abs(filepath.Join(self.ImagesDir, getHash(params.Url))) - pngPath = pngPath + ".png" - - cmd := exec.Command(binPath, scriptPath, "url="+params.Url, "width="+params.Width, "height="+params.Height, "png="+pngPath) - stdout, err := cmd.StdoutPipe() - - if err != nil { - return "", err - } - stderr, err := cmd.StderrPipe() - if err != nil { - return "", err - } - - err = cmd.Start() - if err != nil { - return "", err - } - - go io.Copy(os.Stdout, stdout) - go io.Copy(os.Stdout, stderr) - - done := make(chan error) - go func() { - cmd.Wait() - close(done) - }() - - select { - case <-time.After(10 * time.Second): - if err := cmd.Process.Kill(); err != nil { - log.Error("failed to kill: %v", err) - } - case <-done: - } - - return pngPath, nil -} - -func getHash(text string) string { - hasher := md5.New() - hasher.Write([]byte(text)) - return hex.EncodeToString(hasher.Sum(nil)) -} diff --git a/pkg/dto/queries.go b/pkg/dto/queries.go new file mode 100644 index 00000000000..002189d55db --- /dev/null +++ b/pkg/dto/queries.go @@ -0,0 +1,9 @@ +package dto + +type GetDashboardQuery struct { + Id int64 + Resp GetDashboardQueryResp +} + +type GetDashboardQueryResp struct { +} diff --git a/pkg/middleware/auth.go b/pkg/middleware/auth.go index 3c66baf3ce0..7aa02b3dc04 100644 --- a/pkg/middleware/auth.go +++ b/pkg/middleware/auth.go @@ -15,7 +15,7 @@ func authGetRequestAccountId(c *Context, sess session.Store) (int64, error) { urlQuery := c.Req.URL.Query() if len(urlQuery["render"]) > 0 { - accId, _ := strconv.Atoi(urlQuery["accountId"][0]) + accId, _ := strconv.ParseInt(urlQuery["accountId"][0], 10, 64) sess.Set("accountId", accId) accountId = accId } diff --git a/pkg/stores/sqlstore/sqlstore_dashboards.go b/pkg/stores/sqlstore/sqlstore_dashboards.go index dc3c81565a8..cfb4419cbef 100644 --- a/pkg/stores/sqlstore/sqlstore_dashboards.go +++ b/pkg/stores/sqlstore/sqlstore_dashboards.go @@ -1,8 +1,6 @@ package sqlstore -import ( - "github.com/torkelo/grafana-pro/pkg/models" -) +import "github.com/torkelo/grafana-pro/pkg/models" func SaveDashboard(dash *models.Dashboard) error { var err error