As per comments in #288, Firefox forces a "what do you want to do with this"-dialog for 'attachment' even when it's set to open them immediately in another program.
* Replace all `from nyaa import app` imports with `app = flask.current_app` (or `from flask import current_app as app` where possible)
* Add a separate config object for top-level and class statements as `nyaa.extensions.config`
Required because those codes don't have app context at the time of evaluation/execution.
* Remove `routes.py` file and register all blueprints in `nyaa/__init__.py`
* Refactor `nyaa/__init__.py` into an app factory
* Update tools
* Update tests (temporary, will be replaced)
url-list is supposed to be omitted in case of no webseeds,
but qB will instead use an empty bytestring '' as the value.
This commit makes the validation more lenient regarding url-list.
* Update Travis to Trusty Q2 (they fixed the issue it had before, it works now)
* Fix charset in database creation on Travis to use `utf8mb4_unicode_ci`.
* Update isort settings
* Apply import sorting (isort) on all files in nyaa/
* Fixed Flake8 errors in nyaa/ (see PR for list)
* Add isort to lint.sh and requirements.txt
read(1) returns b'' on EOF, which wasn't checked for in a couple cases,
which could cause empty/truncated input to enter one of the `while True`
loops without hope of exit. programming is hard.
This changes the tracker announce URL message to be one of those
bootstrap alert bubbles, and adds an additional warning which tells
people to read the rules and not upload off-topic crap.
* Make rfc822 filters compatible with Windows systems.
.strftime() is relative to the system it's being run on.
UNIX has '%s' for seconds since the EPOCH, Windows doesn't (ValueError).
Solution: use .timestamp() to achieve the same result on both platforms.
This also allows us to drop the float() around it, since it returns a float.
* Start testing filters
* Add placeholders for more tests
* Make 'tests' folder a Python package
Now you can run tests with just `pytest tests`
* Update readme and travis config
* Test timesince()
* Update and organize .gitignore
Deleted: (nothing)
Added: Coverage files, .idea\
* Test filter_truthy, category_name
* Tests for backend.py
* Tests for bencode.py
* Move (empty) test_models.py to tests package
* Tests for utils.py
* Fixes for flattenDict
* Change name to `flatten_dict`
* `newkey` was assigned but never used
* Add a helper class for testing
* Show coverage on Travis
(only Travis for now...)
* Remove IDE
* Use correct assert functions
* Update README.md