Cabal revisions of taggy-lens-0.1
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-name: taggy-lens-version: 0.1-synopsis: Lenses for the taggy html/xml parser-description:- Lenses, folds, traversals and prisms for- <http://hackage.haskell.org/package/taggy taggy>.- .- This greatly simplifies your life when dealing with- the ugly world of Real Life HTML. Here's an example- <https://github.com/alpmestan/taggy-lens/blob/master/example/HackageNew.hs- from the github repository>: it lists the date, author and package name of- all the /recent package uploads/ entries from the hackage page of the same name.- Note that it uses <http://hackage.haskell.org/package/wreq wreq> to /fetch/ the- Hackage page.- .- > {-# LANGUAGE OverloadedStrings #-}- >- > module Main (main) where- >- > import Control.Lens (to, only,(^?),ix, toListOf)- > import Data.ByteString.Lazy (ByteString)- > import Data.Text (Text)- > import Data.Text.Encoding.Error (lenientDecode)- > import Data.Text.Lazy.Encoding (decodeUtf8With)- > import Network.HTTP.Client (Response)- > import Network.Wreq (responseBody, get)- > import Text.Taggy (Node)- > import Text.Taggy.Lens (html, elements, children, contents,allNamed)- > - > data Upload = - > Upload Text -- ^ date- > Text -- ^ author- > Text -- ^ package name- > deriving (Show)- >- > table :: [Node] -> Maybe Upload- > table row = do- > date <- row ^? ix 0 . contents - > author <- row ^? ix 1 . contents - > package <- row ^? ix 2 . elements . contents - > return $ Upload date author package- >- > recentPackages :: Response ByteString -> [Maybe Upload]- > recentPackages = toListOf - > $ responseBody . to (decodeUtf8With lenientDecode) - > . html . allNamed (only "tr") . children . to table- >- > main :: IO ()- > main = get "https://hackage.haskell.org/packages/recent" >>= print `fmap` recentPackages -homepage: http://github.com/alpmestan/taggy-lens-license: BSD3-license-file: LICENSE-author: Alp Mestanogullari, Vikram Verma-maintainer: alpmestan@gmail.com-copyright: 2014 Alp Mestanogullari, Vikram Verma-category: Text, Web-build-type: Simple-cabal-version: >= 1.10--library- exposed-modules:- Text.Taggy.Lens- build-depends:- base >= 4.5 && < 5,- lens >= 4,- taggy >= 0.1,- text,- unordered-containers- hs-source-dirs:- src- default-language:- Haskell2010- ghc-options:- -O2 -Wall -fno-warn-orphans--test-suite spec- type:- exitcode-stdio-1.0- hs-source-dirs:- src,- test- main-is:- Spec.hs- build-depends:- base >= 4.5 && < 5,- taggy,- text,- lens >= 4,- unordered-containers,- hspec- default-language:- Haskell2010- ghc-options:- -O2 -Wall -fno-warn-orphans--test-suite doctests- type:- exitcode-stdio-1.0- hs-source-dirs:- test- main-is:- DocTest.hs- ghc-options:- -threaded- build-depends:- base >= 4.5 && < 5, - doctest- default-language:- Haskell2010+name: taggy-lens +version: 0.1 +x-revision: 1 +synopsis: Lenses for the taggy html/xml parser +description: + Lenses, folds, traversals and prisms for + <http://hackage.haskell.org/package/taggy taggy>. + . + This greatly simplifies your life when dealing with + the ugly world of Real Life HTML. Here's an example + <https://github.com/alpmestan/taggy-lens/blob/master/example/HackageNew.hs + from the github repository>: it lists the date, author and package name of + all the /recent package uploads/ entries from the hackage page of the same name. + Note that it uses <http://hackage.haskell.org/package/wreq wreq> to /fetch/ the + Hackage page. + . + > module Main (main) where + > + > import Control.Lens (to, only,(^?),ix, toListOf) + > import Data.ByteString.Lazy (ByteString) + > import Data.Text (Text) + > import Data.Text.Encoding.Error (lenientDecode) + > import Data.Text.Lazy.Encoding (decodeUtf8With) + > import Network.HTTP.Client (Response) + > import Network.Wreq (responseBody, get) + > import Text.Taggy (Node) + > import Text.Taggy.Lens (html, elements, children, contents,allNamed) + > + > data Upload = + > Upload Text -- ^ date + > Text -- ^ author + > Text -- ^ package name + > deriving (Show) + > + > table :: [Node] -> Maybe Upload + > table row = do + > date <- row ^? ix 0 . contents + > author <- row ^? ix 1 . contents + > package <- row ^? ix 2 . elements . contents + > return $ Upload date author package + > + > recentPackages :: Response ByteString -> [Maybe Upload] + > recentPackages = toListOf + > $ responseBody . to (decodeUtf8With lenientDecode) + > . html . allNamed (only "tr") . children . to table + > + > main :: IO () + > main = get "https://hackage.haskell.org/packages/recent" >>= print `fmap` recentPackages +homepage: http://github.com/alpmestan/taggy-lens +license: BSD3 +license-file: LICENSE +author: Alp Mestanogullari, Vikram Verma +maintainer: alpmestan@gmail.com +copyright: 2014 Alp Mestanogullari, Vikram Verma +category: Text, Web +build-type: Simple +cabal-version: >= 1.10 + +library + exposed-modules: + Text.Taggy.Lens + build-depends: + base >= 4.5 && < 5, + lens >= 4, + taggy >= 0.1, + text, + unordered-containers + hs-source-dirs: + src + default-language: + Haskell2010 + ghc-options: + -O2 -Wall -fno-warn-orphans + +test-suite spec + type: + exitcode-stdio-1.0 + hs-source-dirs: + src, + test + main-is: + Spec.hs + build-depends: + base >= 4.5 && < 5, + taggy, + text, + lens >= 4, + unordered-containers, + hspec + default-language: + Haskell2010 + ghc-options: + -O2 -Wall -fno-warn-orphans + +test-suite doctests + type: + exitcode-stdio-1.0 + hs-source-dirs: + test + main-is: + DocTest.hs + ghc-options: + -threaded + build-depends: + base >= 4.5 && < 5, + doctest + default-language: + Haskell2010
revision 2
name: taggy-lens version: 0.1 -x-revision: 1 +x-revision: 2 synopsis: Lenses for the taggy html/xml parser description: Lenses, folds, traversals and prisms for . This greatly simplifies your life when dealing with the ugly world of Real Life HTML. Here's an example - <https://github.com/alpmestan/taggy-lens/blob/master/example/HackageNew.hs - from the github repository>: it lists the date, author and package name of + <https://github.com/alpmestan/taggy-lens/blob/master/example/HackageNew.hs example>. It lists the date, author and package name of all the /recent package uploads/ entries from the hackage page of the same name. Note that it uses <http://hackage.haskell.org/package/wreq wreq> to /fetch/ the Hackage page.
revision 3
name: taggy-lens version: 0.1 -x-revision: 2 +x-revision: 3 synopsis: Lenses for the taggy html/xml parser description: Lenses, folds, traversals and prisms for <http://hackage.haskell.org/package/taggy taggy>. . This greatly simplifies your life when dealing with - the ugly world of Real Life HTML. Here's an example + the ugly world of Real Life HTML. Here's an <https://github.com/alpmestan/taggy-lens/blob/master/example/HackageNew.hs example>. It lists the date, author and package name of all the /recent package uploads/ entries from the hackage page of the same name. Note that it uses <http://hackage.haskell.org/package/wreq wreq> to /fetch/ the