* Implement regex to match the filename in the content-disposition header.
The following srings will match:
filename=Zombie.Land.Saga.Revenge.S02E12.480p.x264-mSD.nzb; filename*=UTF-8''Zombie.Land.Saga.Revenge.S02E12.480p.x264-mSD.nzb
filename=Zombie.Land.Saga.Revenge.S02E12.480p.x264-mSD.nzb;
filename*=UTF-8''Zombie.Land.Saga.Revenge.S02E12.480p.x264-mSD.nzb
* Missed quote
* Implement the mailbox/Message solution
* Add basic tests
* Add `attachment;`
* Add example with attachment.
* Fix some linting.
* Added edge case tests.
* Added comment.
* Added test to include path elements.
* Only try the content-disposition header when it has `filename` in it
* Project uses double quotes.
* Update test.
* Add `attachment;`
* black formatter
* remove release names.
* trailing commas
* quote enclosures
* Always deobfuscate names from par2
* Different par2 test
* Different par2 test take 2
* Make par2 filename decoding optional and add some typing
* Rename variable
* record new files generated based on par2
* record new files generated based on par2
* test first par2 based renaming, then deobfuscate obfuscated names
* remove commented-out line
* corrected contents zip-file
* try again, github
* try again, github
The side effect of this change is also that if you have an nzb-backup dir with the file already present that this second will be found duplicate, even before the first job has finished in the queue. Relates to #727
* Use guessit for sorting and sample detection
* Fix bad logic in is_sample
* address comments, pt. 1
* address comments pt. 2
* address comments, pt. 3
* don't reference title before assignment
* whoops... overlooked the lowercasing
* add another title safeguard
* prevent uninitialized use of variable
* fix for jobs that should not be sorted
* don't list excluded guessit props in the interface
* insert linebreak between guessit props under pattern key
* use constant for excluded props
* dump COUNTRY_REP
* block rebulk log spam
* remove redundant season default; don't set for episodes
* make substitution regex a raw str
* correct_extension: basics, including unittest
* correct_extension: basics, including unittest
* correct_extension: puremagic into requirements.txt
* correct_extension: introduce a main for testing from CLI
* correct_extension: parse all parameters on CLI as files
* correct_extension: parse all parameters on CLI as files
* correct_extension: CLI parameter "-p" for privacy output
* correct_extension: has_common_extension() and most_likely_extension()
* correct_extension: has_common_extension() and most_likely_extension()
* correct_extension: add extension if file has no commonly used extension
* correct_extension: Black happy ... hopefully
* correct_extension: Black happy ... hopefully
* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples
* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples
* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples
* correct_extension: process feedback, mainly the extenions lists ^H^H^H^ tuples
* correct_extension: cleaned up
* correct_extension: cleaned up ... github-black now happy?
* correct_extension: cleaned up ... github-black now happy?
* correct_extension: cleaned up ... github-black now happy?
* correct_extension: cleaned up ... github-black now happy?
* correct_extension: cleaned up ... github-black now happy?
* correct_extension: easier if-then-logic, check if new_extension_to_add is filled.
* correct_extension: if puremagic does recoging txt or nzb, check ourselves
* correct_extension: if puremagic does recoging txt or nzb, check ourselves
* correct_extension: only files!
* correct_extension: only files!
* correct_extension: rNN files not common extension, plus easier testing
* correct_extension: clean-up ... no more boolean extension_too
* correct_extension: requirements.txt, solved a TODO, and use get_ext()
* correct_extension: a comment added
* correct_extension: correct typing, correct txt and nzb extension
* correct_extension: extensions always with dots, bug fix in what_is_most_likely_extension()
* correct_extension: back on track?
* correct_extension: back on track?
* correct_extension: better comments
* deobfuscate: rename accompanying (smaller) files with same basename
* deobfuscate: do not rename collections of same extension
* deobfuscate: collection ... much easier with one loop, thanks safihre.
* deobfuscate: globber_full, and cleanup
* deobfuscate: unittest test_deobfuscate_big_file_small_accompanying_files
* deobfuscate: unittest test_deobfuscate_collection_with_same_extension
* deobfuscate: unittest test_deobfuscate_collection_with_same_extension
* pre-create subdir it needed
* pre-create subdir it needed: check if already exists
* use os.makedirs() to handle subdir1/subdir2/blabla
* protect against malicous "..", and better naming
* check for Windows \ and POSIX /
* check again within path, typo and formatting
* regex: square brackets
* cleanup: only "/" can occur in par2
* cleanup: better logging
* unit test: testing of filesystem.renamer()
* if subdir specified in par2: let filesystem.renamer() do all the work
* if create_local_directories=True, then renamer() must stay within specified directory. Plus unittest for that.
* if create_local_directories=True, then renamer() must stay within specified directory. Plus unittest for that.
* more comments in code
* use filesystem.create_all_dirs(), less logging, clearer "..", and other feedback from Safihre
* make remote black happy too
* Small changes in wording of comments and error
Co-authored-by: Safihre <safihre@sabnzbd.org>
* add tests for adding nzbs
* restore clean_cache_dir fixture, unbreak utils tests
* include tests for partial and malformed nzbs
* test handling of prio from nzb metadata category
* update params of test_adding_nzbs_malformed
* add metadata to sabnews nzb creator
* also test with size_limit
* test prio with dupe detection
* remove leftover todo entry
* move pause and cleanup to fixture; rename functions