* Pipelining and performance optimisations
* Refactor to remove handle_remainder and add on_response callback to allow inspecting of nntp messages
* Logic fix if there are sockets but nothing to read/write
* Fix logic errors for failed article requests
* Fix logic for reconfiguring servers
* Add guard_restart callback to pipelining_requests
* Fix article download stats
* Fix current article request shown via api
* Removal of DecodingStatus
* Fix circular reference
* Cleanup imports
* Handle reset_nw and hard_reset for inflight requests
* Improve __request_article behaviour using discard helper
* Article should be None here (before auth) but just in case
* Remove command_queue_condition unnecessary with the pull rather than push queue system
* During reset discard any data received prior to sending quit request
* Circular references again
* Revert to using bytearray
* Revert "During reset discard any data received prior to sending quit request"
This reverts commit ed522e3e80.
* Simpler interaction with sabctools
* Temporarily use the sabctools streaming decoder branch
* Fix most uu tests
* Reduce maximum pipelining requests
* Fix the squiggly line
* Remove some LOG_ALL debug code
* Make get_articles return consistent (None) - it now populates the server deque
* Reduce NNTP_BUFFER_SIZE
* Rename PIPELINING_REQUESTS to DEF_PIPELINING_REQUESTS
* A little refactoring
* Reduce default pipelining until it is dynamic
* Use BoundedSemaphore and fix the unacquired release
* Use crc from sabctools for uu and make filename logic consistent wit yenc
* Use sabctools 9.0.0
* Fix Check Before Download
* Move lock to NzbFile
* Use sabctools 9.1.0
* Minor change
* Fix 430 on check before download
* Update sabnews to work reliably with pipelining
* Minor tidy up
* Why does only Linux complain about this
* Leave this as it was
* Remove unused import
* Compare enum by identity
* Remove command_queue and just prepare a single request
Check if it should be sent and discard when paused
* Kick-start idle connections
* Modify events sockets are monitored for
* Update all dependencies
* Pin tavern due to failure in newer versions
* User SABnzbd User-agent in wiki test
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Safihre <safihre@sabnzbd.org>
Closes#1574
Add tests for long paths
Make sure long path is >260
Add rar test file with invalid Windows filenames
Add rar_unpack tests for unicode and passworded sets
Simplify Unrar command building
Add test for rar_invalid_windows
Remove check for 260 chars in rar_unpack
Should never happen anymore
Let Unrar rename invalid filenames
Check full path output if rar_unpack
Add helper for check
Correct test_rar_unpack_invalid_windows_filenames
Apply changes also to Direct Unpacker
Extend testing to make sure full paths are tested
Add tests for long paths inside rar
Unrar auto-rename message is different on Linux
* refactor outgoing interface
* refactor
* rollback old change
* We actually don't need another port
Closes#3153
* refactor
* refactor
* refactor to be compatible with old python versions
* forgot to remove match
* fix no route to host on mac
* fix no route to host on mac + rename interface to ip
* fix black + try to fix windows error
* fix black + try to fix windows error
* fix windows error
* fix windows failure
* rollback optional changes
* Remove optional type
* rollback changes + fix issue
* black change
* refactor
* missing refactor
* deobfuscate_subtitles
* deobfuscate_subtitles: unit test aka pytest
* deobfuscate_subtitles: unit test aka pytest
* deobfuscate_subtitles: no reanem is first part of filename is the samen
* deobfuscate_subtitles: no reanem is first part of filename is the samen
* deobfuscate_subtitles: no reanem is first part of filename is the samen
* deobfuscate_subtitles: more structured unit test method
* deobfuscate_subtitles: back to basic testing method
* deobfuscate_subtitles: cleanup
* deobfuscate_subtitles: cleanup
* deobfuscate_filenames.test_first_file_is_much_bigger() improved
* deobfuscate_subtitles(): checks on biggest file and srt files. input can be directory or filelist.
* rename to clearly_one_biggest_file()
* WIP on develop
* accept work by safihre
* do nothing when not one_file_is_biggest
* a lot of cleanup, also with help of the walrus
* a lot of cleanup, also with help of the walrus
* fix typo's in test_deobfuscate_filenames.py
* Update sabnzbd/postproc.py
Co-authored-by: Safihre <safihre@sabnzbd.org>
* handle review comments
* handle review comments
* remove import glob
* remove special underscore support. Add srt deob info into GUI-history
---------
Co-authored-by: sander <san.d.erjonkers+github@gmail.com>
Co-authored-by: Safihre <safihre@sabnzbd.org>
* Added tests cases to wrap calls to the Apprise integration
* workaround to default config getting lost from test_misc.py
* 100% test coverage in send_apprise()