ee4e91d31816918cba7c2744c01a2373dfde439a
Previously any exception that made it all the way up to the default exception handler would be expected to take (errno, string) pairs, as is the python standard for exceptions thrown by system calls. All exceptions that don't take enough arguments throw a ValueError. Based on the errno tested, it appears that this code is meant to silently ignore when a socket receives a SIGINT (from e.g. a timeout.) This seems to be the only instance where handling EINTR in this manner is desired - though having this bubble up this far seems odd. The existing code would also handle any other EINTR, though, which includes those raised by OSError, WindowsError, and anything that subclasses EnvironmentError, barring KeyboardError because it is handled separately. This is a bug as there is already some use of the signals module elsewhere in CouchPotato.py to trap SIGINT and SIGTERM outside of system calls, and most of these other EINTRs should be handled by code lower down the stack. A default exception handler is also added, so that unhandled exceptions will be logged, and raised.
CouchPotato Server
CouchPotato (CP) is an automatic NZB and torrent downloader. You can keep a "movies I want"-list and it will search for NZBs/torrents of these movies every X hours. Once a movie is found, it will send it to SABnzbd or download the torrent to a specified directory.
Description
Languages
Python
91.1%
JavaScript
7%
CSS
1.5%
HTML
0.2%
Shell
0.2%