Hello community, here is the log from the commit of package ghc-tagsoup for openSUSE:Factory checked in at 2016-01-11 19:12:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-tagsoup (Old) and /work/SRC/openSUSE:Factory/.ghc-tagsoup.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-tagsoup" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-tagsoup/ghc-tagsoup.changes 2016-01-05 21:54:54.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-tagsoup.new/ghc-tagsoup.changes 2016-01-11 19:12:03.000000000 +0100 @@ -1,0 +2,6 @@ +Sun Jan 10 08:36:15 UTC 2016 - mimi...@gmail.com + +- update to 0.13.7 +* make sure upper case &#X works in lookupEntity + +------------------------------------------------------------------- Old: ---- tagsoup-0.13.6.tar.gz New: ---- tagsoup-0.13.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-tagsoup.spec ++++++ --- /var/tmp/diff_new_pack.Ittqky/_old 2016-01-11 19:12:04.000000000 +0100 +++ /var/tmp/diff_new_pack.Ittqky/_new 2016-01-11 19:12:04.000000000 +0100 @@ -19,7 +19,7 @@ %global pkg_name tagsoup Name: ghc-tagsoup -Version: 0.13.6 +Version: 0.13.7 Release: 0 Summary: Parsing and extracting information from (possibly malformed) HTML/XML documents License: BSD-3-Clause ++++++ tagsoup-0.13.6.tar.gz -> tagsoup-0.13.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.13.6/CHANGES.txt new/tagsoup-0.13.7/CHANGES.txt --- old/tagsoup-0.13.6/CHANGES.txt 2015-12-23 15:49:00.000000000 +0100 +++ new/tagsoup-0.13.7/CHANGES.txt 2016-01-09 22:21:31.000000000 +0100 @@ -1,5 +1,7 @@ Changelog for TagSoup +0.13.7 + #32, make sure upper case &#X works in lookupEntity 0.13.6 #28, some named entities require a trailing semicolon (e.g. mid) 0.13.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.13.6/LICENSE new/tagsoup-0.13.7/LICENSE --- old/tagsoup-0.13.6/LICENSE 2015-12-23 15:49:00.000000000 +0100 +++ new/tagsoup-0.13.7/LICENSE 2016-01-09 22:21:31.000000000 +0100 @@ -1,4 +1,4 @@ -Copyright Neil Mitchell 2006-2015. +Copyright Neil Mitchell 2006-2016. All rights reserved. Redistribution and use in source and binary forms, with or without diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.13.6/README.md new/tagsoup-0.13.7/README.md --- old/tagsoup-0.13.6/README.md 2015-12-23 15:49:00.000000000 +0100 +++ new/tagsoup-0.13.7/README.md 2016-01-09 22:21:31.000000000 +0100 @@ -1,4 +1,4 @@ -# TagSoup [![Hackage version](https://img.shields.io/hackage/v/tagsoup.svg?label=Hackage)](https://hackage.haskell.org/package/tagsoup) [![Build Status](https://img.shields.io/travis/ndmitchell/tagsoup.svg)](https://travis-ci.org/ndmitchell/tagsoup) +# TagSoup [![Hackage version](https://img.shields.io/hackage/v/tagsoup.svg?label=Hackage)](https://hackage.haskell.org/package/tagsoup) [![Stackage version](https://www.stackage.org/package/tagsoup/badge/lts?label=Stackage)](https://www.stackage.org/package/tagsoup) [![Linux Build Status](https://img.shields.io/travis/ndmitchell/tagsoup.svg?label=Linux%20build)](https://travis-ci.org/ndmitchell/tagsoup) [![Windows Build Status](https://img.shields.io/appveyor/ci/ndmitchell/tagsoup.svg?label=Windows%20build)](https://ci.appveyor.com/project/ndmitchell/tagsoup) TagSoup is a library for parsing HTML/XML. It supports the HTML 5 specification, and can be used to parse either well-formed XML, or unstructured and malformed HTML from the web. The library also provides useful functions to extract information from an HTML document, making it ideal for screen-scraping. @@ -84,7 +84,7 @@ putStrLn $ "haskell.org has been hit " ++ count ++ " times" where fromFooter = filter isDigit . innerText . take 2 . dropWhile (~/= "<li id=viewcount>") -Now we start writing the code! The first thing to do is open the required URL, then we parse the code into a list of `Tag`s with `parseTags`. The `fromFooter` function does the interesting thing, and can be read left to right: +Now we start writing the code! The first thing to do is open the required URL, then we parse the code into a list of `Tag`s with `parseTags`. The `fromFooter` function does the interesting thing, and can be read right to left: * First we throw away everything (`dropWhile`) until we get to an `li` tag containing `id=viewcount`. The `(~==)` operator is different from standard equality, allowing additional attributes to be present. We write `"<li id=viewcount>"` as syntactic sugar for `TagOpen "li" [("id","viewcount")]`. If we just wanted any open tag with the given id we could have written `(~== TagOpen "" [("id","viewcount")])` and this would have matched. Any empty strings in the second element of the match are considered as wildcards. * Next we take two elements, the `<li>` tag and the text node immediately following. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.13.6/TagSoup/Test.hs new/tagsoup-0.13.7/TagSoup/Test.hs --- old/tagsoup-0.13.6/TagSoup/Test.hs 2015-12-23 15:49:00.000000000 +0100 +++ new/tagsoup-0.13.7/TagSoup/Test.hs 2016-01-09 22:21:31.000000000 +0100 @@ -116,6 +116,7 @@ parseTags "hello & world" === [TagText "hello & world"] parseTags "hello @ world" === [TagText "hello @ world"] parseTags "hello @ world" === [TagText "hello @ world"] + parseTags "hello @ world" === [TagText "hello @ world"] parseTags "hello &haskell; world" === [TagText "hello &haskell; world"] parseTags "hello \n\t world" === [TagText "hello \n\t world"] parseTags "<a href=http://www.google.com>" === [TagOpen "a" [("href","http://www.google.com")]] @@ -214,6 +215,7 @@ lookupNumericEntity "x41" === Just "A" lookupNumericEntity "x4E" === Just "N" lookupNumericEntity "x4e" === Just "N" + lookupNumericEntity "X4e" === Just "N" lookupNumericEntity "Haskell" === Nothing lookupNumericEntity "" === Nothing lookupNumericEntity "89439085908539082" === Nothing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.13.6/Text/HTML/TagSoup/Entity.hs new/tagsoup-0.13.7/Text/HTML/TagSoup/Entity.hs --- old/tagsoup-0.13.6/Text/HTML/TagSoup/Entity.hs 2015-12-23 15:49:00.000000000 +0100 +++ new/tagsoup-0.13.7/Text/HTML/TagSoup/Entity.hs 2016-01-09 22:21:31.000000000 +0100 @@ -26,6 +26,7 @@ -- > lookupNumericEntity "x41" == Just "A" -- > lookupNumericEntity "x4E" === Just "N" -- > lookupNumericEntity "x4e" === Just "N" +-- > lookupNumericEntity "X4e" === Just "N" -- > lookupNumericEntity "Haskell" == Nothing -- > lookupNumericEntity "" == Nothing -- > lookupNumericEntity "89439085908539082" == Nothing @@ -33,7 +34,7 @@ lookupNumericEntity = f -- entity = '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' where - f ('x':xs) = g [('0','9'),('a','f'),('A','F')] readHex xs + f (x:xs) | x `elem` "xX" = g [('0','9'),('a','f'),('A','F')] readHex xs f xs = g [('0','9')] reads xs g :: [(Char,Char)] -> ReadS Integer -> String -> Maybe String diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.13.6/tagsoup.cabal new/tagsoup-0.13.7/tagsoup.cabal --- old/tagsoup-0.13.6/tagsoup.cabal 2015-12-23 15:49:00.000000000 +0100 +++ new/tagsoup-0.13.7/tagsoup.cabal 2016-01-09 22:21:31.000000000 +0100 @@ -1,10 +1,10 @@ cabal-version: >= 1.6 name: tagsoup -version: 0.13.6 -copyright: Neil Mitchell 2006-2015 +version: 0.13.7 +copyright: Neil Mitchell 2006-2016 author: Neil Mitchell <ndmitch...@gmail.com> maintainer: Neil Mitchell <ndmitch...@gmail.com> -homepage: http://community.haskell.org/~ndm/tagsoup/ +homepage: https://github.com/ndmitchell/tagsoup#readme bug-reports: https://github.com/ndmitchell/tagsoup/issues license: BSD3 category: XML