Jack Robison
3f1bcbffeb
fix blob_announce when announcing a single blob
2018-03-07 18:25:30 -05:00
hackrush
da4a24d79f
Added scripts to autogenerate docs and api from docstring
...
Summary of changes
Removed single dashed(short args) arguments(possibly breaking changes
for app side)
Standardised the docstrings
Added scripts to autogenerate API and CLI documentation using the
docstrings
2018-03-06 03:50:12 +05:30
Alex Grintsvayg
95e12a208d
deprecate report_bug
2018-03-05 14:17:57 -05:00
Jack Robison
7862ee6715
fix blob_announce command
2018-03-02 16:46:07 -05:00
Jack Robison
01c4c6ed97
fetch claim heights
2018-03-02 16:46:02 -05:00
Jack Robison
6a4b65a796
have get
fail when given a channel uri before attempting to resolve
2018-03-02 15:34:34 -05:00
Jack Robison
76cb674ebb
fix updating content claims for existing files
...
-update lbry file attributes as soon as a change to the content claim occurs
2018-03-02 15:34:20 -05:00
Jack Robison
d1240541c8
always update lbry file attributes after publishing
2018-03-02 15:33:48 -05:00
Jack Robison
91229aac6e
remove old stream on a publish update
2018-03-02 15:33:48 -05:00
Alex Grintsvayg
fa33110d04
stop spamming cryptonator errors. fixes #984
2018-02-27 14:06:45 -05:00
Jack Robison
dafa80ce29
Merge branch 'master' into update_fix
2018-02-22 14:10:51 -05:00
Jack Robison
741e395677
fix blob_list falsely returning an empty list for streams with known blobs
...
-remove get_blobs functions from Daemon, use functions in SQLiteStorage instead
2018-02-22 10:37:53 -05:00
Jack Robison
9a046fca0f
remove unused calculate_available_blob_size function
2018-02-22 10:22:53 -05:00
Jack Robison
b1c66015e1
detect and remove invalid streams and sd blobs
2018-02-21 19:09:10 -05:00
hackrush
3754f34f53
Review fixes and additional comments in test
2018-02-21 14:22:11 +05:30
hackrush
2368433b22
Check for max usable balance before updating
2018-02-20 08:54:03 +05:30
hackrush
d72ef784ed
Removed daemon side bid checks during publish
...
Fixes #748
Fixed failing test, Yay!
Why CHANGELOG? Why not anarchy?
2018-02-20 08:54:03 +05:30
hackrush
5fee660c9c
Fixed error types to be more appropriate
2018-02-17 20:18:55 +05:30
Jeremy Curcio
2621ba6982
Add exception for non-float bids when pubishing
2018-02-17 19:29:53 +05:30
Jack Robison
e40d4f74d8
fix default db_revision
2018-02-13 14:42:53 -05:00
Jack Robison
9d539aaa16
migrate databases
2018-02-13 10:27:51 -05:00
Jack Robison
c15850ccab
re-enable filtering lbry files by claim attributes
2018-02-13 10:27:51 -05:00
Jack Robison
0df383b9f2
update Downloader and Publisher
2018-02-13 10:27:51 -05:00
Jack Robison
ce4b82d929
update Daemon to use SQLiteStorage
2018-02-13 10:27:51 -05:00
Alex Grin
d6819d8091
Merge pull request #1086 from lbryio/add-conf-flag-to-cli
...
fixes for the --conf flag
2018-02-12 17:01:43 -05:00
Alex Grintsvayg
bb2efdcc7c
fixed the error when trying to perform get on channels
...
now it states that get cannot be used on channels
closes #623
closes #1085
2018-02-12 16:40:29 -05:00
Antonio Quartulli
34976c7602
DaemonCLI: add --conf flag
...
When starting a daemon with a different configuration,
the same should also be used by the cli tool.
Add the --conf flag to the cli command to allow using a
custom config file.
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
2018-02-10 16:22:32 +08:00
rick batka
69a99a61ba
Fix issue #930 . Disallow positional arguments for CLI settings_set and fix error reporting when settings_set fails.
2018-02-09 11:30:29 -05:00
Alex Grintsvayg
b3d3c1c93b
drop commands list from cli help
2018-02-08 09:36:59 -05:00
Roger Ostrander
a4343c3eb3
API call to blob_list with uri parameter now succeeds
2018-02-03 23:08:15 -05:00
hackrush
5a3a592df8
Related changlelog for the PR lbryio/lbryum#203
2018-01-26 15:52:25 +05:30
Jack Robison
973978c1e5
pylint
2018-01-22 16:04:08 -05:00
Alex Grintsvayg
a6588f740a
stop sending useless analytics event
2018-01-22 15:21:39 -05:00
Jack Robison
edb0f8deed
changelog and doc
2018-01-18 13:41:17 -05:00
hackrush
7472d12644
Removed include_tip_info
from transaction_list
, goes with lbryum#183
2018-01-18 08:43:58 +05:30
Jack Robison
8a133f9749
use lists of hostname:port strings in conf file
2018-01-09 16:55:39 -05:00
akinwale
5677f6d00d
added a new startup stage for wallet_unlock ( #1048 )
...
* added a new startup stage to indicate if the daemon is waiting for wallet_unlock
2018-01-07 06:44:29 +01:00
Thomas Zarebczan
4b6d0d33ef
remove download_directory from options
2018-01-05 14:19:21 -05:00
Jack Robison
b046a6578b
add blockchain_name
and lbryum_servers
to the adjustable settings
2018-01-04 21:30:41 -05:00
Jack Robison
64e04f8a68
refactor start_lbry_file
2018-01-04 21:28:09 -05:00
Jack Robison
bc58add6de
logging
2018-01-04 21:25:56 -05:00
Jack Robison
62a8789393
change default full_status to True in _get_lbry_files
2018-01-04 21:25:55 -05:00
Jack Robison
7a020bec05
Merge remote-tracking branch 'origin/add-conf-file-flag'
2018-01-03 14:46:57 -05:00
Antonio Quartulli
79054037a7
conf: make config file a CLI parameter
...
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>
2017-12-30 04:11:06 +08:00
Jack Robison
bf46f5616b
Merge branch 'add_lbry_file_manager_to_reflector_2'
2017-12-29 12:39:50 -05:00
Alex Grintsvayg
b0c4746413
delete line that does nothing
2017-12-29 11:12:33 -05:00
Jack Robison
09c57675a7
add stream_availability and blob_availability, deprecate get_availability
2017-12-20 21:23:54 -05:00
Jack Robison
e22d43bb03
fix wallet_unlock
2017-12-18 13:17:54 -05:00
Jack Robison
8c2d381aee
Wallet encryption ( #783 )
...
* 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
2017-12-17 07:00:12 +01:00
Jack Robison
a6f0c5fb4c
pylint fixes
...
fix exception formatting and a circular import
2017-12-15 20:25:20 -05:00
Jack Robison
e58f3593ee
pylint
2017-12-13 16:43:49 -05:00
Alex Grintsvayg
ebed4f010b
fixes #1029 - stupid error messages
2017-12-13 13:56:44 -05:00
Jack Robison
b7ee5419d4
better address use, remove _save_wallet from Wallet.py
2017-12-07 14:36:51 -05:00
Jack Robison
330d0465b6
remove message field from lbry file json, add blobs_completed, blobs_in_stream, and status fields
2017-12-07 13:54:18 -05:00
Jack Robison
fb6ceeed9e
delete unused code
2017-12-06 20:41:24 -05:00
Jack Robison
b7503f8b61
log traceback info for failed api requests
2017-12-06 19:52:29 -05:00
Jack Robison
b2a0aa21c9
get search timeout from conf.settings
2017-12-06 19:52:29 -05:00
Jack Robison
ac7ffdbf3a
add lbry_file_metadata table to save outpoint data of downloads
2017-12-06 19:52:25 -05:00
Jack Robison
90aa89dcae
re-add outpoint to file dictionary returned from file_ commands
2017-12-06 17:22:47 -05:00
Jack Robison
1594c6a831
move db functions in EncryptedFileManger to EncryptedFileMetadataManager
...
- remove TempEncryptedFileMetadataManager, run tests with the normal
DBEncryptedFileMetadataManager
2017-12-06 16:49:49 -05:00
Jack Robison
8fdd8d8c43
fix api error responses
2017-12-06 13:25:58 -05:00
Jack Robison
fbcc81adb4
add lbrynet-console
2017-12-05 13:34:46 -05:00
Kay Kurokawa
7e93ea8d97
do a sanity check to see if we have remote height, use remote height instead of local height when auto renewing
2017-12-05 09:41:45 -05:00
Kay Kurokawa
bfbecd9196
fix use of return in inlinecallback, change to defer.returnValue(None)
2017-12-05 09:41:44 -05:00
Kay Kurokawa
707775214a
update docstrings and make sure return value is consistent
2017-12-05 09:41:44 -05:00
Kay Kurokawa
8f05c1083f
pylint long lines
2017-12-05 09:41:43 -05:00
Kay Kurokawa
36510a0a59
make auto_renew_claim_height_delta settable in API commands settings_set
2017-12-05 09:41:43 -05:00
Kay Kurokawa
e4e60ebe9b
add auto_renew_claim_height_delta to configuration and auto renew after startup if necessary
2017-12-05 09:41:42 -05:00
Jack Robison
d6e3b11026
add claim_renew
2017-12-05 09:41:42 -05:00
Kay Kurokawa
ab667015c4
add lbry_file_manager to reflector server and add files to it
2017-12-04 13:08:33 -05:00
Kay Kurokawa
6218df2a92
make payment_rate_manager in add_lbry_file() an optional argument, initialize it from Session if not specified
2017-12-04 13:08:33 -05:00
Kay Kurokawa
57117baab5
remove ManagedEncryptedFileDownloader.load_file_attributes() move it to EncryptedFileDownloader.set_stream_info()
2017-12-04 13:08:32 -05:00
Jack Robison
00edd3cb66
remove unused files
2017-11-29 12:01:39 -05:00
Jack Robison
57152547ce
docs
2017-11-28 12:19:19 -05:00
Kay Kurokawa
50586fa39d
use sd_hash instead of claim_id as a key for Daemon.streams dictionary
2017-11-28 11:53:16 -05:00
Kay Kurokawa
38834a083c
when calling jsonrpc_get, check if you have to file by using the sd_hash instead of claim_id
2017-11-28 11:53:16 -05:00
Kay Kurokawa
971c720642
removing claim information from files related API commands
2017-11-28 11:53:15 -05:00
Jack Robison
086c843068
add channel_list, deprecate channel_list_mine
2017-11-22 13:50:07 -05:00
Jack Robison
d98e0e8110
add channel_import and channel_export
2017-11-22 13:46:34 -05:00
Jack Robison
0b13615dc5
pylint
2017-11-10 14:23:14 -05:00
Jack Robison
930e965d9c
less verbose exchange rate error
2017-11-10 10:34:36 -05:00
Jack Robison
853bb67447
verify source and claim metadata before getting to _publish_stream
2017-11-08 19:50:37 -05:00
Jack Robison
f87d6b08c8
remove queued decorator
2017-11-07 15:17:04 -05:00
Jack Robison
a79a00180d
rename variable
2017-11-04 20:37:52 -04:00
Jack Robison
36782e0878
use shared deferredSemaphore for daemon methods decorated with 'queued'
...
fixes race condition between publish and channel_new
2017-11-04 20:37:46 -04:00
Alex Grintsvayg
cc61cc6b17
rename command to utxo_list
2017-11-02 07:14:35 -04:00
Alex Grin
fcfde63720
Merge branch 'master' into wallet_list_unspent
2017-11-01 17:35:31 -04:00
Alex Grintsvayg
3152ecfd71
add wallet_list_unspent
2017-11-01 17:29:11 -04:00
Kay Kurokawa
ea4b6935c9
remove unnecessary use of @property
2017-10-31 15:35:01 -04:00
Kay Kurokawa
cf9f9d0e75
remove unused get_default_market_feed() function
2017-10-31 15:35:01 -04:00
Kay Kurokawa
020a2e0e89
adjust the _online variable to be set on the errback, so any exception will set _online to False
2017-10-31 15:35:01 -04:00
Kay Kurokawa
7e7931fbf1
add Bittrex feed as a redundant feed, add unit test for it
2017-10-31 15:35:01 -04:00
Kay Kurokawa
4411c5c202
add name of feed to log.info
2017-10-31 15:35:01 -04:00
Miroslav Kovar
433547407e
Added tests.
2017-10-31 15:35:01 -04:00
Miroslav Kovar
aa15f6c4b8
Added redundant market feed (cryptonator).
2017-10-31 15:35:01 -04:00
Alex Grintsvayg
357f15c5b8
changes that jack pointed out
2017-10-25 12:36:54 -04:00
Alex Grintsvayg
2067180467
add wallet_prefill_addresses command
2017-10-25 12:29:51 -04:00
Jack Robison
e4d2a3d2ec
Merge branch 'master' into android_tests_refactoring
2017-10-25 12:01:37 -04:00
Jack Robison
4e4eb5e24c
fix external ip
2017-10-23 01:17:25 -04:00
Akinwale Ariwodola
e522e7e7f7
Changed AssertionError to ValueError. Skip tests that cannot pass on Android.
2017-10-17 03:15:50 +01:00
Jack Robison
fb071778dc
fix docstring
2017-10-11 15:14:29 -04:00
Jack Robison
a0a7d5f569
add routing_table_get
2017-10-11 12:54:40 -04:00
Jack Robison
fcaca05a81
fix redundant lbryid
2017-10-10 13:15:25 -04:00
Akinwale Ariwodola
6ed56804b9
return empty string as default value when docstring is missing
2017-10-09 21:14:16 +01:00
Akinwale Ariwodola
4f6f226b18
refactor asserts due to PYTHONOPTIMIZE flag
2017-10-09 20:20:58 +01:00
Kay Kurokawa
1f839fe2a6
add blob announcement information to session_status
2017-10-05 13:59:27 -04:00
Jack Robison
aa3982f0e2
temporarily disable blob analytics
2017-10-02 11:21:51 -04:00
Jack Robison
838436d641
Merge remote-tracking branch 'origin/fix_blob_reader_closing'
2017-09-29 12:37:15 -04:00
Jack Robison
b85a813aaf
fix sd timeout
2017-09-28 17:36:55 -04:00
Jack Robison
2ebb9da108
move download_failed
2017-09-28 15:46:02 -04:00
Jack Robison
b7bfb259e5
fix download exceptions
2017-09-28 15:28:39 -04:00
Jack Robison
9fd60c823f
add _download_failed errback
2017-09-28 15:28:37 -04:00
Jack Robison
82a2805aaf
json blobs
2017-09-28 15:28:06 -04:00
Jack Robison
50b51569a3
cancel streams on shutdown
2017-09-28 14:48:05 -04:00
Jack Robison
fa83a4f671
fix stop condition
2017-09-28 14:04:03 -04:00
Jack Robison
c9ae251d60
download analytics
2017-09-28 14:04:03 -04:00
Jack Robison
250855d45d
stop failed downloader outside of GetStream
2017-09-28 14:04:02 -04:00
Jack Robison
b0a3771ccf
better download errors
2017-09-28 14:04:02 -04:00
Kay Kurokawa
aab43c8d6c
close the reader directly instead of calling close_read_handle()
2017-09-27 17:30:20 -04:00
Kay Kurokawa
32feb628c3
add stream_info_manager to reflector server initialization
2017-09-22 14:39:29 -04:00
Jack Robison
6cbe86d057
rename is_validated() to get_is_verified() to distinguish from verified property
2017-09-20 14:02:34 -04:00
Kay Kurokawa
ab3c987034
fix lints
2017-09-20 13:59:28 -04:00
Jack Robison
adf89a9d1a
logging
2017-09-20 13:59:27 -04:00
Jack Robison
96357ab833
exchange rate error
2017-09-20 13:59:26 -04:00
Jack Robison
6f71a5003c
remove unused EncryptedFileOpener
2017-09-20 13:59:24 -04:00
Alex Grintsvayg
c98197f266
deprecated blob_announce_all
2017-09-20 11:16:10 -04:00
Jack Robison
9bb03757ec
docopt fix
2017-09-20 09:50:48 -04:00
Alex Grintsvayg
8681686395
why would written_bytes ever be False?
2017-09-12 16:00:32 -04:00
Alex Grintsvayg
810089cd99
not sure why this is here
2017-09-12 13:47:08 -04:00
Mike Putnam
e7094a92ab
Docs spelling correction. ( #873 )
...
Docs spelling correction
2017-09-12 09:41:11 -04:00
Jack Robison
5f9509db96
don't use google finance
2017-09-07 13:55:36 -04:00
Jack Robison
dd036d15c8
update decode_address import from lbryschema
...
https://github.com/lbryio/lbryschema/pull/16
2017-09-06 10:58:52 -04:00
Jack Robison
5ece58b716
pylint
2017-09-01 10:43:46 -04:00
Jack Robison
a12c0be0b9
Fix uncaught error when shutting down after a failed daemon startup
2017-09-01 10:32:47 -04:00
hackrush
fbd37c591f
Expose include_tip_info
param
...
Goes with lbryio/lbryum#153
Updated changelog and added docs for include_tip_info
Added proper doc for Returns of transaction_list
Fixed some other docs
2017-09-01 02:15:24 +05:30
Kay Kurokawa
8955838191
migrate blob database to have should_announce and last_announce_time
2017-08-28 10:43:57 -04:00
Alex Grin
128e893b0c
Merge pull request #856 from lbryio/persist-node-id
...
persist dht node id
2017-08-18 16:04:33 -04:00
Jack Robison
e204a3b9a5
fix doc-string for resolve
2017-08-17 14:32:28 -04:00
Jack Robison
d1b7de1807
persist dht node id
2017-08-16 21:18:10 -04:00
Jack Robison
b4354497c3
validate wallet_send parameters
2017-08-15 11:56:26 -04:00
Jack Robison
7e685f764f
fix handling deprecated commands in lbrynet-cli
2017-08-15 11:48:56 -04:00
Jack Robison
4b716bbcdd
fix send_amount_to_address backwards compatibility
2017-08-15 11:36:03 -04:00
Jack Robison
46c5a98752
return results for new command for commands marked with the deprecated decorator
2017-08-15 11:31:35 -04:00
Jack Robison
18f5f850cd
show deprecated warning
2017-08-15 11:17:50 -04:00
Jack Robison
ac4d905a7e
add wallet_send
2017-08-15 11:11:38 -04:00
Umpei Kay Kurokawa
690ef15ba1
Merge pull request #756 from lbryio/fix_integer_resolve
...
Fix error when resolving an integer
2017-08-14 22:52:20 -04:00
Umpei Kay Kurokawa
34ed2467f2
Merge pull request #829 from lbryio/fix_abandon
...
Expose abandon by txid/nout in Daemon
2017-08-14 22:51:39 -04:00
Kay Kurokawa
b2f0dedefb
fix error when resolving true/false/floats and also prevent other keys from being parsed as boolean, int, or float in CLI
2017-08-14 18:33:41 +02:00
Zestyr
0c2d049c90
Fix error when resolving an integer
...
Fixes #588
2017-08-14 12:15:08 -04:00
Alex Grintsvayg
ea9d368d09
fix daemon shutdown
2017-08-09 19:10:11 -04:00
Alex Grintsvayg
ddcf3a47f8
dont ignore SIGTERM/SIGINT when already shutting down
2017-08-09 19:10:11 -04:00
Alex Grintsvayg
cc5b626a54
removed old /view and /upload endpoints, moved api to root path
2017-08-09 19:10:11 -04:00
Alex Grintsvayg
02d4444780
fixed shutdown messages
2017-08-09 19:10:11 -04:00
Kay Kurokawa
7a2f607998
no need to catch exception when abandoning in Daemon
2017-08-08 13:55:03 -04:00
Kay Kurokawa
4e8d8dfc23
Expose abandon by txid/nout in Daemon
2017-08-08 13:55:03 -04:00
Jack Robison
c971cce717
file_reflect
2017-08-04 16:08:03 -04:00
Jack Robison
c5fe8b5381
add claim_send_tip
2017-08-04 10:48:13 -04:00
Umpei Kay Kurokawa
5ce360511b
Merge pull request #793 from lbryio/blob_announce
...
Better blob announce API command
2017-07-31 11:09:03 -04:00
Kay Kurokawa
4e05eac854
add blob_announce API command, to eventually replace blob_announce_all
2017-07-31 10:52:23 -04:00
Zestyr
2f2b27e872
Remove old float formatting
2017-07-31 10:38:20 -04:00
hackrush
b9257004dd
Resolving a channel returns 'channel_claim_count'
...
Since I couldn't get my lbryum server up for testing this, it is a dry
fix based on the review.
Goes with lbryio/lbryum#138
2017-07-25 01:26:17 +05:30
Jack Robison
4e5ff49177
fix allowed_during_startup
2017-07-19 11:43:45 -04:00
Alex Grin
5a230fdab4
Merge pull request #780 from vv181/remove-stream-info-cache
...
remove stream info cache
2017-07-18 08:32:17 -04:00
Zestyr
a2350fd539
Clean up legacy code
2017-07-17 21:39:40 +02:00
Kay Kurokawa
b355e9ed8e
make accurate docstring of claim_show
2017-07-17 12:01:20 -04:00
Kay Kurokawa
24035406d6
have claim_show no longer handle name argument, do not catch exceptions here as they will be caught in Wallet
2017-07-17 12:01:20 -04:00
Kay Kurokawa
21c1786dc6
rename Wallet.get_claim() to get_claim_by_claim_id()
2017-07-17 12:01:20 -04:00
vv181
196c7eb494
remove stream info cache
...
remove stream info cache
2017-07-15 23:54:23 +07:00
Jack Robison
4c7c94e190
fix loggly setup
2017-07-14 14:29:02 -04:00
hackrush
f7b6a09110
Updated max_key_fee_setting
...
Added an option to disable max key fee check.
Did the required docs changes.
2017-07-14 14:09:30 -04:00
Jack Robison
2728b1ed60
pylint
2017-07-12 14:21:30 -04:00
Alex Grin
53579dc613
Merge branch 'master' into hackrush
2017-07-12 14:14:26 -04:00
Jack Robison
65bc93f2fe
raise error on negative point reservation
2017-07-07 16:43:13 -04:00
hackrush
02c868512f
Daemon provides steps on how to change the port.
...
Daemon now points to a faq on how to change the port if it can't
connect to 3333(default) and adds support for the required api/cli call.
Fixex #710
2017-07-06 03:48:13 +05:30
Kay Kurokawa
36dea2afbf
use timeout in Daemon._download_blob()
2017-07-05 16:33:02 -04:00
Kay Kurokawa
73927e2b57
improve tests for GetStream
2017-07-05 16:33:02 -04:00
Kay Kurokawa
a1292254bb
use utils.safe_start_looping_call and utils.safe_stop_looping_call
2017-07-05 16:33:02 -04:00
Kay Kurokawa
8398d57024
use DownloadTimeoutError instead of generic Exception
2017-07-05 16:33:02 -04:00
Kay Kurokawa
be75c1bc5b
break up GetStream.start() function further for testing
2017-07-05 16:33:02 -04:00
Kay Kurokawa
fc40f5525a
add download_sd_blob timeout to GetStream
2017-07-05 16:33:02 -04:00
Umpei Kay Kurokawa
4e42ae97ea
Revert "Fix default directories ( fixes #574 )"
2017-07-03 11:09:59 -04:00
Kay Kurokawa
1bf4048c46
pylint fix
2017-06-30 12:51:05 -04:00
Kay Kurokawa
f71696ee50
delete download_directory argument for API command get
2017-06-30 09:39:49 -04:00
Alex Grin
8d6a7155ef
Merge pull request #705 from zestyr/master
...
Fix default directories (fixes #574 )
2017-06-30 09:34:00 -04:00
Zestyr
8735e1bb53
Improve error message upon failing to resolve a claim
2017-06-30 09:13:42 -04:00
Zestyr
091c49115c
Merge remote-tracking branch 'upstream/master'
2017-06-28 17:54:42 +02:00
Jack Robison
85cc843d36
initialize settings if necessary when configuring an api client
2017-06-25 21:25:49 -04:00
Jack Robison
d9ced3c6f7
convenient import for api client
2017-06-25 21:25:49 -04:00
Jack Robison
967cc4c63c
rename lbrynet.lbrynet_daemon to lbrynet.daemon
2017-06-25 21:25:41 -04:00