packages feed

hledger-web 0.15 → 0.15.1

raw patch · 3 files changed

+81/−8 lines, 3 filesdep ~waidep ~wai-extradep ~warp

Dependency ranges changed: wai, wai-extra, warp, yesod-json, yesod-static

Files

Hledger/Web/AppRun.hs view
@@ -53,7 +53,7 @@   let Right j = ej   let a = App{               getStatic=static Hledger.Web.Settings.staticdir-             ,appRoot="http://localhost:5002"+             ,appRoot="http://demo.hledger.org:5001"              ,appOpts=defwebopts{cliopts_=defcliopts{file_=Just f}}              ,appArgs=[]              ,appJournal=j
+ Hledger/Web/Options.hs view
@@ -0,0 +1,71 @@+{-|++-}++module Hledger.Web.Options+where+import Data.Maybe+import Data.Text (unpack)+import System.Console.CmdArgs+import System.Console.CmdArgs.Explicit++import Hledger.Cli hiding (progname,progversion)+import qualified Hledger.Cli (progname)++import Hledger.Web.Settings++progname = Hledger.Cli.progname ++ "-web"+progversion = progversionstr progname++defbaseurl = unpack defapproot+defbaseurl' = (reverse $ drop 4 $ reverse defbaseurl) ++ "PORT"++webflags = [+  flagReq ["base-url"]  (\s opts -> Right $ setopt "base-url" s opts) "URL" ("set the base url (default: "++defbaseurl'++")")+ ,flagReq ["port"]  (\s opts -> Right $ setopt "port" s opts) "PORT" ("listen on this tcp port (default: "++show defport++")")+ ]+ +webmode =  (mode "hledger-web" [("command","web")]+            "start serving the hledger web interface"+            commandargsflag []){+              modeGroupFlags = Group {+                                groupUnnamed = webflags+                               ,groupHidden = []+                               ,groupNamed = [(generalflagstitle, generalflags1)]+                               }+             ,modeHelpSuffix=[+                  -- "Reads your ~/.hledger.journal file, or another specified by $LEDGER_FILE or -f, and starts the full-window curses ui."+                 ]+           }++-- hledger-web options, used in hledger-web and above+data WebOpts = WebOpts {+     base_url_ :: String+    ,port_     :: Int+    ,cliopts_  :: CliOpts+ } deriving (Show)++defwebopts = WebOpts+    def+    def+    def++-- instance Default WebOpts where def = defwebopts++toWebOpts :: RawOpts -> IO WebOpts+toWebOpts rawopts = do+  cliopts <- toCliOpts rawopts+  return defwebopts {+              base_url_ = fromMaybe defbaseurl $ maybestringopt "base-url" rawopts+             ,port_ = fromMaybe defport $ maybeintopt "port" rawopts+             ,cliopts_   = cliopts+             }++checkWebOpts :: WebOpts -> IO WebOpts+checkWebOpts opts = do+  checkCliOpts $ cliopts_ opts+  return opts++getHledgerWebOpts :: IO WebOpts+getHledgerWebOpts = processArgs webmode >>= return . decodeRawOpts >>= toWebOpts >>= checkWebOpts+
hledger-web.cabal view
@@ -1,5 +1,5 @@ name:           hledger-web-version: 0.15+version: 0.15.1 category:       Finance synopsis:       A web interface for the hledger accounting tool. description:    @@ -52,6 +52,7 @@                      Hledger.Web.App                      Hledger.Web.AppRun                      Hledger.Web.EmbeddedFiles+                     Hledger.Web.Options                      Hledger.Web.Settings                      Hledger.Web.StaticFiles                      Hledger.Web.Handlers@@ -84,16 +85,16 @@                  ,file-embed == 0.0.*                  ,template-haskell >= 2.4 && < 2.6                  -- ,yesod >= 0.8 && < 0.9-                 ,yesod-core   >= 0.8     && < 0.9+                 ,yesod-core   >= 0.8 && < 0.9                  ,yesod-form   == 0.1.*-                 ,yesod-json-                 ,yesod-static == 0.1.0+                 ,yesod-json   == 0.1.*+                 ,yesod-static == 0.1.*                  ,aeson == 0.3.*                  ,hamlet == 0.8.*                  ,transformers-                 ,wai-                 ,wai-extra == 0.4.*-                 ,warp+                 ,wai < 0.5+                 ,wai-extra < 0.5+                 ,warp < 0.5                  -- , blaze-builder                  -- , web-routes @@ -108,6 +109,7 @@                      Hledger.Web                      Hledger.Web.App                      Hledger.Web.EmbeddedFiles+                     Hledger.Web.Options                      Hledger.Web.Settings                      Hledger.Web.StaticFiles                      Hledger.Web.Handlers