Key here was removing pytest-xdist from setup.py's "install_requires" list.
Otherwise running the test suite under Guix would fail with something like:
pkg_resources.ContextualVersionConflict: (pytest 5.3.5 (/gnu/store/9clwgf5svincpw3fbjcijdlw9mylyzn3-profile/lib/python3.8/site-packages), Requirement.parse('pytest>=6.0.0'), {'pytest-xdist'})
Have temporarily included libsndfile and python-soundfile until these changes
get merged into Guix upstream.
Identified that Guix's older python-wtforms 2.1 is not compatible with the test
suite.
Issue is that Werkzeug > 1.0.0 has removed werkzeug.contrib.atom.AtomFeed,
making it difficult to use a distribution-packaged version of werkzeug. To solve
this, I've replaced use of werkzeug.contrib.atom.AtomFeed with
feedgenerator.Atom1Feed.
After the change, the only major difference between the feeds before and after is
that they use <summary> instead of <content>. Minor differences include no longer
adding 'type="text/html"' on some <link> elements and no "xml:base" attribute on
<entry> elements. I don't think these differences will have any noticable
effect.
Tested on Liferea feed reader.
The latest version is 1.4.0b1 which changes some internals a bit... internals
which unforuntately mediagoblin's DatabaseManager screw around with
(namely, _decl_class_registry)
Signed-off-by: Ben Sturmfels <ben@sturm.com.au>
The `audiotospectrogram` module is a complete rewrite of the existing spectrogram
code with support for Python 3. This allows us to drop the bundled `freesound`
library and Python 2-only `audioprocessing` and `spectrogram` modules.
Signed-off-by: Ben Sturmfels <ben@sturm.com.au>
This fixes the installation process *right now* on Python 2. The problem is that
packages are dropping Python 2 support all over the place and due to
our (deliberate) loose dependency version specifications and the loose
sub-dependency version specifications, it's one horrible mess. But it works
right now.
Next up I'll be pinning all the currently installed Python 2 packages and all
dependencies.
Some users report that even with version <4.0 specified in setup.py,
the 4.0-rc builds of kombu and celery were still being downloaded.
This patch uses a different version syntax as suggested in a Stack
Overflow thread.
https://stackoverflow.com/a/14405269
Test was failing due to API change in WebTest around accessing cookies set in the test client. These are now in `test_app.cookies`.
While there are currently 48 other tests failing, I've verified that before and after this change that the same number fail. I've also checked that no other tests use the old API for accessing test client cookies.
I've pinned to version 2.0.18. My understanding is that it's generally a good idea to pin to a specific version where possible to avoid the "why has this suddenly broken" type bugs. This also seems appropriate since WebTest appears to be very stable.
mock recently dropped Python 2.6 support and then
re-introduced it in its latest release (however,
it's a bit unstable right now).
I think at this point, we can be more cautious
and just use mock==1.0.1.
If we don't speficify a version for 'requests', Debian installs
v2.4.x, but there is an issue with urllib3 and pyopenssl in versions
prior to 2.6.0. This issue caused our installs to fail.
Updating our requirement to 2.6.0 or greater resolves this issue
and allows our installation processes to proceed normally.
`