Commit graph

638 commits

Author SHA1 Message Date
Jack
ec4f9011b9 meaningful API error messages 2016-11-11 13:40:19 -05:00
Job Evers‐Meltzer
0736fa506b Merge pull request #266 from lbryio/startup-logging
more logging on startup
2016-11-11 11:11:02 -06:00
Job Evers‐Meltzer
edc89be794 Merge pull request #257 from lbryio/ensure-ui-loads
bug fix: ensure the bundled ui is loaded
2016-11-11 10:26:54 -06:00
Job Evers-Meltzer
3b34bddf0a more logging on startup 2016-11-11 10:14:41 -06:00
Jack Robison
0abc081edc Merge pull request #259 from lbryio/use-whole-message-in-auth
use whole message to make hmac
2016-11-10 17:07:39 -05:00
Alex Liebowitz
87cc487051 Fix deferred for loading user-specified UIs
In UIManager, pass self._load_ui into deferred as function object
instead of calling immediately
2016-11-10 03:47:32 -05:00
Jack Robison
5ea945ca0b Merge pull request #249 from lbryio/settings-bugs
fix --wallet argument bug, use .json conf file if not given a .yml file
2016-11-09 16:53:46 -05:00
Job Evers-Meltzer
09d248b3cc bug fix: ensure the bundled ui is loaded 2016-11-09 13:34:04 -06:00
Job Evers-Meltzer
61a354fa60 add bad-whitespace check to pylint 2016-11-09 11:27:07 -06:00
Job Evers-Meltzer
838508f342 Bundle the UI into non-tagged builds.
Updates the UIManager to check if a bundled UI was included
in the package and preferentially use that.
2016-11-09 09:29:39 -06:00
Job Evers‐Meltzer
66745b0820 Merge pull request #242 from lbryio/shutdown-issues
Shutdown issues
2016-11-09 08:17:13 -06:00
Job Evers-Meltzer
6a587d03cf refactor upload endpoint 2016-11-09 08:16:08 -06:00
Job Evers-Meltzer
affb7d837a better logging, cleanup whitespace 2016-11-09 08:16:08 -06:00
Jack
ab15074ae4 fix --wallet=lbrycrd argument 2016-11-05 14:10:26 -04:00
Job Evers-Meltzer
5bccfdb244 add logging to shutdown process 2016-11-03 14:42:45 -05:00
Job Evers-Meltzer
10cb20d08f fix whitespace and long-lines 2016-11-03 14:22:16 -05:00
Jack
7d04ae2237 use whole message to make hmac 2016-11-02 11:38:09 -04:00
Job Evers‐Meltzer
dcea8a8c78 Merge pull request #236 from lbryio/better-log-and-kill
More robustly stop the reactor
2016-11-02 07:36:21 -05:00
Job Evers-Meltzer
815696485f More robustly stop the reactor
Was getting a "cannot stop a reactor that isn't running error"
when playing around with error handling on startup.

Following the suggestion from http://stackoverflow.com/a/36738480
it seems to work better
2016-11-02 07:23:37 -05:00
Job Evers‐Meltzer
b316b56885 Merge pull request #234 from lbryio/unicode-settings
download directory and ui bug fixes for windows
2016-11-02 07:19:51 -05:00
Jack
96ef5089fc fix data_dir problem in UIManager 2016-11-01 16:40:50 -04:00
Job Evers-Meltzer
c0d96a5733 fix bug in jsonrpc_get_settings 2016-11-01 15:39:51 -05:00
Job Evers-Meltzer
30533a7986 Read config file in windows and osx
Also moves the config loading to BEFORE the log configuration
2016-11-01 11:14:04 -05:00
Job Evers-Meltzer
3b6006d759 Start listening before launching browser 2016-10-31 14:00:07 -05:00
Job Evers-Meltzer
f03a15d503 remove unneeded 'after_first_run' check 2016-10-30 14:46:16 -05:00
Job Evers-Meltzer
dee0917642 various fixes 2016-10-28 16:57:25 -05:00
Job Evers-Meltzer
395a68b261 For settings: On conversion failure, fallback to default values 2016-10-28 16:29:16 -05:00
Job Evers-Meltzer
353ede26b8 Log error when resolve name fails 2016-10-28 16:03:58 -05:00
Job Evers‐Meltzer
46cfa20f65 Merge pull request #204 from lbryio/cleanup-logging
Cleanup logging
2016-10-28 15:56:54 -05:00
Job Evers-Meltzer
779ba8e214 Fix missing conf imports 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
6f9ec2fa66 remove repeated log code 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
40437e4a82 log cleanup 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
2ee6fac014 redo logging configuration for lbrynet-daemon script 2016-10-28 15:43:04 -05:00
Job Evers-Meltzer
8fe5eb514a make app startup consistent across versions 2016-10-28 15:41:48 -05:00
Job Evers-Meltzer
862055a6de move settings into conf file 2016-10-27 14:31:27 -05:00
Job Evers-Meltzer
2cd6c644a0 Merge remote-tracking branch 'origin/master' into refactor-settings
Conflicts:
	lbrynet/lbrynet_daemon/Daemon.py
	lbrynet/lbrynet_daemon/DaemonControl.py
	lbrynet/lbrynet_daemon/DaemonServer.py
2016-10-27 10:34:48 -05:00
Job Evers-Meltzer
0edacbe4c8 Merge remote-tracking branch 'origin/master' into refactor-settings
Conflicts:
	lbrynet/conf.py
	lbrynet/lbrynet_daemon/Daemon.py
	lbrynet/lbrynet_daemon/DaemonCLI.py
	lbrynet/lbrynet_daemon/UIManager.py
	tests/functional/test_misc.py
2016-10-27 10:18:56 -05:00
Jack
127987f3ba upload log if lbry id is not yet set, clean up crash log 2016-10-26 17:39:47 -05:00
Job Evers-Meltzer
3c7eec9456 raise error if database is newer 2016-10-26 17:39:46 -05:00
Job Evers-Meltzer
5d45345398 shutdown if there are errors during setup 2016-10-26 17:39:43 -05:00
Jack
24320d6444 remove debug line 2016-10-26 03:22:45 -04:00
Jack
1951ea09cd updates from master, more refactoring
-lbrynet.lbrynet_daemon.auth.client.LBRYAPIClient.config will detect if
it needs to return the auth/non-auth version
2016-10-26 03:16:33 -04:00
Job Evers-Meltzer
4d391e7429 Use better json formatting
Apply json.dumps at the end of the formatting process instead of the
middle.  This allows for proper escaping of quotes and allows for
actual json to be emitted.
2016-10-25 17:49:35 -05:00
Job Evers‐Meltzer
fb88cdb445 Merge pull request #203 from lbryio/github-bug
catch exception if github is down
2016-10-24 11:02:12 -05:00
Job Evers-Meltzer
e62e2cc440 catch exception if github is down 2016-10-21 16:12:56 -07:00
Job Evers-Meltzer
a5797cdeb3 Better handling of lbry file search
- replace lbry file search strings with constants
- refactor repeated code for deciding what search type to use
2016-10-20 16:01:54 -07:00
Job Evers-Meltzer
0c2265a8da replace some strings 2016-10-20 11:30:38 -07:00
Job Evers-Meltzer
7f800ce5bb fix rebase error 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
7167d47631 bug fixes 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
8b1bb673c1 report available blobs 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
ddb88eb1c9 move LoopingCallManager to own module 2016-10-20 11:29:58 -07:00
Job Evers-Meltzer
4a07b56e8a refactor analytics manager to use dependency injection 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
f9f07c47e2 move analytics manager 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
f5213fb77a GetFileHelper bug fixes 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
48a61605de bug fix: looping calls 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
76fb7697ff misc 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
b71a3fee43 add tracked metrics reporting to analytics 2016-10-20 11:28:05 -07:00
Job Evers-Meltzer
9416376a34 refactor: add GetFileHelper
Move the code related to getting a lbry file into
its own class
2016-10-20 11:26:10 -07:00
Job Evers-Meltzer
d0a82c68df move analytics related calls into their own class 2016-10-20 11:25:17 -07:00
Job Evers-Meltzer
93e2b3e20a Extract some looping call code out of the daemon 2016-10-20 11:25:17 -07:00
Jack
3f5efb1fa3 fix problems in blobrequester
-also move is_generous_host into a conf setting
2016-10-20 01:35:18 -04:00
Jack Robison
d4aa109b73 Merge pull request #193 from lbryio/check-remote-conn
Use lbry.io instead of google to check for internet connection
2016-10-19 15:06:33 -04:00
Jack
293933163f move USE_AUTH_HTTP to adjustable settings 2016-10-19 14:59:10 -04:00
Jack
22fc26797d pylint fixes 2016-10-19 14:40:01 -04:00
Jack
06a88599df --http-auth flag to use authentication, refactor settings
settings will prefer, in order:
-defaults
-settings in config file
-settings given as environmental variables
-settings given as command line args
2016-10-19 00:12:44 -04:00
Jack
03877f7ebd remove str 2016-10-18 17:11:45 -04:00
Job Evers
6b7d575e95 use lbry.io to check for an internet connection 2016-10-17 20:11:08 -05:00
Job Evers
640db41555 only need lbrycrdd_path when using lbrycrdd 2016-10-17 19:58:04 -05:00
Jack
d860c2a2b4 make publish fail when given an invalid file
otherwise a less obvious error is returned in
lbrynet_daemon.Publisher.Publisher._show_publish_error
2016-10-17 14:25:36 -04:00
Jack
a8a581d35c Merge branch 'master' into auth-jsonrpc
# Conflicts:
#	lbrynet/conf.py
#	lbrynet/core/Error.py
#	lbrynet/lbrynet_daemon/Daemon.py
#	lbrynet/lbrynet_daemon/DaemonControl.py
#	lbrynet/lbrynet_daemon/ExchangeRateManager.py
2016-10-14 18:25:37 -04:00
Alex Liebowitz
988c9595c7 Add default MIME type during publication
Needed because the new JSON schema enforces that the content type is a
string (not null).
2016-10-14 10:37:19 -04:00
Alex Liebowitz
0dd9aa0d67 Update error that daemon catches for malformed metadata
Now jsonschema.ValidationError instead of AssertionError
2016-10-14 10:37:19 -04:00
Job Evers-Meltzer
e647663c34 Fix error when version is None
Logs were reporting:

Failure instance: Traceback: <type 'exceptions.AttributeError'>: StrictVersion instance has no attribute 'version'
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/lbrynet_daemon/DaemonServer.py:121:requestReceived
twisted/web/server.pyc:183:process
twisted/web/server.pyc:234:render
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/lbrynet_daemon/Daemon.py:450:render
--- <exception caught here> ---
twisted/internet/defer.pyc:150:maybeDeferred
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/lbrynet_daemon/Daemon.py:1561:jsonrpc_version
/Volumes/LBRY/LBRY.app/Contents/Resources/lib/python2.7/lbrynet/core/utils.py:39:version_is_greater_than
distutils/version.pyc:140:__cmp__
2016-10-14 10:35:17 -04:00
Jack Robison
32a973943f Merge pull request #173 from lbryio/blob-prices
Blob prices
2016-10-13 14:59:26 -04:00
Jack
19c2264429 clean up 2016-10-13 13:35:55 -04:00
Job Evers‐Meltzer
897c113db1 Merge pull request #180 from lbryio/configure-lbryum
Configure lbryum
2016-10-11 16:46:39 -05:00
Jack
50e5a59420 remove unused imports 2016-10-07 17:29:20 -04:00
Jack
5a0b5dc680 Merge branch 'master' into auth-jsonrpc
# Conflicts:
#	lbrynet/lbrynet_daemon/Daemon.py
#	lbrynet/lbrynet_daemon/DaemonControl.py
2016-10-07 17:11:43 -04:00
Jack
be1803d558 remove unused imports 2016-10-07 14:52:54 -04:00
Jack
84bbf2f76e move set_no_cache into own function 2016-10-07 14:28:38 -04:00
Jack
fe7ea7c679 refactor resources and file streamer into their own files, use NoCacheStaticFile instead of static.File 2016-10-07 14:01:59 -04:00
Jack
782e197e66 Merge branch 'master' into blob-prices 2016-10-05 23:25:39 -04:00
Jack
88be425ab2 fix pylint errors 2016-10-05 23:24:22 -04:00
Job Evers-Meltzer
a71e87a398 throw error when invalid wallet is specified 2016-10-04 13:59:04 -05:00
Job Evers-Meltzer
0ecfad0ae9 add configuration to LBRYumWallet 2016-10-04 13:58:44 -05:00
Job Evers-Meltzer
e909ae566b add TODO 2016-10-03 16:19:58 -05:00
Alex Liebowitz
04ced2e975 Fix import issues in DaemonServer.py 2016-10-02 02:50:17 -04:00
Alex Liebowitz
2253943eba Shorten time between sending chunks of video stream 2016-10-02 02:03:47 -04:00
Alex Liebowitz
a6fcd5d1f2 More refactoring in LBRYStreamProducer 2016-10-01 23:35:07 -04:00
Alex Liebowitz
f245822814 Refactor of LBRYStreamProducer 2016-10-01 23:35:07 -04:00
Alex Liebowitz
aa3aff91d0 Refactor LBRYStreamProducer and add Content-Length header
Also fixes producer pause/unpause behavior and adds slight delay
between sending chunks
2016-10-01 23:33:51 -04:00
Alex Liebowitz
5537dd878f Add basic support for streaming partially downloaded files 2016-10-01 23:29:08 -04:00
Jack
d741c705cd add some tests, don't use lighthouse for cost ests 2016-10-01 01:09:27 -04:00
Jack
640e000b9f fix timeouts in get_availability 2016-09-30 13:35:13 -04:00
Jack
8d961d6ce6 add get_availability 2016-09-30 13:28:01 -04:00
Jack
71b989b29b update from master
resolve merge conflicts:
lbrynet/core/client/BlobRequester.py
lbrynet/core/Peer.py
lbrynet/lbryfilemanager/EncryptedFileManager.py
lbrynet/lbrynet_daemon/Daemon.py
lbrynet/lbrynet_daemon/Publisher.py
2016-09-29 23:34:59 -04:00
Jack
4727ee0403 Merge branch 'master' into refactor-blob-requester 2016-09-29 12:48:34 -04:00
Jack
ff7829a078 Merge branch 'master' into rename-LBRY 2016-09-29 12:47:22 -04:00
Job Evers-Meltzer
6a72b3683e send Download Started event 2016-09-28 09:07:25 -07:00
Job Evers-Meltzer
b201fc331c simplify callback when downloading 2016-09-28 09:06:51 -07:00
Jack
b671a3c2ba Merge branch 'master' into blob-prices 2016-09-27 23:59:14 -04:00
Jack
1cc6b7658c get uploads working
-add error catching in exchange rate manager
-add free data on first request with default negotiation strategy
2016-09-27 23:56:08 -04:00
Job Evers-Meltzer
a099e2db6a fix errors 2016-09-27 11:18:52 -07:00
Job Evers-Meltzer
7dbeb1f2cf Remove LBRY prefix from class and module names
This is the result of running:
    grep -RlI LBRY . | xargs sed -i 's/LBRY\([A-Z]\)/\1/g'
2016-09-27 11:18:35 -07:00
Job Evers-Meltzer
550fd185a3 rename LBRYFile to EncryptedFile 2016-09-27 11:18:16 -07:00
Jack
1720cce3b0 negotiated downloads
-uploads are still underway
2016-09-27 13:52:44 -04:00
Job Evers-Meltzer
078b254d1d rename files to remove LBRY prefix 2016-09-25 18:11:23 -07:00
Job Evers-Meltzer
5ea7c4f016 fix typo in string format 2016-09-25 17:17:48 -07:00
Job Evers-Meltzer
4334cdace1 Refactor blob requester to better seperate out the three requests
Each blob requests has three parts
- A request to see what blobs are available
- A request to download and pay for one of those blobs
- A request to negotiate data costs

Before the refactoring all of the code to accomplish this was mixed into
one class.  They are now three seperate classes.

There is still a lot of room for improvement, but it is at least better than
it was.
2016-09-25 16:55:55 -07:00
Jack Robison
bbcecea28d Merge pull request #165 from lbryio/get-my-claim
add get_my_claim, remove is_mine from get_claim_info response
2016-09-24 01:01:51 -04:00
Jack
dbeb6bc3bc update uri handler 2016-09-21 21:55:10 -04:00
Jack
4d79a7828c more cleaning up 2016-09-21 21:36:06 -04:00
Jack
aecafbbebd clean up 2016-09-21 03:49:52 -04:00
Jack
130f9cfc4d api sessions
-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
2016-09-20 16:58:30 -04:00
Jack
7ad916f116 fix api being blocked for /? pages 2016-09-16 04:12:13 -04:00
Jack
7085b1e3c3 block api requests by referer 2016-09-16 03:40:06 -04:00
Jack
3ae0664fa9 use prettier file format for daemon conf file 2016-09-16 00:14:25 -04:00
Jack
add163a092 move get_params to own function, add some tests 2016-09-15 22:20:00 -04:00
Jack
fcfed3f441 add get_my_claim and get rid of is_mine in get_claim_info 2016-09-15 20:15:20 -04:00
Jack
7b84d9b10a handle no params 2016-09-15 15:04:42 -04:00
Jack
e9a1dbca4b fix windows cli
make cli easier to use on windows by converting keyword args to json

cli now accepts commands like:

lbrynet-cli resolve_name name=one

as well as:

lbrynet-cli resolve_name ‘{“name”: “one”}’
2016-09-15 14:47:32 -04:00
Jack
4cc941fbec make abandon_claim compatible with old function name 2016-09-14 22:36:18 -04:00
Jack
6ea1f6f78c block api calls from bad origins 2016-09-14 17:39:19 -04:00
Jack
3c9c178bdc fix conf update 2016-09-12 15:44:56 -04:00
Jack
a23f2ca956 allow more download attempts after having timed out
-also lower the name cache time
2016-09-12 15:39:19 -04:00
Jack
ccaeecfd46 bug fix 2016-09-12 13:17:21 -04:00
Jack
f352a3c597 rename abandon_name to abandon_claim 2016-09-12 13:16:03 -04:00
Jack
8cdbc847d1 add get_search_servers to allowed_during_startup 2016-09-09 05:11:51 -04:00
Jack
eea5cbbafc add get_search_servers 2016-09-09 04:04:35 -04:00
Jack Robison
e4c61a4a13 Merge pull request #155 from lbryio/get-block-by-height
add 'height' parameter to get_block
2016-09-09 00:57:51 -04:00
Jack
0f0afadc94 add 'height' parameter to get_block 2016-09-09 00:48:54 -04:00
Alex Grintsvayg
659563f27a fix indent 2016-09-08 13:41:11 -04:00
Alex Grintsvayg
cbd8a68d0f print actual json 2016-09-08 13:40:43 -04:00
Alex Liebowitz
900eeb177a Add address_is_mine() API method 2016-09-02 01:27:30 -04:00
Jack
0203ef66ea build windows in setup.py, drop leveldb requirement 2016-08-31 20:20:07 -04:00
Jack Robison
25c71bcd98 Merge pull request #140 from lbryio/reflect-blobs
reflect_all_blobs daemon command
2016-08-28 01:33:13 -04:00
Jack Robison
319e7ecc61 Merge pull request #131 from lbryio/content_type
change content-type to content_type, refactor metadata validation
2016-08-28 01:29:51 -04:00
Jack
63f81d1033 prevent a lbry files opened through the ui from making api calls 2016-08-27 23:16:48 -04:00
Jack
aa66af7ba6 fix tests 2016-08-26 20:22:11 -04:00
Jack
be3633622c whoops 2016-08-26 20:13:10 -04:00
Jack
b235f6fc6b send all blobs to reflector 2016-08-26 19:58:53 -04:00
Jack Robison
76b297b173 Merge pull request #139 from lbryio/get_all_verified_blobs
Get all verified blobs
2016-08-26 19:45:49 -04:00
Jack Robison
4e2296d5f6 Merge pull request #115 from lbryio/get-stream-timeout
raise Exception on GetStream timeout
2016-08-26 16:07:42 -04:00
Jack
2a2658d440 fix Access-Control-Allow-Origin problem 2016-08-26 00:50:31 -04:00
Jack
710e549c03 add get_all_verified_blobs 2016-08-26 00:32:33 -04:00
Jack
47fae977dd fix Access-Control-Allow-Origin problem 2016-08-25 23:39:05 -04:00
Jack
80837cb040 Merge branch 'master' into content_type
fix conflicts:
	lbrynet/lbrynet_daemon/LBRYPublisher.py
2016-08-25 17:59:20 -04:00
Jack
46153a8991 second shot at pylint error 2016-08-23 02:25:32 -04:00
Jack
a9fccfd4ce fix pylint error 2016-08-23 02:17:32 -04:00
Dave-A
79384e7bf8 Merge pull request #7 from lbryio/master
Update
2016-08-22 20:02:35 -04:00