Kaliko Jack [Sat, 5 Dec 2020 08:44:44 +0000 (09:44 +0100)]
ci: Install a single package only with pip.
Latest pip version raises a conflict running `pip install dist/*` :
$ pip install dist/*
Processing ./dist/python-musicpd-0.4.5.tar.bz2
Processing ./dist/python-musicpd-0.4.5.tar.gz
ERROR: Cannot install python-musicpd 0.4.5 (from /builds/kaliko/python-musicpd/dist/python-musicpd-0.4.5.tar.bz2) and python-musicpd 0.4.5 (from /builds/kaliko/python-musicpd/dist/python-musicpd-0.4.5.tar.gz) because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested python-musicpd 0.4.5 (from /builds/kaliko/python-musicpd/dist/python-musicpd-0.4.5.tar.bz2)
The user requested python-musicpd 0.4.5 (from /builds/kaliko/python-musicpd/dist/python-musicpd-0.4.5.tar.gz)
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
J. Alexander Treuman [Tue, 14 Dec 2010 01:14:27 +0000 (20:14 -0500)]
README.txt: removing warning about iterate = True
Iterators are considered safe now, as all programming errors now raise an
exception instead of breaking horribly. No need to scare people away from
it anymore.
J. Alexander Treuman [Mon, 29 Nov 2010 01:36:36 +0000 (20:36 -0500)]
mpd.py: updating _connect_tcp() with new socket code
_connect_tcp() is largely based on Python's socket.create_connection().
Previously, this code contained two bugs related to raising exceptions.
The first bug was introduced by my clumsy attempt to update the code to use
the new preferred method of raising exceptions (the same mistake was made
in the Python 3 port of the socket module). Instead of raising
socket.error with the value of the original exception, socket.error was
raised with the original exception as the value of the new exception, thus
nesting an exception within an exception. Python 3.1.3 fixed this by
simply re-raising the original exception.
The second bug is hit when getaddrinfo() returns an empty list. A
socket.error is raised with a single string as its argument, instead of a
2-tuple as required by its parent class, IOError. This bug continues to
persist in Python 3.1.3 as well as the latest svn tree.
This commit updates _connect_tcp() to be a nearly identical copy of the
Python 3.1.3 version of socket.create_connection(), except that
ConnectionError is raised when getaddrinfo() returns an empty list.
J. Alexander Treuman [Thu, 15 Jul 2010 21:52:54 +0000 (17:52 -0400)]
mpd.py: clear command list if an exception is raised
This fixes a very longstanding bug where an MPD command error would raise
an exception, but not clear the command list. This would prevent further
commands from being executed until the command list was completed, which
was impossible since the MPD command error broke out of the command list
on the server side.
J. Alexander Treuman [Thu, 15 Jul 2010 21:49:53 +0000 (17:49 -0400)]
mpd.py: unset iterating flag if an exception is raised
This fixes a bug where an MPD command error would raise an exception, but
leave the iterating flag set, preventing further commands from being
executed.
J. Alexander Treuman [Thu, 15 Jul 2010 21:12:53 +0000 (17:12 -0400)]
mpd.py: check if iterating before fetching response
If an iterator is currently in progress, all functions which fetch a
response (such as <cmd>() and fetch_<cmd>()) will be disabled, as well as
command lists. This makes iterators much more reliable by preventing code
from reading a response while an iterator is trying to read another
response. Previously this was allowed, and would corrupt the library state
by providing false responses to both the iterator and the code trying to
fetch a different response.