* 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)
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.
* 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