Commit graph

289 commits

Author SHA1 Message Date
Job Evers-Meltzer
900d3ad01d Fixes errback not being callable
Small code refactoring to make it more obvious what
both the callback and errback are doing
2016-07-27 13:12:20 -05:00
Jack
9572336e96 Merge branch 'master' into metadata-version
# Conflicts:
#	lbrynet/core/utils.py
#	lbrynet/lbrynet_daemon/LBRYDaemon.py
2016-07-27 03:54:10 -04:00
Jack
4895cde474 fix conflicts 2016-07-27 03:48:32 -04:00
Jack Robison
457c1c6ae6 Merge pull request #101 from lbryio/version-cmp
Properly Compare Version Strings
2016-07-27 03:43:13 -04:00
Jack Robison
c1ff127101 Merge pull request #102 from lbryio/log-configure
Fix: Log configuration should not happen when a module is imported
2016-07-27 03:42:51 -04:00
Jack
5e815a5832 merge master 2016-07-27 03:22:03 -04:00
Jack
4604e9cd54 check pending claims after one is made 2016-07-27 03:00:44 -04:00
Jack
ef580a7680 errback for pending of date lbry_file 2016-07-27 01:51:09 -04:00
Jack
2102776be8 another errback 2016-07-27 01:44:01 -04:00
Jack
f3af7a6b77 add errback for unknown name 2016-07-27 01:39:23 -04:00
Jack
5abeceac1f abandon previous claim in update 2016-07-27 01:13:41 -04:00
Jack
22f73a0817 add force parameter to resolve_name 2016-07-26 21:46:04 -04:00
Jack
3e602bce52 fix publish callback 2016-07-26 20:58:37 -04:00
Jack
fe39901885 update claim when publishing to an already claimed name
-also save name_metadata for each unique claim rather than for each name
2016-07-26 20:52:05 -04:00
Jack
ee9e8b365c add debug log line 2016-07-26 18:42:51 -04:00
Jack
0811ebb52d fix key payment problems 2016-07-26 17:20:51 -04:00
Jack
491d431ea5 remove price updater from daemon 2016-07-26 17:19:26 -04:00
Job Evers‐Meltzer
3b431e180e Merge pull request #98 from lbryio/log-cleanup
Remove datetime.now() from log statements
2016-07-26 14:54:36 -05:00
Job Evers-Meltzer
93993e62d6 Fix: Log configuration should not happen when a module is imported
Instead, move the responsibility to the main program. Also,
each module had the same, redundant setup.
2016-07-26 12:01:03 -05:00
Job Evers-Meltzer
3814912adf Move to core.utils and expand to check lbryum too 2016-07-25 16:09:13 -05:00
Job Evers-Meltzer
d0bc383a79 bug fix: version comparison is not lexographic.
Use distutils.version to compare version strings.
2016-07-25 12:25:10 -05:00
Job Evers-Meltzer
ea5d31b530 OCD: alphabetize and group imports
I'm not the only one:
https://google.github.io/styleguide/pyguide.html?showone=Imports_formatting#Imports_formatting
2016-07-25 12:19:19 -05:00
Job Evers
ed393eb75c Updates the deployment process and the version check associated with it
This commit supports steps 1 and 2 in the new workflow:
1. Change the logic in the daemon to check the github api for the latest release that is not a pre release
2. Change travis to mark all releases as pre release
3. When we are ready to stage a release we push a tag to master. Travis builds the packages and releases them
4. We manually check them
5. Remove the pre release mark when we are happy
2016-07-25 11:13:47 -05:00
Jack
2e2d309d38 BTC/USD denominated fees, metadata revisions 2016-07-25 01:40:26 -04:00
Jack
6bfb33adb2 fix version comparison 2016-07-24 22:03:32 -04:00
Jack
fbef187400 Merge branch 'master' into metadata-version
# Conflicts:
#	lbrynet/conf.py
#	lbrynet/lbrynet_daemon/LBRYDaemon.py
2016-07-21 16:45:41 -04:00
Jack
25d1b8b9e5 move towards better fees and metadata 2016-07-21 16:11:14 -04:00
Job Evers
ec91594083 Remove datetime.now() from log statements 2016-07-21 10:41:26 -05:00
Jack Robison
276a7f9d2a Merge pull request #92 from lbryio/file-uploads
Add support for file uploads (for Publish page)
2016-07-20 22:37:08 -04:00
Jack
f999073fb4 revert download refactor
to be re-merged after fixes
2016-07-20 20:34:02 -04:00
Job Evers-Meltzer
5c27b9eb90 use asctime in logging format
Instead of manually adding datetime.now() use
asctime formatter to do it for us.
2016-07-20 07:21:12 -05:00
Job Evers‐Meltzer
34b8841f5c Merge pull request #73 from lbryio/refactor-dl-name
Refactor jsonrpc_get, _download_name, _resolve_name
2016-07-20 07:07:02 -05:00
Alex Liebowitz
a54166a27c Add support for file uploads (for Publish page) 2016-07-20 02:36:55 -04:00
Job Evers-Meltzer
78b4b3ffa8 revert default wallet back to lbryum 2016-07-18 11:30:21 -05:00
Job Evers-Meltzer
8ec10e2304 emergency fix: force lbrycrd to be the default wallet
Ignore save settings for wallet type and use the default wallet (lbrycrd)
instead.  lbryum can be used but only if specified on the command line.
2016-07-17 13:45:26 -05:00
Job Evers-Meltzer
172f275bc7 Refactor _resolve_name.
Continue using the delegation/helper pattern for the daemon.
2016-07-16 09:24:27 -05:00
Job Evers-Meltzer
a15d7ca543 Refactor _download_name
Nested functions are the devil, especially ones that
use variables from the outer scope. Refactoring
_download_name to use a helper class helps make
the scoping more explicit and will undoubtably
prevent bugs in the future.

I think this makes _download_name drastically more readable.

Also cleaned up some duplicated code and
made download_directory respect the passed in parameter
instead of being the default.
2016-07-15 12:42:26 -05:00
Job Evers-Meltzer
a90029ec50 update doc string 2016-07-15 11:37:04 -05:00
Job Evers-Meltzer
563896b126 fix bug in reveal code 2016-07-15 11:33:38 -05:00
Job Evers-Meltzer
5aecd02668 Refactor jsonrpc_get.
Move parameter handling into its own function and
better use the `.get()` function for dictionaries.

Early return on the failed checks is more readable.

The lambda function in the callback was long and
hard to read so moved it out.
2016-07-15 11:32:46 -05:00
Jack
1b53e8e98c re-enable lbryum 2016-07-09 13:31:07 -04:00
Jack
5a703c116f linux lbrycrdd path 2016-07-06 22:46:59 -04:00
Alex Liebowitz
c58fc0781c Call xdg-open properly in jsonrpc_reveal() 2016-07-06 15:57:00 -04:00
Jack
03c02ff74f lbrycrdd path wierdness 2016-07-06 03:37:31 -04:00
Jack
1984132eae add update_available keys to version()
as to not require making the version string comparison in whatever is
making the daemon call
2016-07-06 01:46:49 -04:00
Jack
8b1d75ea98 check every 30 minutes for a new ui version
-previously the check for a new ui version was only at startup, which
resulted in bugs persisting after they’d been fixed

-add option to skip requirements check

-try to load an existing ui if it can’t be obtained from github
2016-07-06 01:27:25 -04:00
Jack
4c2ab23c1f write to the file that's supposed to be written to 2016-07-04 20:19:04 -04:00
Jack
0a3f81e364 fix download directory not existing problem 2016-07-04 20:02:38 -04:00
Jack
cca4331ac4 create lbrycrddpath.conf if it doesnt exist 2016-07-04 19:34:51 -04:00
Alex Liebowitz
e35dce530a Set default download dir to ~/Downloads on Linux 2016-07-04 17:49:48 -04:00
Job Evers‐Meltzer
d504c8f4a3 Merge pull request #50 from lbryio/lbrycrd-in-bundle
Add lbrycrd to app bundle on macos
2016-07-04 15:42:24 -05:00
Job Evers-Meltzer
16f48d0400 Add lbrycrd to app bundle on macos 2016-07-04 15:18:08 -05:00
Alex Liebowitz
6d7608d851 Create lbrycrd.conf if needed 2016-07-04 16:16:34 -04:00
Jack
7b9e3aace9 use lbrycrd 2016-07-04 05:43:26 -04:00
Jack
568737e123 change lbryum version constant name 2016-07-04 05:15:53 -04:00
Jack
808e3ea6e3 rename LBRYcrdWallet.py to LBRYWallet.py and change default wallet to lbrycrd 2016-07-04 04:57:30 -04:00
Jack
b80fe24179 tanstaafl 2016-07-01 02:55:20 -04:00
Jack
08b612575c update_claim fix and clean up publish keys
-replace ‘value’ key with ‘metadata’

-update claim metadata in db when an update is published
2016-06-28 23:20:28 -04:00
Jack
b3b804bf2d add update_name 2016-06-28 14:28:59 -04:00
Jack
09d8a86e30 rename variable 2016-06-28 02:06:04 -04:00
Jack
cc5d917c72 download fix 2016-06-28 01:51:05 -04:00
Jack
7cc3e9d5ef publish updates
-adds a base set of metadata fields required for results to be rendered
in conf.py, including language and content-type

-dont support old style claims on the new blockchain
2016-06-27 17:07:59 -04:00
Jack
f89486f5fe port and import name 2016-06-24 13:12:27 -04:00
Jack
3441dd4d2d don't mess with logging 2016-06-07 04:19:51 -04:00
Jack
8faa0d9e01 update lbryum log path 2016-06-06 15:24:29 -04:00
Jack
20ca2eac37 lbryum logging in lbryum.log, add to upload_log() 2016-06-04 17:05:14 -04:00
Jack
8c46dd194d save command line wallet choice to config 2016-06-04 14:18:58 -04:00
Jack
e224c33817 add mime_type to get_lbry_file 2016-06-03 03:45:46 -04:00
Jack
36787eeeeb default value 2016-06-01 21:05:38 -04:00
Jack
104cafedb0 --wallet fix 2016-06-01 20:52:15 -04:00
Jack
a4a5d63da7 fix update settings problem
also move log upload url constant to conf.py
2016-05-31 17:38:00 -04:00
Jack
9f0f9e0928 Merge remote-tracking branch 'origin/better_log_names' into add-tests-to-travis 2016-05-30 17:09:39 -04:00
Jack
2026024c8a updates from development 2016-05-30 15:49:25 -04:00
Alex Grintsvayg
f48c1562f3 better log names 2016-05-20 19:59:49 -04:00
Jack
be96c77467 add set_miner and get_miner_status
set_miner takes parameter key ‘run’, which is True or False
2016-05-14 17:57:34 -04:00
Jack
b5e8aec548 fix --wallet=lbrycrd 2016-05-14 17:36:30 -04:00
Jack
278c7dc836 have get() wait for file to have written data before returning by default
controlled by wait_for_write parameter
2016-05-13 19:35:38 -04:00
Jack
1425ad87ab fix get_lbry_file problem 2016-05-11 04:44:23 -04:00
Jack
f985a2a8ad add waiting_for_credits startup code 2016-05-11 02:47:33 -04:00
Jack
210c1215d6 add metadata to lbry_file 2016-05-11 01:48:23 -04:00
Jack
1c507393a9 fix problem with getting a stream where the file has been deleted 2016-05-10 21:01:53 -04:00
Jack
b04cfdc091 load uri and txid when stream is started 2016-05-10 20:47:35 -04:00
Jack
42a3006f6e add claim txid and uri to lbry_file 2016-05-10 19:03:18 -04:00
Jack
f3d3a0e57f Don't show 0 while downloading headers from amazon, fix uri handler 2016-05-06 14:31:44 -04:00
Jack
e32853744a better loading message 2016-05-05 22:26:25 -04:00
Jack
b017b63745 status code for previously downloaded file
also fix return for files downloaded manually with stream_info
2016-05-05 21:45:25 -04:00
Jack
d6983a25b0 fix metadata problem in downloader and publisher 2016-05-04 23:40:05 -04:00
Jack
509b8f3a29 add file_name and stream_info fields to get()
-file_name is the name of the file in the downloads folder

-stream_info is a dict of the metadata in a name claim, it can be used
to download streams where the claim hasn’t yet been added to the
nametrie
2016-05-04 21:25:46 -04:00
Jack
461c2f9055 add file download statuses for get_lbry_file
also clean up remaining fetcher stuff
2016-05-04 05:20:38 -04:00
Jack
c1d0f9cf1b get rid of autofetcher in daemon
the purpose of the autofetcher was to automatically back up and host
published content, it is simpler to do this in a separate script that
uses existing daemon functions than to have it be built in
2016-05-04 04:12:11 -04:00
Jack
019de08c64 add more transaction functions to daemon
also fix —wallet command line option
2016-05-03 23:13:31 -04:00
Jack
04ee9894c9 speed up streaming, off by one errors 2016-05-02 04:10:50 -04:00
Jack
226e9084c9 return false from get_lbry_file if the file doesnt exist 2016-04-30 23:43:02 -04:00
Jack
caf5d2f788 update uri handler to use /watch 2016-04-26 19:48:43 -04:00
Jack
591634f175 cache name claim info
-cache name claim info for an hour rather than looking it up each time
it’s required

-add default thumbnail to search results
2016-04-25 22:35:21 -04:00
Jack
dfaf51a432 lbry file improvements
-fix daemon functions to start/stop lbry files

-remove unused stuff in LBRYFileManager

-improve and use new get_lbry_file function instead of _check_history,
which didn’t use the lbry file manager

-use said function to let delete_lbry_file use the same search keys
(sd_hash, name, and file_name)

-logging in LBRYDownloader
2016-04-24 17:51:24 -04:00
Jack
c2ec066c85 add LBRYFileProducer
-Add LBRYFileProducer, to host the contents of a download without
having to keep re-opening it as it is added to

-included sd hash in ManagedLBRYFileDownloader, to make comparing the
contents of the file manager against name claims easier

-add get_lbry_file function, which returns information about a LBRY
file found by sd_hash, file name, or lbry uri
2016-04-24 04:42:42 -04:00
Jack
3e7c09bb44 fix duplicate/buffering problem
fix problem where get request takes time to respond, in this time it
can receive more get requests that each manage to start downloading
2016-04-22 18:48:44 -04:00
Jack
28f66e30dd improve timeouts 2016-04-22 18:18:17 -04:00
Jack
fecd29a967 only load /view page when file isn't empty 2016-04-22 02:45:05 -04:00
Jack
2c1ba623a4 add message key to upload_log
log the message which is then uploaded with a special file prefix, and
also send the message to slack
2016-04-20 23:50:13 -04:00
Jack
e5e25012ff move daemon server stuff into its own class 2016-04-20 22:02:52 -04:00
Jack
c5d653a51a add bug report page
adds a page to submit a message and upload log at /report
2016-04-20 14:44:26 -04:00
Jack
c4620a0b0c add problem_code to daemon_status 2016-04-20 04:24:32 -04:00
Jack
a82f85f058 bump version, increase log size, fix shutdown problem 2016-04-20 02:56:29 -04:00
Jack
29f7307f9d periodically check internet connection and for new versions 2016-04-18 13:21:53 -04:00
Jack
24eed71959 upload log function doc string 2016-04-18 03:41:16 -04:00
Jack
9341ccb643 Merge branch 'master' into transaction-explorer
fix conflicts in LBRYDaemonControl.py
2016-04-17 23:28:00 -04:00
Jack
4385b90cca add get transaction and history functions to daemon 2016-04-17 23:23:20 -04:00
Jack
5f49827bd2 fix lagging indicator and improve diagnostic
-make is_lagging more meaningful - it is set to true after 90 seconds
with no progress, this is to stop slow but steady catchups from
triggering it

-prevent situation where repeated shutdowns before wallet catchup
results in never receiving first run credits

-fix settings to write new defaults that aren’t already in the
configuration file

-report log of startup sequence if upload_log set to true

-redirect /view?name=lbry to the main UI page. This is to make the ui
accessible from a lbry:// link on linux
2016-04-17 19:54:04 -04:00
Jack
bac7ea5dc0 include platform information in version() 2016-04-15 22:31:06 -04:00
Jack
b3b5581f2d don't log to console, add --no-launch flag, fix help()
by default, the ui opens in the lbrynet-daemon startup sequence, the
—no-launch flag stops the ui from launching
2016-04-15 19:37:27 -04:00
Jack
9a26d869fe better first run message 2016-04-14 17:01:05 -04:00
Jack
57138d9629 is_lagging message 2016-04-14 16:50:11 -04:00
Jack
47d897b48d is_lagging indicator and internet connection check
-adds is_lagging indicator as a key from daemon_status, which is set to
True during a phase of the startup sequence, presently only during
loading_wallet if catching up with the blockchain takes longer than a
minute.

-checks if connected to internet before trying to start
2016-04-14 00:29:40 -04:00
Jack
6b9f1d519e remove null handling used to fix a now resolved bug, update daemon_status outputs per alex's suggestions 2016-04-13 23:10:17 -04:00
Jack
8b966c61d8 check version during startup 2016-04-13 22:07:27 -04:00
Jack
65a0583c85 add help function and documentation for functions
-calling help() will return the list of functions

-setting the ‘function’ param in the help function will return the doc
string for that function

-setting the ‘callable_on_startup’ in the help function will return the
list of functions callable during the startup sequence
2016-04-13 14:47:34 -04:00
Jack
df99d06d11 fix links in check_for_new_version and log version info
-also handle situation where function is given a null argument
2016-04-13 02:35:31 -04:00
Jack
59002413f8 organize daemon init, move more into daemon_settings.json
-also add wallet.catchup_progress to get a rough percentage of how
caught up the daemon is, this is accessed through daemon_status()
2016-04-12 02:03:57 -04:00
Jack
e04f35af4f fix check_for_new_version
returns true if new version is available, otherwise false

check_for_new_version is callable during startup
2016-04-11 23:13:26 -04:00
Jack
c50f83400a make version callable during startup 2016-04-11 22:37:42 -04:00
Jack
31fa974379 version function, ui version tracking, blocks behind blockchain during startup, cleaner set_vars
-adds version() function, which can be called after the daemon is
running and returns lbrynet, lbryum, and lbry ui version information.

-daemon_status now returns how far behind its behind the blockchain
when in the loading_wallet phase of startup

-cleans up set_vars by moving to init
2016-04-11 22:28:46 -04:00
Jack
e48cc40610 fix incorrect variable 2016-04-09 16:18:06 -04:00
Jack
a931f59dda only return first run message until credits arrive 2016-04-09 16:14:28 -04:00
Jack
f0d39e6081 log LBRYDaemonControl and return None from get_start_notice if there is no notice to give 2016-04-09 15:43:10 -04:00
Jack
c11872a229 default on no startup message 2016-04-09 04:35:34 -04:00
Jack
f4fe730dc9 add get_start_notice to return startup messages 2016-04-09 04:15:58 -04:00
Jack
a4c83a08c7 change name of check_first_run to is_first_run 2016-04-09 04:00:31 -04:00
Jack
c3277d24c3 use status_message and status_code return fields for daemon_status() 2016-04-09 02:09:30 -04:00
Jack
28a23590ef add message for startup status
-added daemon_status function that returns {'status': startup status
message, 'is_running': true/false}
2016-04-09 01:33:27 -04:00
Jack
162275992b return fail from check_first_run when is_first_run isn't callable 2016-04-08 23:52:43 -04:00
Jack
08e25f4622 convert ints to floats if given as settings params 2016-04-08 23:38:57 -04:00
Jack
9a300d773f optional download_directory parameter for get function
-optional download_directory parameter to choose the directory a file
is saved to, if not given or not a valid directory it uses the default
2016-04-08 22:23:37 -04:00
Jack
a5362f3170 daemon settings
-set_settings accepts a dict of settings
    -adds upload_log field, defaulting on true, this uploads the lbry
log file to lbry.io to help figure out if and where things aren’t
working
    -default_download_directory is the key of the path where files are
saved

-gets publish working with sources

-adds check_first_run function, returns True/False

-previously only is_running would work during startup, check_first_run,
 get_time_behind_blockchain, and stop have been added

-requires six 1.9, 1.10.0 produced errors
2016-04-07 03:12:09 -04:00
Jack
d4b7064d2f fix sources problems 2016-04-01 22:11:11 -04:00
Jack
4355b799cb before is_running is true all other methods return a failure 2016-03-29 22:02:36 -04:00
Jack
b3465f3bbf fix /view, improve is_running, clean function outputs
-Use localhost:5279/view?name=wonderfullife to download and render a
file

-is_running is now the only function that will work during startup

-functions output json, rather than json in your json
2016-03-29 16:42:47 -04:00
Jack
2670279b0d change access control allow origin to * 2016-03-28 16:49:51 -04:00
Jack
41a0590182 fix daemon directories for linux 2016-03-28 14:53:32 -04:00
Jack
a882bdb08c fix output of get_time_behind_blockchain function 2016-03-25 09:32:24 -04:00
Jack
c714a3f91c merge updates 2016-03-23 22:27:48 -04:00
Jimmy Kiselak
a68d891770 enable checking first run status multiple times 2016-03-19 21:24:44 -04:00
Jack
27ccb37646 update daemon
check that managed files still exist, if they don’t remove them from
the manager
2016-03-08 12:15:49 -05:00
Jack
e4f23b3fce better organize apps 2016-03-03 00:16:51 -05:00
Jack
02d8dc22e9 update daemon
-notify user when connected to lbrynet
-check for updates from status bar app
2016-03-02 18:32:48 -05:00
Jack
2fc3ec7224 update status bar app 2016-03-02 02:00:45 -05:00
Jack
6f1ee78623 update daemon 2016-02-29 13:25:47 -05:00
Jack
33c1a002da update daemon
only let local user connect to lbrynet-daemon
2016-02-27 13:19:26 -05:00
Jack
a18f3bf08a disable status bar 2016-02-26 10:59:09 -05:00