-add get_component method to ComponentManager
-add override_components kwargs to ComponentManager
-add skip_components to ComponentManager
-change component_manager attribute to exist on the AuthJSONRPCServer instance instead of the class
* add daemon Component and ComponentManager classes
* convert directory and SQLiteStorage setup to be a Component
* support callbacks to component setups
* Fixed typo in ComponentManager
* convert wallet to be Component
* Use storage from session.
* Remove create_session internal function and PEP8
* Starting to convert session to its own component. Removed ref to `self.storage` from Daemon.py
* Making DHT component(broken)
* Refactored classes to reduce redundancy in getting config setting
* DHT is now it's own component
* Fixed `test_streamify` test
* Fixed regression caused by removing `peer_manager` from session
* refactor ComponentManager and Component to use instance instead of class methods
* Hash announcer, file manager, stream identifier components
* Query Handler and server components
* Reflector Component
* Fixed test_streamify(well Jack did, but ¯\_(ツ)_/¯)
* All tests now passing
* Pylint fixes
* Oops(That's all you're gonna get :-P)
* Making decorators(WIP, commit so that I don't lose work)
* Decorator made and decorating of functions done(some other changes)
* import fixes and removed temporary test function
* Fixed new broken tests from daemon refactor
* Sanitization of modules
* Reworded errors
* wallet unlock condition checks, fixed breaking changes
* Rebased on amster and other crazy stuff
* Started writing tests
* Tests for component manager
* Fix Daemon Tests
* Fixed passing mutable args in init
* Using constants instead of strings. Added CHANGELOG.md
* Now components can be skipped by setting relevant config in file.
* P-Y-L-I-N-T #angry_emoji
-user starts a httpauthsession with an api key and name
-user initializes jsonrpc hmac secret to sha256 of session id
-server sends new random hmac secret after each api call
-a user without an authenticated session will get a authorization error
If an invalid stream descriptor hash is entered, abort and
give a useful error.
If a name doesn't resolve, abort and give a useful error.
If a name resolves to something invalid, abort and give a useful error.
More specific exceptions are raised when problems are encountered
looking up metadata and validating stream descriptor files, and
on the GUI those more specific exceptions are used to prevent
errors from being presented to the user.
If the user has selected the option to re-upload data for some
stream, blobs downloaded for that purpose will not be deleted
when they are finished being output. Instead, by default, for
the GUI they will be deleted when the stream is removed from
the GUI. That can be changed so they are not deleted at all,
using the lbry.conf file.