Hello community, here is the log from the commit of package ghc-tagsoup for openSUSE:Factory checked in at 2018-10-25 08:19:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-tagsoup (Old) and /work/SRC/openSUSE:Factory/.ghc-tagsoup.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-tagsoup" Thu Oct 25 08:19:00 2018 rev:16 rq:642898 version:0.14.7 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-tagsoup/ghc-tagsoup.changes 2018-07-21 10:23:21.378984503 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-tagsoup.new/ghc-tagsoup.changes 2018-10-25 08:19:03.947999085 +0200 @@ -1,0 +2,8 @@ +Wed Oct 10 19:23:58 UTC 2018 - psim...@suse.com + +- Update tagsoup to version 0.14.7. + 0.14.7, released 2018-09-18 + #75, escape single quote (') characters as ' + #72, update some dead URLs + +------------------------------------------------------------------- Old: ---- tagsoup-0.14.6.tar.gz New: ---- tagsoup-0.14.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-tagsoup.spec ++++++ --- /var/tmp/diff_new_pack.xBWJc8/_old 2018-10-25 08:19:04.363998901 +0200 +++ /var/tmp/diff_new_pack.xBWJc8/_new 2018-10-25 08:19:04.363998901 +0200 @@ -12,14 +12,14 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global pkg_name tagsoup %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.14.6 +Version: 0.14.7 Release: 0 Summary: Parsing and extracting information from (possibly malformed) HTML/XML documents License: BSD-3-Clause ++++++ tagsoup-0.14.6.tar.gz -> tagsoup-0.14.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.14.6/CHANGES.txt new/tagsoup-0.14.7/CHANGES.txt --- old/tagsoup-0.14.6/CHANGES.txt 2018-02-27 18:10:30.000000000 +0100 +++ new/tagsoup-0.14.7/CHANGES.txt 2018-09-18 16:52:57.000000000 +0200 @@ -1,5 +1,8 @@ Changelog for TagSoup +0.14.7, released 2018-09-18 + #75, escape single quote (') characters as ' + #72, update some dead URLs 0.14.6, released 2018-02-27 Fix up source positions on bogus <! markers 0.14.5, released 2018-02-27 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.14.6/README.md new/tagsoup-0.14.7/README.md --- old/tagsoup-0.14.6/README.md 2018-02-27 18:10:30.000000000 +0100 +++ new/tagsoup-0.14.7/README.md 2018-09-18 16:52:57.000000000 +0200 @@ -1,8 +1,8 @@ -# 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 [![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/nightly?label=Stackage)](https://www.stackage.org/package/tagsoup) [![Linux Build Status](https://img.shields.io/travis/ndmitchell/tagsoup/master.svg?label=Linux%20build)](https://travis-ci.org/ndmitchell/tagsoup) [![Windows Build Status](https://img.shields.io/appveyor/ci/ndmitchell/tagsoup/master.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. -The library provides a basic data type for a list of unstructured tags, a parser to convert HTML into this tag type, and useful functions and combinators for finding and extracting information. This document gives two particular examples of scraping information from the web, while a few more may be found in the [Sample](https://github.com/ndmitchell/tagsoup/blob/master/TagSoup/Sample.hs) file from the source repository. The examples we give are: +The library provides a basic data type for a list of unstructured tags, a parser to convert HTML into this tag type, and useful functions and combinators for finding and extracting information. This document gives two particular examples of scraping information from the web, while a few more may be found in the [Sample](https://github.com/ndmitchell/tagsoup/blob/master/test/TagSoup/Sample.hs) file from the source repository. The examples we give are: * Obtaining the last modified date of the Haskell wiki * Obtaining a list of Simon Peyton Jones' latest papers @@ -10,7 +10,7 @@ The intial version of this library was written in Javascript and has been used for various commercial projects involving screen scraping. In the examples general hints on screen scraping are included, learnt from bitter experience. It should be noted that if you depend on data which someone else may change at any given time, you may be in for a shock! -This library was written without knowledge of the Java version of [TagSoup](http://home.ccil.org/~cowan/XML/tagsoup/). They have made a very different design decision: to ensure default attributes are present and to properly nest parsed tags. We do not do this - tags are merely a list devoid of nesting information. +This library was written without knowledge of the Java version of [TagSoup](https://github.com/jukka/tagsoup). They have made a very different design decision: to ensure default attributes are present and to properly nest parsed tags. We do not do this - tags are merely a list devoid of nesting information. #### Acknowledgements @@ -252,10 +252,10 @@ ``` ## Other Examples -In [Sample.hs](https://github.com/ndmitchell/tagsoup/blob/master/TagSoup/Sample.hs) -the following additional examples are listed: +In [Sample.hs](https://github.com/ndmitchell/tagsoup/blob/master/test/TagSoup/Sample.hs) +the following additional examples are listed: -- Google Tech News +- Google Tech News - Package list form Hackage - Print names of story contributors on sequence.complete.org - Parse rows of a table @@ -263,10 +263,10 @@ ## Related Projects -* [TagSoup for Java](http://tagsoup.info/) - an independently written malformed HTML parser for Java. Including [links to other](http://tagsoup.info/#other) HTML parsers. +* [TagSoup for Java](https://github.com/jukka/tagsoup) - an independently written malformed HTML parser for Java. * [HXT: Haskell XML Toolbox](http://www.fh-wedel.de/~si/HXmlToolbox/) - a more comprehensive XML parser, giving the option of using TagSoup as a lexer. * [Other Related Work](http://www.fh-wedel.de/~si/HXmlToolbox/#rel) - as described on the HXT pages. * [Using TagSoup with Parsec](http://therning.org/magnus/posts/2008-08-08-367-tagsoup-meet-parsec.html) - a nice combination of Haskell libraries. -* [tagsoup-parsec](http://hackage.haskell.org/package/tagsoup-parsec) - a library for easily using TagSoup as a token type in Parsec. -* [tagsoup-megaparsec](http://hackage.haskell.org/package/tagsoup-megaparsec) - a library for easily using TagSoup as a token type in Megaparsec. -* [WraXML](http://hackage.haskell.org/packages/archive/wraxml/latest/doc/html/Text-XML-WraXML-Tree-TagSoup.html) - construct a lazy tree from TagSoup lexemes. +* [tagsoup-parsec](https://hackage.haskell.org/package/tagsoup-parsec) - a library for easily using TagSoup as a token type in Parsec. +* [tagsoup-megaparsec](https://hackage.haskell.org/package/tagsoup-megaparsec) - a library for easily using TagSoup as a token type in Megaparsec. +* [WraXML](https://hackage.haskell.org/packages/archive/wraxml/latest/doc/html/Text-XML-WraXML-Tree-TagSoup.html) - construct a lazy tree from TagSoup lexemes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.14.6/src/Text/HTML/TagSoup/Entity.hs new/tagsoup-0.14.7/src/Text/HTML/TagSoup/Entity.hs --- old/tagsoup-0.14.6/src/Text/HTML/TagSoup/Entity.hs 2018-02-27 18:10:30.000000000 +0100 +++ new/tagsoup-0.14.7/src/Text/HTML/TagSoup/Entity.hs 2018-09-18 16:52:57.000000000 +0200 @@ -67,16 +67,14 @@ -- > escapeXML "hello & world" == "hello & world" escapeXML :: String -> String escapeXML = concatMap $ \x -> IntMap.findWithDefault [x] (ord x) mp - where mp = IntMap.fromList [(ord b, "&"++a++";") | (a,[b]) <- xmlEntities] + where mp = IntMap.fromList [(ord b, "&"++a++";") | (a,[b]) <- ("#39","\'"):xmlEntities] -- | A table mapping XML entity names to resolved strings. All strings are a single character long. --- Does /not/ include @apos@ as Internet Explorer does not know about it. xmlEntities :: [(String, String)] xmlEntities = let a*b = (a,[b]) in ["quot" * '"' ,"amp" * '&' - -- ,"apos" * '\'' -- Internet Explorer does not know that ,"lt" * '<' ,"gt" * '>' ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.14.6/tagsoup.cabal new/tagsoup-0.14.7/tagsoup.cabal --- old/tagsoup-0.14.6/tagsoup.cabal 2018-02-27 18:10:30.000000000 +0100 +++ new/tagsoup-0.14.7/tagsoup.cabal 2018-09-18 16:52:57.000000000 +0200 @@ -1,6 +1,6 @@ cabal-version: >= 1.18 name: tagsoup -version: 0.14.6 +version: 0.14.7 copyright: Neil Mitchell 2006-2018 author: Neil Mitchell <ndmitch...@gmail.com> maintainer: Neil Mitchell <ndmitch...@gmail.com> @@ -11,7 +11,7 @@ license-file: LICENSE build-type: Simple synopsis: Parsing and extracting information from (possibly malformed) HTML/XML documents -tested-with: GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2 +tested-with: GHC==8.4.3, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2 description: 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagsoup-0.14.6/test/TagSoup/Test.hs new/tagsoup-0.14.7/test/TagSoup/Test.hs --- old/tagsoup-0.14.6/test/TagSoup/Test.hs 2018-02-27 18:10:30.000000000 +0100 +++ new/tagsoup-0.14.7/test/TagSoup/Test.hs 2018-09-18 16:52:57.000000000 +0200 @@ -205,8 +205,8 @@ rp "<?xml foo?>" === "<?xml foo ?>" rp "<?xml foo?>" === "<?xml foo ?>" rp "<!-- neil -->" === "<!-- neil -->" - rp "<a test=\"a'b\">" === "<a test=\"a'b\">" - escapeHTML "this is a &\" <test> '" === "this is a &" <test> '" + rp "<a test=\"a'b\">" === "<a test=\"a'b\">" + escapeHTML "this is a &\" <test> '" === "this is a &" <test> '" check $ \(HTML x) -> let y = rp x in rp y == (y :: String)