* 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
Installation_id and node_id are stored in the data dir.
For this reason they should be read/created only after the
config has been parsed.
This way they can be retrieved or stored at the right location.
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
The config file might be stores in an alternate location for several
reasons (i.e. testing different configs or running multiple nodes on the
same host). Make the config file a CLI parameter so that it can be
specified when launching the lbrynet-daemon.
Related to #1039
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
Sometimes it might be helpful to check if a given config
setting is still the default or if it was touched by the user
in any way (e.g. env, config file, ...).
Add is_default() method to Config object to perform such check.
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
* update known commands
* add wallet_unlock, block wallet startup on being unlocked
* add wallet_decrypt and wallet_encrypt
* wallet encryption unit tests
* added use_keyring configuration option in order to make keyring password storage optional