Skip to content

Releases: earthreader/libearth

libearth 0.3.3

05 Nov 18:32
0.3.3
Compare
Choose a tag to compare
  • Fixed a bug that complete() never terminates for documents read() from a single chunk.

libearth 0.3.2

04 Nov 19:57
0.3.2
Compare
Choose a tag to compare
  • Fixed a bug that SubscriptionLists having Outlines without their created_at attribute failed to be merged on Python 3. [#65]
  • Fixed a bug that a DocumentElement in streamed read mode is not properly marked as complete even when it's completed by complete() function in some cases.

libearth 0.3.1

19 Jul 19:23
Compare
Choose a tag to compare
  • Fixed two backward compatibility breakages:
    • A bug that subcategory changes hadn't been detected when
      SubscriptionLists are merged.
    • A bug that all children outlines become wiped when a category is deleted.

libearth 0.3.0

12 Jul 10:29
Compare
Choose a tag to compare
  • Root MergeableDocumentElements' MergeableDocumentElement.__merge_entities__() methods are not ignored anymore. Respnosibilty to merge two documents is now moved from Session.merge() method to __merge_entities__() method.
  • crawl() now return a set of CrawlResult objects instead of tuples.
  • feeds parameter of crawl() function was renamed to feed_urls.
  • Added feed_uri parameter and corresponding feed_uri attribute to CrawlError exception.
  • Timeout option was added to crawler.
    • Added optional timeout parameter to crawl().
    • Added optional timeout parameter to get_feed().
    • Added DEFAULT_TIMEOUT constant which is 10 seconds.
  • Added LinkList.favicon property. [#49]
  • Link.relation attribute which had been optional now becomes required
  • AutoDiscovery.find_feed_url() method (that returned feed links) was gone. Instead AutoDiscovery.find() method (that returns a pair of feed links and favicon links) was introduced. [#49]
  • Subscription.icon_uri attribute was introduced. [#49]
  • Added an optional icon_uri parameter to SubscriptionSet.subscribe() method. [#49]
  • Added normalize_xml_encoding() function to workaround xml.etree.ElementTree module's encoding detection bug. [#41]
  • Added guess_tzinfo_by_locale() function. [#41]
  • Added microseconds option to Rfc822 codec.
  • Fixed incorrect merge of subscription/category deletion.
    • Subscriptions are now archived rather than deleted.
    • Outline (which is a common superclass of Subscription and Category) now has deleted_at attribute and deleted property.
  • Fixed several rss2 parser bugs.
    • Now the parser accepts several malformed <pubDate> and <lastBuildDate> elements.
    • It become to guess the time zone according to its <language> and the ccTLD (if applicable) when the date time doesn't give any explicit time zone (which is also malformed). [#41]
    • It had ignored <category> elements other than the last one, now it become to accept as many as there are.
    • It had ignored <comments> links at all, now these become to be parsed to Link objects with relation='discussion'.
    • Some RSS 2 feeds put a URI into <generator>, so the parser now treat it as uri rather than value for such situation.
    • <enclosure> links had been parsed as Link object without relation attribute, but it becomes to properly set the attribute to 'enclosure'.
    • Mixed <link> elements with Atom namespace also becomes to be parsed well.
  • Fixed several atom parser bugs.
    • Now it accepts obsolete PURL Atom namespace.
    • Since some broken Atom feeds (e.g. Naver Blog) provide date time as RFC 822 format which is incorrect according to RFC 4287 (section 3.3), the parser becomes to accept RFC 822 format as well.
    • Some broken Atom feeds (e.g. Naver Blog) use <modified> which is not standard instead of <updated> which is standard, so the parser now treats <modified> equivalent to <updated>.
    • <content> and <summary> can has text/plain and text/html in addition to text and html.
    • <author>/<contributor> becomes ignored if it hasn't any of <name>, <uri>, or <email>.
    • Fixed a parser bug that hadn't interpret omission of link[rel] attribute as 'alternate'.
  • Fixed the parser to work well even if there's any file separator characters (FS, '\x1c').

libearth 0.2.1

12 Jul 10:10
Compare
Choose a tag to compare
  • Fixed rss2 parsing error when any empty element occurs.
  • Fixed a bug that validate() function errored when any subelement has Text descriptor.

libearth 0.2.0

22 Apr 14:54
Compare
Choose a tag to compare
  • Session files in .sessions/ directory become to be touched
    only once at a transaction. [#43]
  • Added SubscriptionSet.contains() method which provides
    recursively=True option. It's useful for determining that
    a subcategory or subscription is in the whole tree.
  • Attribute.default option becomes to accept only callable objects. Below 0.2.0,
    default is not a function but a value which is simply used as it is.
  • libearth.parser.heuristic module is gone; and get_format()
    function in the module is moved to libearth.parser.autodiscovery
    module: get_format().
  • Added Link.html property.
  • Added LinkList.permalink property.
  • Fixed a FileSystemRepository bug that conflicts
    reading buffer and emits broken mixed bytes when there are simultaneous
    readings and writings to the same key.
  • Fixed broken functions related to repository urls on Windows.
  • Fixed libearth.compat.parallel.cpu_count() function not to
    raise NotImplementedError in some cases.
  • Fixed Rfc822 to properly work also on non-English locales e.g. ko_KR.

libearth 0.1.2

19 Jan 14:51
Compare
Choose a tag to compare
  • XML elements in data files are written in canonical order. For example,
    <title> element of the feed was at the back before, but now is in front.
  • Fixed a bug that libearth.parser.autodiscovery raises
    AttributeError when the given HTML contains <link> to
    both application/atom+xml and application/rss+xml.
    [#40]
  • Fill <title> to <description> if there's no <title>
    (libearth.parser.rss2).
  • Fill <id> to the feed URL if there's no <id>
    (libearth.parser.atom).

libearth 0.1.1

02 Jan 09:31
Compare
Choose a tag to compare
  • Added a workaround for thread unsafety time.strftime() on CPython.
    See http://bugs.python.org/issue7980 as well. [#32]
  • Fixed UnicodeDecodeError which is raised when a feed title contains
    any non-ASCII characters. [#34 by @euphoris]
  • Now libearth.parser.rss2 fills Entry.updated_at if it's not given. [#35]
  • Fixed TypeError which is raised when any
    DocumentElement with multiple
    Child elements is passed to
    validate() function.
  • Fixed the race condition of two FileSystemRepository objects creating
    the same directory. [#36 by @klutzy]
  • parallel_map() becomes to raise exceptions
    at the last, if any errored. [#38]

libearth 0.1.0

12 Dec 20:19
Compare
Choose a tag to compare

Initial alpha version.