clckwrks-plugin-media 0.3.2 → 0.5.0
raw patch · 6 files changed
+36/−28 lines, 6 filesdep ~blaze-htmldep ~clckwrksdep ~happstack-serversetup-changed
Dependency ranges changed: blaze-html, clckwrks, happstack-server, hsp, reform, reform-happstack, reform-hsp
Files
- Clckwrks/Media/Monad.hs +8/−6
- Clckwrks/Media/Page/AllMedia.hs +5/−2
- Clckwrks/Media/Page/Upload.hs +7/−5
- Clckwrks/Media/Plugin.hs +5/−3
- Setup.hs +2/−2
- clckwrks-plugin-media.cabal +9/−10
Clckwrks/Media/Monad.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeFamilies, TypeSynonymInstances, OverloadedStrings #-}+{-# LANGUAGE FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, TypeFamilies, TypeSynonymInstances, OverloadedStrings #-} module Clckwrks.Media.Monad where import Clckwrks (ClckT(..), ClckFormT, ClckState(..), ClckURL(..), mapClckT)@@ -17,9 +17,11 @@ import qualified Data.Map as Map import Data.Maybe (fromMaybe) import qualified Data.Text as T+import qualified Data.Text.Lazy as TL import Happstack.Server import Happstack.Server.Internal.Monads (FilterFun)-import HSP (Attr((:=)), Attribute(MkAttr), EmbedAsAttr(..), EmbedAsChild(..), IsName(toName), pAttrVal)+import HSP.XML (Attribute(MkAttr), XML(..), pAttrVal)+import HSP.XMLGenerator (Attr((:=)), EmbedAsAttr(..), EmbedAsChild(..), IsName(toName)) import Magic (Magic, MagicFlag(..), magicLoadDefault, magicOpen) import System.Directory (createDirectoryIfMissing) import System.FilePath ((</>))@@ -50,15 +52,15 @@ type MediaForm = ClckFormT MediaFormError MediaM -instance (IsName n) => EmbedAsAttr MediaM (Attr n MediaURL) where+instance (IsName n TL.Text) => EmbedAsAttr MediaM (Attr n MediaURL) where asAttr (n := u) = do url <- showURL u- asAttr $ MkAttr (toName n, pAttrVal (T.unpack url))+ asAttr $ MkAttr (toName n, pAttrVal (TL.fromStrict url)) -instance (IsName n) => EmbedAsAttr MediaM (Attr n ClckURL) where+instance (IsName n TL.Text) => EmbedAsAttr MediaM (Attr n ClckURL) where asAttr (n := url) = do showFn <- mediaClckURL <$> ask- asAttr $ MkAttr (toName n, pAttrVal (T.unpack $ showFn url []))+ asAttr $ MkAttr (toName n, pAttrVal (TL.fromStrict $ showFn url [])) runMediaT :: MediaConfig -> MediaT m a -> ClckT MediaURL m a runMediaT mc m = mapClckT f m
Clckwrks/Media/Page/AllMedia.hs view
@@ -1,4 +1,5 @@-{-# OPTIONS_GHC -F -pgmFtrhsx #-}+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -F -pgmFhsx2hs #-} module Clckwrks.Media.Page.AllMedia where import Control.Applicative ((<$>))@@ -10,8 +11,10 @@ import Clckwrks.Media.Monad (MediaM) import Clckwrks.Media.URL (MediaURL(..)) import Data.String (fromString)+import Data.Text.Lazy (Text) import Happstack.Server (Response, asContentType, notFound, serveFile, toResponse)-import HSP +import HSP.XML (XML, fromStringLit)+import HSP.XMLGenerator allMedia :: MediaM Response allMedia =
Clckwrks/Media/Page/Upload.hs view
@@ -1,5 +1,5 @@-{-# LANGUAGE TypeFamilies #-}-{-# OPTIONS_GHC -F -pgmFtrhsx #-}+{-# LANGUAGE TypeFamilies, OverloadedStrings #-}+{-# OPTIONS_GHC -F -pgmFhsx2hs #-} module Clckwrks.Media.Page.Upload where import Control.Applicative ((<$>), (<*))@@ -14,12 +14,14 @@ import Data.Map (Map) import qualified Data.Map as Map import Data.Text (pack)+import Data.Text.Lazy (Text) import Happstack.Server (ContentType, Input, Response, ServerPartT, ok, setResponseCode, toResponse)-import HSP+import HSP.XML (fromStringLit)+import HSP.XMLGenerator import Magic (magicFile) import Text.Reform ((++>), FormError(..)) import Text.Reform.Happstack (reform)-import Text.Reform.HSP.Text (inputFile, label, inputSubmit, textarea, fieldset, ol, li, form)+import Text.Reform.HSP.Text (inputFile, labelText, inputSubmit, textarea, fieldset, ol, li, form) import System.Directory (copyFile) import System.FilePath ((</>), addExtension, takeExtension) import Web.Routes (showURL)@@ -73,4 +75,4 @@ uploadForm :: MediaForm (FilePath, FilePath, ContentType) uploadForm =- label "upload file: " ++> inputFile <* inputSubmit (pack "Upload")+ labelText "upload file: " ++> inputFile <* inputSubmit (pack "Upload")
Clckwrks/Media/Plugin.hs view
@@ -10,6 +10,7 @@ import Clckwrks.Media.Preview (applyTransforms) import Clckwrks.Media.Route (routeMedia) import Clckwrks.Media.URL (MediaURL(..), MediaAdminURL(..))+import Clckwrks.Monad (ClckPluginsSt) import Control.Concurrent (ThreadId, killThread) import Control.Monad.State (get) import Data.Acid as Acid@@ -18,6 +19,7 @@ import qualified Data.Text.Lazy as TL import Data.Maybe (fromMaybe) import Data.Set (Set)+import qualified Data.Set as Set import Magic (Magic, MagicFlag(..), magicLoadDefault, magicOpen) import System.Directory (createDirectoryIfMissing) import System.FilePath ((</>))@@ -75,11 +77,11 @@ (Just mediaShowURL) <- getPluginRouteFn p (pluginName mediaPlugin) let uploadURL = mediaShowURL (MediaAdmin Upload) [] allMediaURL = mediaShowURL (MediaAdmin AllMedia) []- addAdminMenu ("Media Gallery", [("Upload", uploadURL)- ,("All Media", allMediaURL)+ addAdminMenu ("Media Gallery", [(Set.fromList [Administrator], "Upload", uploadURL)+ ,(Set.fromList [Administrator], "All Media", allMediaURL) ]) -mediaPlugin :: Plugin MediaURL Theme (ClckT ClckURL (ServerPartT IO) Response) (ClckT ClckURL IO ()) ClckwrksConfig [TL.Text -> ClckT ClckURL IO TL.Text]+mediaPlugin :: Plugin MediaURL Theme (ClckT ClckURL (ServerPartT IO) Response) (ClckT ClckURL IO ()) ClckwrksConfig ClckPluginsSt mediaPlugin = Plugin { pluginName = "media" , pluginInit = mediaInit
Setup.hs view
@@ -5,9 +5,9 @@ import Distribution.Simple import Distribution.Simple.Program -trhsxProgram = simpleProgram "trhsx"+hsx2hsProgram = simpleProgram "hsx2hs" main :: IO () main = defaultMainWithHooks simpleUserHooks {- hookedPrograms = [trhsxProgram]+ hookedPrograms = [hsx2hsProgram] }
clckwrks-plugin-media.cabal view
@@ -1,5 +1,5 @@ Name: clckwrks-plugin-media-Version: 0.3.2+Version: 0.5.0 Synopsis: media plugin for clckwrks Homepage: http://clckwrks.com/ License: BSD3@@ -20,7 +20,7 @@ Library Build-tools:- trhsx+ hsx2hs Exposed-modules: Clckwrks.Media@@ -42,23 +42,22 @@ base < 5, acid-state >= 0.7, attoparsec == 0.10.*,- blaze-html == 0.5.*,- clckwrks >= 0.13 && < 0.15,+ blaze-html >= 0.5 && < 0.7,+ clckwrks >= 0.18 && < 0.19, containers >= 0.4 && < 0.6, directory >= 1.1 && < 1.3, filepath >= 1.2 && < 1.4, gd == 3000.*,- happstack-server >= 7.0 && < 7.2,- hsp == 0.7.*,+ happstack-server >= 7.0 && < 7.4,+ hsp == 0.9.*, ixset == 1.0.*, magic == 1.0.*, mtl >= 2.0 && < 2.3,- reform == 0.1.*,- reform-happstack == 0.1.*,- reform-hsp >= 0.1.1 && < 0.2,+ reform == 0.2.*,+ reform-happstack == 0.2.*,+ reform-hsp >= 0.2 && < 0.3, safecopy >= 0.6, text == 0.11.*, web-plugins >= 0.1 && < 0.3, web-routes == 0.27.*, web-routes-th >= 0.21-