Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge latest master #8

Draft
wants to merge 159 commits into
base: master
Choose a base branch
from
Draft

Conversation

pombredanne
Copy link
Member

@pombredanne pombredanne commented Apr 21, 2020

This is a draft PR to track upstream (which has diverged so much that this PR will likely never ever be merged)

Evan Leif Battaglia and others added 26 commits September 20, 2018 16:06
would have saved me lots of hassle
For Python 2, the `Robots.__str__` function was returning a unicode object
instead of a `str` (bytes) object. This had two problems:

* For invalid UTF-8, the `decode()` method was raising a
  UnicodeDecodeError. Really, we should just be returning the raw bytes so we
  should not be worrying about encodings here. However, in Python 3 this
  problem will still exist. I'm not sure what the right answer is here,
  if we want to use `.decode('utf-8', 'replace')`? In this case --
  `Robots.__str__` is just debug information -- we might want to just do
  that.
* Even for valid UTF-8, if there are non-ASCII characters, Python 2 will
  convert the unicode object back to bytes via the `str()` function,
  using the ASCII encoding. This will result in a UnicodeEncodeError.
  This problem was Python 2 specific.

For Python 2, both these have been fixed in this commit.
…rors

Fix UnicodeDecode/Encode errors for Python 2
Log errors that happen when fetching from cache
For some reason, cachetools version 3 (released on 2018-11-04) removed
the ability to pass in a `missing` function; apparently this made
the implementation cleaner (see
tkem/cachetools#58). Unfortunately we
use this functionality here.

Rather than require version 2 of cachetools, I thought it would be
better to allow reppy to be used with the new version. Unfortunately,
that means a reimplementation of pretty much exactly what was removed
from cachetools.

I found this because we have a project which uses reppy and its tests
suddenly broke, because pip automatically installed the newer version of
cachetools.
so we test reppy working with the new version of cachetools -- cachetools 3
Rewrite functionality removed from cachetools 3
I consider cachetools breaking current/old reppy to be
enough cause to bump the version of reppy. For background,
that was fixed in reppy here:

#103
* Updates to requirements.txt to include all necessary parts & pin versions.
* Updated version number for fresh target, & made contact info consistent.
@pombredanne pombredanne marked this pull request as draft October 4, 2021 19:01
A case of not including what we use - relying on other headers to
include what intend to include, when what they include should be
considered opaque, to us.
Point to new rep-cpp, which points to new url-cpp, fixing <limits>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants