Releases: earthreader/libearth
Releases · earthreader/libearth
libearth 0.3.3
libearth 0.3.2
- Fixed a bug that
SubscriptionList
s havingOutline
s without theircreated_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 bycomplete()
function in some cases.
libearth 0.3.1
- Fixed two backward compatibility breakages:
- A bug that subcategory changes hadn't been detected when
SubscriptionList
s are merged. - A bug that all children outlines become wiped when a category is deleted.
- A bug that subcategory changes hadn't been detected when
libearth 0.3.0
- Root
MergeableDocumentElement
s'MergeableDocumentElement.__merge_entities__()
methods are not ignored anymore. Respnosibilty to merge two documents is now moved fromSession.merge()
method to__merge_entities__()
method. crawl()
now return a set ofCrawlResult
objects instead oftuple
s.feeds
parameter ofcrawl()
function was renamed tofeed_urls
.- Added
feed_uri
parameter and correspondingfeed_uri
attribute toCrawlError
exception. - Timeout option was added to crawler.
- Added optional
timeout
parameter tocrawl()
. - Added optional
timeout
parameter toget_feed()
. - Added
DEFAULT_TIMEOUT
constant which is 10 seconds.
- Added optional
- Added
LinkList.favicon
property. [#49] Link.relation
attribute which had been optional now becomes requiredAutoDiscovery.find_feed_url()
method (that returned feed links) was gone. InsteadAutoDiscovery.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 toSubscriptionSet.subscribe()
method. [#49] - Added
normalize_xml_encoding()
function to workaroundxml.etree.ElementTree
module's encoding detection bug. [#41] - Added
guess_tzinfo_by_locale()
function. [#41] - Added
microseconds
option toRfc822
codec. - Fixed incorrect merge of subscription/category deletion.
- Subscriptions are now archived rather than deleted.
Outline
(which is a common superclass ofSubscription
andCategory
) now hasdeleted_at
attribute anddeleted
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 toLink
objects withrelation='discussion'
. - Some RSS 2 feeds put a URI into
<generator>
, so the parser now treat it asuri
rather thanvalue
for such situation. <enclosure>
links had been parsed asLink
object withoutrelation
attribute, but it becomes to properly set the attribute to'enclosure'
.- Mixed
<link>
elements with Atom namespace also becomes to be parsed well.
- Now the parser accepts several malformed
- 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 hastext/plain
andtext/html
in addition totext
andhtml
.<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
- Fixed
rss2
parsing error when any empty element occurs. - Fixed a bug that
validate()
function errored when any subelement hasText
descriptor.
libearth 0.2.0
- 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; andget_format()
function in the module is moved tolibearth.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
raiseNotImplementedError
in some cases. - Fixed
Rfc822
to properly work also on non-English locales e.g.ko_KR
.
libearth 0.1.2
- 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
bothapplication/atom+xml
andapplication/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
- 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
fillsEntry.updated_at
if it's not given. [#35] - Fixed
TypeError
which is raised when any
DocumentElement
withmultiple
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
Initial alpha version.