From a4a5d63da74605d1ec016b60c1c2b25e2136b029 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 31 May 2016 17:38:00 -0400 Subject: [PATCH 01/18] fix update settings problem also move log upload url constant to conf.py --- lbrynet/conf.py | 2 ++ lbrynet/lbrynet_daemon/LBRYDaemon.py | 27 +++++++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/lbrynet/conf.py b/lbrynet/conf.py index 526dc711d..06b455392 100644 --- a/lbrynet/conf.py +++ b/lbrynet/conf.py @@ -24,6 +24,8 @@ KNOWN_DHT_NODES = [('104.236.42.182', 4000)] POINTTRADER_SERVER = 'http://ec2-54-187-192-68.us-west-2.compute.amazonaws.com:2424' #POINTTRADER_SERVER = 'http://127.0.0.1:2424' +LOG_POST_URL = "https://lbry.io/log-upload" + CRYPTSD_FILE_EXTENSION = ".cryptsd" API_INTERFACE = "localhost" diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index b68e1feca..5f5e3fbec 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -38,7 +38,7 @@ from lbrynet.lbrynet_daemon.LBRYPublisher import Publisher from lbrynet.core.utils import generate_id from lbrynet.lbrynet_console.LBRYSettings import LBRYSettings from lbrynet.conf import MIN_BLOB_DATA_PAYMENT_RATE, DEFAULT_MAX_SEARCH_RESULTS, KNOWN_DHT_NODES, DEFAULT_MAX_KEY_FEE, \ - DEFAULT_WALLET, DEFAULT_SEARCH_TIMEOUT, DEFAULT_CACHE_TIME, DEFAULT_UI_BRANCH + DEFAULT_WALLET, DEFAULT_SEARCH_TIMEOUT, DEFAULT_CACHE_TIME, DEFAULT_UI_BRANCH, LOG_POST_URL from lbrynet.conf import DEFAULT_TIMEOUT, WALLET_TYPES from lbrynet.core.StreamDescriptor import StreamDescriptorIdentifier, download_sd_blob from lbrynet.core.Session import LBRYSession @@ -410,8 +410,10 @@ class LBRYDaemon(jsonrpc.JSONRPC): if self.first_run: d = self._upload_log(log_type="first_run") - else: + elif self.upload_log: d = self._upload_log(exclude_previous=True, log_type="start") + else: + d = defer.succeed(None) if float(self.session.wallet.wallet_balance) == 0.0: d.addCallback(lambda _: self._check_first_run()) @@ -619,7 +621,6 @@ class LBRYDaemon(jsonrpc.JSONRPC): def _upload_log(self, log_type=None, exclude_previous=False, force=False): if self.upload_log or force: - LOG_URL = "https://lbry.io/log-upload" if exclude_previous: f = open(self.log_file, "r") f.seek(PREVIOUS_LOG) @@ -633,11 +634,11 @@ class LBRYDaemon(jsonrpc.JSONRPC): 'date': datetime.utcnow().strftime('%Y%m%d-%H%M%S'), 'hash': base58.b58encode(self.lbryid)[:20], 'sys': platform.system(), - 'type': log_type, + 'type': log_type if log_type else 'default', 'log': log_contents } - requests.post(LOG_URL, params) + requests.post(LOG_POST_URL, params) return defer.succeed(None) else: return defer.succeed(None) @@ -713,16 +714,22 @@ class LBRYDaemon(jsonrpc.JSONRPC): elif k == 'download_timeout': if type(settings['download_timeout']) is int: self.session_settings['download_timeout'] = settings['download_timeout'] + elif type(settings['download_timeout']) is float: + self.session_settings['download_timeout'] = int(settings['download_timeout']) else: return defer.fail() elif k == 'search_timeout': if type(settings['search_timeout']) is float: self.session_settings['search_timeout'] = settings['search_timeout'] + elif type(settings['search_timeout']) is int: + self.session_settings['search_timeout'] = float(settings['search_timeout']) else: return defer.fail() elif k == 'cache_time': if type(settings['cache_time']) is int: self.session_settings['cache_time'] = settings['cache_time'] + elif type(settings['cache_time']) is float: + self.session_settings['cache_time'] = int(settings['cache_time']) else: return defer.fail() self.run_on_startup = self.session_settings['run_on_startup'] @@ -1482,6 +1489,7 @@ class LBRYDaemon(jsonrpc.JSONRPC): log.info("[" + str(datetime.now()) + "] Set daemon settings to " + json.dumps(self.session_settings)) d = self._update_settings(p) + d.addErrback(lambda err: log.info(err.getTraceback())) d.addCallback(lambda _: _log_settings_change()) d.addCallback(lambda _: self._render_response(self.session_settings, OK_CODE)) @@ -2145,17 +2153,18 @@ class LBRYDaemon(jsonrpc.JSONRPC): # # return d - def jsonrpc_log(self, message): + def jsonrpc_log(self, p): """ Log message Args: - message: message to be logged + 'message': message to be logged Returns: True """ - log.info(message) + message = p['message'] + log.info("API client log request: %s" % message) return self._render_response(True, OK_CODE) def jsonrpc_upload_log(self, p=None): @@ -2172,6 +2181,8 @@ class LBRYDaemon(jsonrpc.JSONRPC): if p: if 'name_prefix' in p.keys(): log_type = p['name_prefix'] + '_api' + elif 'log_type' in p.keys(): + log_type = p['log_type'] + '_api' else: log_type = None From f50c98e10d907e61c05739a57e765cbb87abb74a Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 31 May 2016 17:45:04 -0400 Subject: [PATCH 02/18] revert import see if this helps travis --- lbrynet/lbrylive/LBRYStdoutDownloader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lbrynet/lbrylive/LBRYStdoutDownloader.py b/lbrynet/lbrylive/LBRYStdoutDownloader.py index 8c413e129..0c1fe8c60 100644 --- a/lbrynet/lbrylive/LBRYStdoutDownloader.py +++ b/lbrynet/lbrylive/LBRYStdoutDownloader.py @@ -1,7 +1,7 @@ import logging import sys -from lbrynet.lbrylive.client.LiveStreamDownloader import LBRYLiveStreamDownloader +from lbrynet.lbrynet_console.plugins.LBRYLive.LBRYLiveStreamDownloader import LBRYLiveStreamDownloader from lbrynet.core.BlobManager import TempBlobManager from lbrynet.core.Session import LBRYSession from lbrynet.core.client.StandaloneBlobDownloader import StandaloneBlobDownloader From 104cafedb02186713b06a30c365f163f19024665 Mon Sep 17 00:00:00 2001 From: Jack Date: Wed, 1 Jun 2016 20:52:15 -0400 Subject: [PATCH 03/18] --wallet fix --- lbrynet/lbrylive/LBRYStdoutDownloader.py | 2 +- lbrynet/lbrynet_daemon/LBRYDaemon.py | 10 ++++++++-- lbrynet/lbrynet_daemon/LBRYDaemonControl.py | 2 +- lbrynet/lbrynet_daemon/LBRYDaemonServer.py | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lbrynet/lbrylive/LBRYStdoutDownloader.py b/lbrynet/lbrylive/LBRYStdoutDownloader.py index 0c1fe8c60..8c413e129 100644 --- a/lbrynet/lbrylive/LBRYStdoutDownloader.py +++ b/lbrynet/lbrylive/LBRYStdoutDownloader.py @@ -1,7 +1,7 @@ import logging import sys -from lbrynet.lbrynet_console.plugins.LBRYLive.LBRYLiveStreamDownloader import LBRYLiveStreamDownloader +from lbrynet.lbrylive.client.LiveStreamDownloader import LBRYLiveStreamDownloader from lbrynet.core.BlobManager import TempBlobManager from lbrynet.core.Session import LBRYSession from lbrynet.core.client.StandaloneBlobDownloader import StandaloneBlobDownloader diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index 5f5e3fbec..2625b5709 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -131,7 +131,7 @@ class LBRYDaemon(jsonrpc.JSONRPC): isLeaf = True - def __init__(self, root, wallet_type=DEFAULT_WALLET): + def __init__(self, root, wallet_type=None): jsonrpc.JSONRPC.__init__(self) reactor.addSystemEventTrigger('before', 'shutdown', self._shutdown) @@ -250,7 +250,13 @@ class LBRYDaemon(jsonrpc.JSONRPC): self.search_timeout = self.session_settings['search_timeout'] self.download_timeout = self.session_settings['download_timeout'] self.max_search_results = self.session_settings['max_search_results'] - self.wallet_type = self.session_settings['wallet_type'] if self.session_settings['wallet_type'] in WALLET_TYPES else wallet_type + if self.session_settings['wallet_type'] in WALLET_TYPES and not wallet_type: + self.wallet_type = self.session_settings['wallet_type'] + log.info("Using wallet type %s from config" % self.wallet_type) + else: + self.wallet_type = wallet_type + self.session_settings['wallet_type'] = wallet_type + log.info("Using wallet type %s specified from command line" % self.wallet_type) self.delete_blobs_on_remove = self.session_settings['delete_blobs_on_remove'] self.peer_port = self.session_settings['peer_port'] self.dht_node_port = self.session_settings['dht_node_port'] diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py index 72c8d2c1e..e441ca923 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py @@ -64,7 +64,7 @@ def start(): parser.add_argument("--wallet", help="lbrycrd or lbryum, default lbryum", type=str, - default=DEFAULT_WALLET) + default='') parser.add_argument("--ui", help="path to custom UI folder", default=None) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py index 393a87b72..aa5b70b11 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py @@ -198,7 +198,7 @@ class LBRYDaemonServer(object): self.root.putChild(API_ADDRESS, self._api) return defer.succeed(True) - def start(self, branch=DEFAULT_UI_BRANCH, user_specified=False, branch_specified=False, wallet=DEFAULT_WALLET): - d = self._setup_server(self._setup_server(wallet)) + def start(self, branch=DEFAULT_UI_BRANCH, user_specified=False, branch_specified=False, wallet=None): + d = self._setup_server(wallet) d.addCallback(lambda _: self._api.setup(branch, user_specified, branch_specified)) return d From 36787eeeeb0f73bcd73622755f582635d5152acd Mon Sep 17 00:00:00 2001 From: Jack Date: Wed, 1 Jun 2016 21:05:38 -0400 Subject: [PATCH 04/18] default value --- lbrynet/lbrynet_daemon/LBRYDaemon.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index 2625b5709..dc453f27d 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -217,8 +217,8 @@ class LBRYDaemon(jsonrpc.JSONRPC): log.info("Loaded lbrynet-daemon configuration") settings_dict = loaded_settings else: - log.info( - "Writing default settings : " + json.dumps(self.default_settings) + " --> " + str(self.daemon_conf)) + missing_settings = self.default_settings + log.info("Writing default settings : " + json.dumps(self.default_settings) + " --> " + str(self.daemon_conf)) f = open(self.daemon_conf, "w") f.write(json.dumps(self.default_settings)) f.close() From e224c3381721195866d17057ec72cefe9b7e0e10 Mon Sep 17 00:00:00 2001 From: Jack Date: Fri, 3 Jun 2016 03:45:46 -0400 Subject: [PATCH 05/18] add mime_type to get_lbry_file --- lbrynet/lbrynet_daemon/LBRYDaemon.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index dc453f27d..757e211d4 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -1,4 +1,5 @@ import locale +import mimetypes import os import subprocess import sys @@ -1234,6 +1235,7 @@ class LBRYDaemon(jsonrpc.JSONRPC): d.addCallback(lambda message: {'completed': f.completed, 'file_name': f.file_name, 'download_directory': f.download_directory, 'download_path': os.path.join(f.download_directory, f.file_name), + 'mime_type': mimetypes.guess_type(os.path.join(f.download_directory, f.file_name))[0], 'key': key, 'points_paid': f.points_paid, 'stopped': f.stopped, 'stream_hash': f.stream_hash, @@ -1248,6 +1250,7 @@ class LBRYDaemon(jsonrpc.JSONRPC): d = defer.succeed({'completed': f.completed, 'file_name': f.file_name, 'key': key, 'download_directory': f.download_directory, 'download_path': os.path.join(f.download_directory, f.file_name), + 'mime_type': mimetypes.guess_type(os.path.join(f.download_directory, f.file_name))[0], 'points_paid': f.points_paid, 'stopped': f.stopped, 'stream_hash': f.stream_hash, 'stream_name': f.stream_name, 'suggested_file_name': f.suggested_file_name, 'upload_allowed': f.upload_allowed, 'sd_hash': f.sd_hash, 'total_bytes': size, From a9f99d05b9634c6de15c1744bb910b3c51847b55 Mon Sep 17 00:00:00 2001 From: Jack Date: Fri, 3 Jun 2016 20:20:16 -0400 Subject: [PATCH 06/18] add more known dht nodes also fix migrator bug --- lbrynet/conf.py | 5 ++++- lbrynet/lbrynet_daemon/daemon_scripts/migrateto025.py | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lbrynet/conf.py b/lbrynet/conf.py index 06b455392..3c77bfb9f 100644 --- a/lbrynet/conf.py +++ b/lbrynet/conf.py @@ -19,7 +19,10 @@ MIN_VALUABLE_BLOB_INFO_PAYMENT_RATE = .05 # points/1000 infos MIN_VALUABLE_BLOB_HASH_PAYMENT_RATE = .05 # points/1000 infos MAX_CONNECTIONS_PER_STREAM = 5 -KNOWN_DHT_NODES = [('104.236.42.182', 4000)] +KNOWN_DHT_NODES = [('104.236.42.182', 4000), + ('lbryum1.lbry.io', 4444), + ('lbryum2.lbry.io', 4444), + ('lbryum3.lbry.io', 4444)] POINTTRADER_SERVER = 'http://ec2-54-187-192-68.us-west-2.compute.amazonaws.com:2424' #POINTTRADER_SERVER = 'http://127.0.0.1:2424' diff --git a/lbrynet/lbrynet_daemon/daemon_scripts/migrateto025.py b/lbrynet/lbrynet_daemon/daemon_scripts/migrateto025.py index 9283b48aa..79fb156d0 100644 --- a/lbrynet/lbrynet_daemon/daemon_scripts/migrateto025.py +++ b/lbrynet/lbrynet_daemon/daemon_scripts/migrateto025.py @@ -20,7 +20,6 @@ class migrator(object): return lbry_file.restore() r = defer.DeferredList([_restart_lbry_file(lbry_file) for lbry_file in self._api.lbry_file_manager.lbry_files if not lbry_file.txid], consumeErrors=True) - r.callback(None) return r d = self._api.session.wallet.get_nametrie() From 8c46dd194d626a357f63e74b442316ee72326a66 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 4 Jun 2016 14:18:58 -0400 Subject: [PATCH 07/18] save command line wallet choice to config --- lbrynet/lbrynet_daemon/LBRYDaemon.py | 36 +++++++++++++--------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index 757e211d4..71c578b82 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -210,37 +210,34 @@ class LBRYDaemon(jsonrpc.JSONRPC): for k in missing_settings.keys(): log.info("Adding missing setting: " + k + " with default value: " + str(missing_settings[k])) loaded_settings[k] = missing_settings[k] + if loaded_settings['wallet_type'] != self.wallet_type and self.wallet_type: + loaded_settings['wallet_type'] = self.wallet_type + if missing_settings or removed_settings: - f = open(self.daemon_conf, "w") - f.write(json.dumps(loaded_settings)) - f.close() + log.info("Updated and loaded lbrynet-daemon configuration") else: log.info("Loaded lbrynet-daemon configuration") - settings_dict = loaded_settings + self.session_settings = loaded_settings else: missing_settings = self.default_settings log.info("Writing default settings : " + json.dumps(self.default_settings) + " --> " + str(self.daemon_conf)) - f = open(self.daemon_conf, "w") - f.write(json.dumps(self.default_settings)) - f.close() - settings_dict = self.default_settings - - self.session_settings = settings_dict + self.session_settings = self.default_settings if 'last_version' in missing_settings.keys(): self.session_settings['last_version'] = None if self.session_settings['last_version'] != self.default_settings['last_version']: self.session_settings['last_version'] = self.default_settings['last_version'] - f = open(self.daemon_conf, "w") - f.write(json.dumps(self.session_settings)) - f.close() self.first_run_after_update = True log.info("First run after update") if lbrynet_version == '0.2.5': self.session_settings['startup_scripts'].append({'script_name': 'migrateto025', 'run_once': True}) + f = open(self.daemon_conf, "w") + f.write(json.dumps(self.session_settings)) + f.close() + self.run_on_startup = self.session_settings['run_on_startup'] self.data_rate = self.session_settings['data_rate'] self.max_key_fee = self.session_settings['max_key_fee'] @@ -1303,16 +1300,15 @@ class LBRYDaemon(jsonrpc.JSONRPC): def _run_scripts(self): if len([k for k in self.startup_scripts if 'run_once' in k.keys()]): log.info("Removing one time startup scripts") - f = open(self.daemon_conf, "r") - initialsettings = json.loads(f.read()) - f.close() - t = [s for s in self.startup_scripts if 'run_once' not in s.keys()] - initialsettings['startup_scripts'] = t + remaining_scripts = [s for s in self.startup_scripts if 'run_once' not in s.keys()] + startup_scripts = self.startup_scripts + self.startup_scripts = self.session_settings['startup_scripts'] = remaining_scripts + f = open(self.daemon_conf, "w") - f.write(json.dumps(initialsettings)) + f.write(json.dumps(self.session_settings)) f.close() - for script in self.startup_scripts: + for script in startup_scripts: if script['script_name'] == 'migrateto025': log.info("Running migrator to 0.2.5") from lbrynet.lbrynet_daemon.daemon_scripts.migrateto025 import run as run_migrate From 3f929aee3cec61f2cc545bf14ee06a8909026216 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 4 Jun 2016 14:28:32 -0400 Subject: [PATCH 08/18] merge travis fixes --- lbrynet/core/Session.py | 13 ++++++++----- lbrynet/core/client/DownloadManager.py | 4 ++-- .../BlindRepeater/ValuableBlobQueryHandler.py | 6 +++--- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lbrynet/core/Session.py b/lbrynet/core/Session.py index d919e33b3..c8ff3f290 100644 --- a/lbrynet/core/Session.py +++ b/lbrynet/core/Session.py @@ -28,7 +28,7 @@ class LBRYSession(object): def __init__(self, blob_data_payment_rate, db_dir=None, lbryid=None, peer_manager=None, dht_node_port=None, known_dht_nodes=None, peer_finder=None, hash_announcer=None, blob_dir=None, blob_manager=None, peer_port=None, use_upnp=True, - rate_limiter=None, wallet=None): + rate_limiter=None, wallet=None, dht_node_class=node.Node): """ @param blob_data_payment_rate: The default payment rate for blob data @@ -99,7 +99,7 @@ class LBRYSession(object): self.upnp_redirects = [] self.wallet = wallet - + self.dht_node_class = dht_node_class self.dht_node = None self.base_payment_rate_manager = BasePaymentRateManager(blob_data_payment_rate) @@ -220,8 +220,11 @@ class LBRYSession(object): d.addCallback(match_port, port) ds.append(d) - self.dht_node = node.Node(udpPort=self.dht_node_port, lbryid=self.lbryid, - externalIP=self.external_ip) + self.dht_node = self.dht_node_class( + udpPort=self.dht_node_port, + lbryid=self.lbryid, + externalIP=self.external_ip + ) self.peer_finder = DHTPeerFinder(self.dht_node, self.peer_manager) if self.hash_announcer is None: self.hash_announcer = DHTHashAnnouncer(self.dht_node, self.peer_port) @@ -269,4 +272,4 @@ class LBRYSession(object): d = threads.deferToThread(threaded_unset_upnp) d.addErrback(lambda err: str(err)) - return d \ No newline at end of file + return d diff --git a/lbrynet/core/client/DownloadManager.py b/lbrynet/core/client/DownloadManager.py index fced77969..d601833dd 100644 --- a/lbrynet/core/client/DownloadManager.py +++ b/lbrynet/core/client/DownloadManager.py @@ -52,7 +52,7 @@ class DownloadManager(object): def check_stop(result, manager): if isinstance(result, failure.Failure): - log.error("Failed to stop the %s: %s", manager. result.getErrorMessage()) + log.error("Failed to stop the %s: %s", manager, result.getErrorMessage()) return False return True @@ -115,4 +115,4 @@ class DownloadManager(object): if not self.blobs: return self.calculate_total_bytes() else: - return sum([b.length for b in self.needed_blobs() if b.length is not None]) \ No newline at end of file + return sum([b.length for b in self.needed_blobs() if b.length is not None]) diff --git a/lbrynet/lbrynet_console/plugins/BlindRepeater/ValuableBlobQueryHandler.py b/lbrynet/lbrynet_console/plugins/BlindRepeater/ValuableBlobQueryHandler.py index 08d5a57a0..d8dd0009e 100644 --- a/lbrynet/lbrynet_console/plugins/BlindRepeater/ValuableBlobQueryHandler.py +++ b/lbrynet/lbrynet_console/plugins/BlindRepeater/ValuableBlobQueryHandler.py @@ -101,7 +101,7 @@ class ValuableBlobHashQueryHandler(ValuableQueryHandler): for blob_hash, count in valuable_hashes: hashes_and_scores.append((blob_hash, 1.0 * count / 10.0)) if len(hashes_and_scores) != 0: - log.info("Responding to a valuable blob hashes request with %s blob hashes: %s", + log.info("Responding to a valuable blob hashes request with %s blob hashes", str(len(hashes_and_scores))) expected_payment = 1.0 * len(hashes_and_scores) * self.valuable_blob_hash_payment_rate / 1000.0 self.wallet.add_expected_payment(self.peer, expected_payment) @@ -193,10 +193,10 @@ class ValuableBlobLengthQueryHandler(ValuableQueryHandler): if success is True: lengths.append(response_pair) if len(lengths) > 0: - log.info("Responding with %s blob lengths: %s", str(len(lengths))) + log.info("Responding with %s blob lengths", str(len(lengths))) expected_payment = 1.0 * len(lengths) * self.blob_length_payment_rate / 1000.0 self.wallet.add_expected_payment(self.peer, expected_payment) self.peer.update_stats('uploaded_valuable_blob_infos', len(lengths)) return {'blob_length': {'blob_lengths': lengths}} - dl.addCallback(make_response) \ No newline at end of file + dl.addCallback(make_response) From febc66fb02162a7d5a2e4aaec65f6caeb24737e4 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 4 Jun 2016 15:03:16 -0400 Subject: [PATCH 09/18] missing keyword args for travis --- lbrynet/lbrylive/LBRYStdinUploader.py | 7 ++++--- lbrynet/lbrylive/LBRYStdoutDownloader.py | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lbrynet/lbrylive/LBRYStdinUploader.py b/lbrynet/lbrylive/LBRYStdinUploader.py index 03570a975..d9873b362 100644 --- a/lbrynet/lbrylive/LBRYStdinUploader.py +++ b/lbrynet/lbrylive/LBRYStdinUploader.py @@ -15,7 +15,8 @@ from twisted.internet import defer, task class LBRYStdinUploader(): """This class reads from standard in, creates a stream, and makes it available on the network.""" - def __init__(self, peer_port, dht_node_port, known_dht_nodes): + def __init__(self, peer_port, dht_node_port, known_dht_nodes, + stream_info_manager_class=DBLiveStreamMetadataManager, blob_manager_class=TempBlobManager): """ @param peer_port: the network port on which to listen for peers @@ -25,8 +26,8 @@ class LBRYStdinUploader(): """ self.peer_port = peer_port self.lbry_server_port = None - self.session = LBRYSession(blob_manager_class=TempBlobManager, - stream_info_manager_class=DBLiveStreamMetadataManager, + self.session = LBRYSession(blob_manager_class=blob_manager_class, + stream_info_manager_class=stream_info_manager_class, dht_node_class=Node, dht_node_port=dht_node_port, known_dht_nodes=known_dht_nodes, peer_port=self.peer_port, use_upnp=False) diff --git a/lbrynet/lbrylive/LBRYStdoutDownloader.py b/lbrynet/lbrylive/LBRYStdoutDownloader.py index 8c413e129..97a91fbfe 100644 --- a/lbrynet/lbrylive/LBRYStdoutDownloader.py +++ b/lbrynet/lbrylive/LBRYStdoutDownloader.py @@ -15,15 +15,17 @@ from twisted.internet import task class LBRYStdoutDownloader(): """This class downloads a live stream from the network and outputs it to standard out.""" - def __init__(self, dht_node_port, known_dht_nodes): + def __init__(self, dht_node_port, known_dht_nodes, + stream_info_manager_class=DBLiveStreamMetadataManager, blob_manager_class=TempBlobManager): """ @param dht_node_port: the network port on which to listen for DHT node requests @param known_dht_nodes: a list of (ip_address, dht_port) which will be used to join the DHT network """ - self.session = LBRYSession(blob_manager_class=TempBlobManager, - stream_info_manager_class=DBLiveStreamMetadataManager, + + self.session = LBRYSession(blob_manager_class=blob_manager_class, + stream_info_manager_class=stream_info_manager_class, dht_node_class=Node, dht_node_port=dht_node_port, known_dht_nodes=known_dht_nodes, use_upnp=False) self.payment_rate_manager = BaseLiveStreamPaymentRateManager() From 85b56247a33a191448bf4dd22c0de287aca46787 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 4 Jun 2016 15:11:51 -0400 Subject: [PATCH 10/18] merge add-tests-to-travis updates --- .travis.yml | 15 +++++++++++++-- lbrynet/lbrylive/LBRYStdinUploader.py | 5 ++++- lbrynet/lbrylive/LBRYStdoutDownloader.py | 5 ++++- lbrynet/lbrynet_console/ControlHandlers.py | 2 +- lbrynet/lbrynet_gui/GuiApp.py | 10 +++++----- lbrynet/lbrynet_gui/StreamFrame.py | 4 ++-- packaging/ubuntu/ubuntu_package_setup.sh | 4 ++++ 7 files changed, 33 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index c7a722242..865ea7427 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,17 @@ script: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade gmp; fi # the default py2app (v0.9) has a bug that is fixed in the head of /metachris/py2app - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pip install git+https://github.com/metachris/py2app; fi - # py2app fails to find jsonrpc unless json-rpc is installed. why? I don't know. - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pip install jsonrpc; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd packaging/osx/lbry-osx-app; ./setup_app.sh; cd $TRAVIS_BUILD_DIR; fi \ No newline at end of file + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cd packaging/osx/lbry-osx-app; ./setup_app.sh; cd $TRAVIS_BUILD_DIR; fi + # fail the build if this is a build for a tag and we don't have the versions matching + - if [[ -n "${TRAVIS_TAG}" ]]; then if [[ "v`python setup.py -V`" = "${TRAVIS_TAG}" ]]; then true; else false; fi; fi + +deploy: + provider: releases + file: "${TRAVIS_BUILD_DIR}/`python setup.py --name`_`python setup.py -V`_amd64.deb" + skip_cleanup: true + on: + tags: true + # this is the oauth token for the lbry-ci user + api_key: + secure: nKdWGROnLNodx9k9nWvq2wezkPvSVL8zF63qjPXjhdOe9kCUbcLp7WnFDYpn9EJj4Pofq/ejeCHwjA+5x7JUP3Szk7SlJV61B4c/5hl64rl7oSKOoKskjdE2jaOG3CJuOUrh0yQ59U3vMMABcsnw/wJaCIuu/erdPIm8g8R+stu1YHOGtl5Y9WiW+zLJn2vc3GooV1TWtki9EnrmFfw0Vrqc4RMVMFB1ojE7ggrK1LIwcmGSbLIYzker1ZRz8SCy+84sGk4//V+2i2NNiz5AkPuG7BBGrU2twE9nD23IlruJAdVdi71P3ytAmi0kKyvxIU4VeNaqyTk9zeL5IB9J5IIgvekHgKcsKhFUZ6QcXT1Xfxl4ELftvWCTHWiewnXFdqLcG9GZiUaE6+7wdalwDAP3tqS2emiibetlBZERHR+RMR00ej+1MBYWGMlTse/0Tglndv0a2qqgAJYLKPRT02hTRYGxZ1MrJe+WGnChRmzwgLVTIgZuiDciFOahN0TYGSORk6OpnZBsxvpzSqDw5UDJx0BmbJ1xMNDFbOs8ubZ9yIpB9yNMGw66FPacOF61XNYnmA68ILC28UtOFKuuHLrUPbM5JmQkDVhtTfFbBnyHefyCLAL4MHvJJKGi1oaOXjYaJ/J095h636/kQ0cHHuVMgoWUQZOQ44xRAz7tMuc= diff --git a/lbrynet/lbrylive/LBRYStdinUploader.py b/lbrynet/lbrylive/LBRYStdinUploader.py index d9873b362..086cb52a0 100644 --- a/lbrynet/lbrylive/LBRYStdinUploader.py +++ b/lbrynet/lbrylive/LBRYStdinUploader.py @@ -1,3 +1,6 @@ +# pylint: skip-file +# This file is not maintained, but might be used in the future +# import logging import sys from lbrynet.lbrylive.LiveStreamCreator import StdOutLiveStreamCreator @@ -115,4 +118,4 @@ def launch_stdin_uploader(): d.addCallback(lambda _: start_stdin_uploader()) d.addCallback(lambda _: shut_down()) reactor.addSystemEventTrigger('before', 'shutdown', uploader.shut_down) - reactor.run() \ No newline at end of file + reactor.run() diff --git a/lbrynet/lbrylive/LBRYStdoutDownloader.py b/lbrynet/lbrylive/LBRYStdoutDownloader.py index 97a91fbfe..317cfefa2 100644 --- a/lbrynet/lbrylive/LBRYStdoutDownloader.py +++ b/lbrynet/lbrylive/LBRYStdoutDownloader.py @@ -1,3 +1,6 @@ +# pylint: skip-file +# This file is not maintained, but might be used in the future +# import logging import sys @@ -95,4 +98,4 @@ def launch_stdout_downloader(): d.addErrback(print_error) d.addCallback(lambda _: shut_down()) reactor.addSystemEventTrigger('before', 'shutdown', downloader.shut_down) - reactor.run() \ No newline at end of file + reactor.run() diff --git a/lbrynet/lbrynet_console/ControlHandlers.py b/lbrynet/lbrynet_console/ControlHandlers.py index cbe5dd270..d19d55c88 100644 --- a/lbrynet/lbrynet_console/ControlHandlers.py +++ b/lbrynet/lbrynet_console/ControlHandlers.py @@ -120,7 +120,7 @@ class CommandHandlerFactory(object): return self.control_handler_class.prompt_description def get_handler(self, console): - return self.control_handler_class(console, *self.args) + return self.control_handler_class(console, *self.args) # pylint: disable=not-callable class CommandHandler(object): diff --git a/lbrynet/lbrynet_gui/GuiApp.py b/lbrynet/lbrynet_gui/GuiApp.py index 94c977759..176cce9d7 100644 --- a/lbrynet/lbrynet_gui/GuiApp.py +++ b/lbrynet/lbrynet_gui/GuiApp.py @@ -176,10 +176,10 @@ class DownloaderApp(object): style="Stop.TButton", cursor=button_cursor) self.wallet_menu_button.grid(row=0, column=1, padx=(5, 0)) - def popup(event): + def popup_wallet(event): self.wallet_menu.tk_popup(event.x_root, event.y_root) - self.wallet_menu_button.bind("", popup) + self.wallet_menu_button.bind("", popup_wallet) self.uri_frame = ttk.Frame(self.frame, style="B.TFrame") self.uri_frame.grid() @@ -204,7 +204,7 @@ class DownloaderApp(object): def paste_command(): self.uri_entry.event_generate('') - def popup(event): + def popup_uri(event): selection_menu = tk.Menu( self.master, tearoff=0 ) @@ -214,7 +214,7 @@ class DownloaderApp(object): selection_menu.add_command(label=" Paste ", command=paste_command) selection_menu.tk_popup(event.x_root, event.y_root) - self.uri_entry.bind("", popup) + self.uri_entry.bind("", popup_uri) self.uri_button = ttk.Button( self.uri_frame, text="Go", command=self._open_stream, @@ -349,4 +349,4 @@ class AddressWindow(object): window, text="OK", command=window.destroy, style="LBRY.TButton" ) done_button.grid(row=1, column=1, pady=(0, 5), padx=5, sticky=tk.W) - window.focus_set() \ No newline at end of file + window.focus_set() diff --git a/lbrynet/lbrynet_gui/StreamFrame.py b/lbrynet/lbrynet_gui/StreamFrame.py index defcbacc9..de07c4d55 100644 --- a/lbrynet/lbrynet_gui/StreamFrame.py +++ b/lbrynet/lbrynet_gui/StreamFrame.py @@ -118,7 +118,7 @@ class StreamFrame(object): def cancel(self): if self.cancel_func is not None: - self.cancel_func() + self.cancel_func() # pylint: disable=not-callable self.stream_frame.destroy() self.app.stream_removed() @@ -460,4 +460,4 @@ class StreamFrame(object): if self.cost_label is not None and self.cost_label.winfo_exists(): self.cost_label.config(text=locale.format_string("%.2f LBC", (round(total_points_paid, 2),), - grouping=True)) \ No newline at end of file + grouping=True)) diff --git a/packaging/ubuntu/ubuntu_package_setup.sh b/packaging/ubuntu/ubuntu_package_setup.sh index f35a78b72..70cd064e4 100755 --- a/packaging/ubuntu/ubuntu_package_setup.sh +++ b/packaging/ubuntu/ubuntu_package_setup.sh @@ -164,3 +164,7 @@ $SUDO chown root:root debian-binary control.tar.gz data.tar.xz ar r "$PACKAGE" debian-binary control.tar.gz data.tar.xz # TODO: we can append to data.tar instead of extracting it all and recompressing + +if [[ -n "${TRAVIS_BUILD_DIR}" ]]; then + mv "${PACKAGE}" "${TRAVIS_BUILD_DIR}/${PACKAGE}" +fi From 20ca2eac37742d8c70ee650c756a8fbd66aea9e8 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 4 Jun 2016 17:05:14 -0400 Subject: [PATCH 11/18] lbryum logging in lbryum.log, add to upload_log() --- lbrynet/__init__.py | 23 ++++++- lbrynet/conf.py | 4 +- lbrynet/lbrynet_daemon/LBRYDaemon.py | 75 ++++++++++----------- lbrynet/lbrynet_daemon/LBRYDaemonControl.py | 19 +----- lbrynet/lbrynet_daemon/LBRYDaemonServer.py | 14 ---- lbrynet/lbrynet_daemon/LBRYDownloader.py | 12 ---- lbrynet/lbrynet_daemon/LBRYPublisher.py | 12 ---- lbrynet/lbrynet_daemon/LBRYUIManager.py | 13 ---- lbrynet/lbrynet_daemon/__init__.py | 4 ++ 9 files changed, 66 insertions(+), 110 deletions(-) diff --git a/lbrynet/__init__.py b/lbrynet/__init__.py index 3d80f11a2..2ad73a6a5 100644 --- a/lbrynet/__init__.py +++ b/lbrynet/__init__.py @@ -1,8 +1,29 @@ import logging +import sys +import os +from lbrynet.conf import LOG_FILE_NAME +from appdirs import user_data_dir +if sys.platform != "darwin": + log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") +else: + log_dir = user_data_dir("LBRY") -logging.getLogger(__name__).addHandler(logging.NullHandler()) +if not os.path.isdir(log_dir): + os.mkdir(log_dir) +LOG_PATH = os.path.join(log_dir, LOG_FILE_NAME) + +if os.path.isfile(LOG_PATH): + f = open(LOG_PATH, 'r') + PREVIOUS_LOG = len(f.read()) + f.close() +else: + PREVIOUS_LOG = 0 + +log = logging.getLogger(__name__) +log.addHandler(logging.FileHandler(filename=LOG_PATH)) +log.setLevel(logging.ERROR) version = (0, 2, 5) __version__ = ".".join([str(x) for x in version]) diff --git a/lbrynet/conf.py b/lbrynet/conf.py index 3c77bfb9f..116a395f2 100644 --- a/lbrynet/conf.py +++ b/lbrynet/conf.py @@ -3,9 +3,6 @@ Some network wide and also application specific parameters """ -import os - - MAX_HANDSHAKE_SIZE = 2**16 MAX_REQUEST_SIZE = 2**16 MAX_BLOB_REQUEST_SIZE = 2**16 @@ -27,6 +24,7 @@ KNOWN_DHT_NODES = [('104.236.42.182', 4000), POINTTRADER_SERVER = 'http://ec2-54-187-192-68.us-west-2.compute.amazonaws.com:2424' #POINTTRADER_SERVER = 'http://127.0.0.1:2424' +LOG_FILE_NAME = "lbrynet.log" LOG_POST_URL = "https://lbry.io/log-upload" CRYPTSD_FILE_EXTENSION = ".cryptsd" diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index 71c578b82..79d2bc016 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -40,6 +40,7 @@ from lbrynet.core.utils import generate_id from lbrynet.lbrynet_console.LBRYSettings import LBRYSettings from lbrynet.conf import MIN_BLOB_DATA_PAYMENT_RATE, DEFAULT_MAX_SEARCH_RESULTS, KNOWN_DHT_NODES, DEFAULT_MAX_KEY_FEE, \ DEFAULT_WALLET, DEFAULT_SEARCH_TIMEOUT, DEFAULT_CACHE_TIME, DEFAULT_UI_BRANCH, LOG_POST_URL +from lbrynet import LOG_PATH from lbrynet.conf import DEFAULT_TIMEOUT, WALLET_TYPES from lbrynet.core.StreamDescriptor import StreamDescriptorIdentifier, download_sd_blob from lbrynet.core.Session import LBRYSession @@ -47,29 +48,23 @@ from lbrynet.core.PTCWallet import PTCWallet from lbrynet.core.LBRYcrdWallet import LBRYcrdWallet, LBRYumWallet from lbrynet.lbryfilemanager.LBRYFileManager import LBRYFileManager from lbrynet.lbryfile.LBRYFileMetadataManager import DBLBRYFileMetadataManager, TempLBRYFileMetadataManager - - -if sys.platform != "darwin": - log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") -else: - log_dir = user_data_dir("LBRY") - -if not os.path.isdir(log_dir): - os.mkdir(log_dir) - -LOG_FILENAME = os.path.join(log_dir, 'lbrynet-daemon.log') - -if os.path.isfile(LOG_FILENAME): - f = open(LOG_FILENAME, 'r') - PREVIOUS_LOG = len(f.read()) - f.close() -else: - PREVIOUS_LOG = 0 +from lbryum.util import LOG_PATH as lbryum_log +from lbrynet import LOG_PATH as lbrynet_log log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) -log.addHandler(handler) -log.setLevel(logging.INFO) + +if os.path.isfile(lbryum_log): + f = open(lbryum_log, 'r') + PREVIOUS_LBRYUM_LOG = len(f.read()) + f.close() +else: + PREVIOUS_LBRYUM_LOG = 0 +if os.path.isfile(lbrynet_log): + f = open(lbrynet_log, 'r') + PREVIOUS_LBRYNET_LOG = len(f.read()) + f.close() +else: + PREVIOUS_LBRYNET_LOG = 0 INITIALIZING_CODE = 'initializing' LOADING_DB_CODE = 'loading_db' @@ -148,7 +143,7 @@ class LBRYDaemon(jsonrpc.JSONRPC): self.ip = None self.wallet_type = wallet_type self.first_run = None - self.log_file = LOG_FILENAME + self.log_file = LOG_PATH self.current_db_revision = 1 self.run_server = True self.session = None @@ -625,24 +620,26 @@ class LBRYDaemon(jsonrpc.JSONRPC): def _upload_log(self, log_type=None, exclude_previous=False, force=False): if self.upload_log or force: - if exclude_previous: - f = open(self.log_file, "r") - f.seek(PREVIOUS_LOG) - log_contents = f.read() - f.close() - else: - f = open(self.log_file, "r") - log_contents = f.read() - f.close() - params = { - 'date': datetime.utcnow().strftime('%Y%m%d-%H%M%S'), - 'hash': base58.b58encode(self.lbryid)[:20], - 'sys': platform.system(), - 'type': log_type if log_type else 'default', - 'log': log_contents - } + for lm, lp in [('lbrynet', lbrynet_log), ('lbryum', lbryum_log)]: + if os.path.isfile(lp): + if exclude_previous: + f = open(lp, "r") + f.seek(PREVIOUS_LBRYNET_LOG if lm == 'lbrynet' else PREVIOUS_LBRYUM_LOG) + log_contents = f.read() + f.close() + else: + f = open(lp, "r") + log_contents = f.read() + f.close() + params = { + 'date': datetime.utcnow().strftime('%Y%m%d-%H%M%S'), + 'hash': base58.b58encode(self.lbryid)[:20], + 'sys': platform.system(), + 'type': "%s-%s" % (lm, log_type) if log_type else lm, + 'log': log_contents + } + requests.post(LOG_POST_URL, params) - requests.post(LOG_POST_URL, params) return defer.succeed(None) else: return defer.succeed(None) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py index e441ca923..05134488a 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py @@ -7,7 +7,6 @@ import sys import socket import platform -from appdirs import user_data_dir from twisted.web import server from twisted.internet import reactor, defer from jsonrpc.proxy import JSONRPCProxy @@ -15,22 +14,10 @@ from jsonrpc.proxy import JSONRPCProxy from lbrynet.lbrynet_daemon.LBRYDaemonServer import LBRYDaemonServer from lbrynet.conf import API_CONNECTION_STRING, API_INTERFACE, API_ADDRESS, API_PORT, \ DEFAULT_WALLET, UI_ADDRESS, DEFAULT_UI_BRANCH +from lbrynet import LOG_PATH -if sys.platform != "darwin": - log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") -else: - log_dir = user_data_dir("LBRY") - -if not os.path.isdir(log_dir): - os.mkdir(log_dir) - -LOG_FILENAME = os.path.join(log_dir, 'lbrynet-daemon.log') -log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) -log.addHandler(handler) -log.setLevel(logging.INFO) - +log = logging.getLogger(LOG_PATH) REMOTE_SERVER = "www.google.com" @@ -96,7 +83,7 @@ def start(): if not args.logtoconsole and not args.quiet: print "Starting lbrynet-daemon from command line" - print "To view activity, view the log file here: " + LOG_FILENAME + print "To view activity, view the log file here: " + LOG_PATH print "Web UI is available at http://%s:%i" % (API_INTERFACE, API_PORT) print "JSONRPC API is available at " + API_CONNECTION_STRING print "To quit press ctrl-c or call 'stop' via the API" diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py index aa5b70b11..fd86887c9 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py @@ -5,15 +5,10 @@ import json import sys import mimetypes -from StringIO import StringIO -from zipfile import ZipFile -from urllib import urlopen from datetime import datetime from appdirs import user_data_dir from twisted.web import server, static, resource from twisted.internet import defer, interfaces, error, reactor, task, threads -from twisted.python.failure import Failure -from txjsonrpc.web import jsonrpc from zope.interface import implements @@ -25,19 +20,10 @@ if sys.platform != "darwin": data_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") else: data_dir = user_data_dir("LBRY") - if not os.path.isdir(data_dir): os.mkdir(data_dir) -version_dir = os.path.join(data_dir, "ui_version_history") -if not os.path.isdir(version_dir): - os.mkdir(version_dir) -version_log = logging.getLogger("lbry_version") -version_log.addHandler(logging.FileHandler(os.path.join(version_dir, "lbry_version.log"))) -version_log.setLevel(logging.INFO) log = logging.getLogger(__name__) -log.addHandler(logging.FileHandler(os.path.join(data_dir, 'lbrynet-daemon.log'))) -log.setLevel(logging.INFO) class LBRYindex(resource.Resource): diff --git a/lbrynet/lbrynet_daemon/LBRYDownloader.py b/lbrynet/lbrynet_daemon/LBRYDownloader.py index d62bdc3b1..47ec47cd7 100644 --- a/lbrynet/lbrynet_daemon/LBRYDownloader.py +++ b/lbrynet/lbrynet_daemon/LBRYDownloader.py @@ -27,19 +27,7 @@ STREAM_STAGES = [ (DOWNLOAD_TIMEOUT_CODE, 'Stream timed out') ] -if sys.platform != "darwin": - log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") -else: - log_dir = user_data_dir("LBRY") - -if not os.path.isdir(log_dir): - os.mkdir(log_dir) - -LOG_FILENAME = os.path.join(log_dir, 'lbrynet-daemon.log') log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) -log.addHandler(handler) -log.setLevel(logging.INFO) class GetStream(object): diff --git a/lbrynet/lbrynet_daemon/LBRYPublisher.py b/lbrynet/lbrynet_daemon/LBRYPublisher.py index e68a06498..181dbe1bf 100644 --- a/lbrynet/lbrynet_daemon/LBRYPublisher.py +++ b/lbrynet/lbrynet_daemon/LBRYPublisher.py @@ -12,19 +12,7 @@ from lbrynet.core.PaymentRateManager import PaymentRateManager from lbrynet.lbryfilemanager.LBRYFileDownloader import ManagedLBRYFileDownloader from twisted.internet import threads, defer -if sys.platform != "darwin": - log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") -else: - log_dir = user_data_dir("LBRY") - -if not os.path.isdir(log_dir): - os.mkdir(log_dir) - -LOG_FILENAME = os.path.join(log_dir, 'lbrynet-daemon.log') log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) -log.addHandler(handler) -log.setLevel(logging.INFO) class Publisher(object): diff --git a/lbrynet/lbrynet_daemon/LBRYUIManager.py b/lbrynet/lbrynet_daemon/LBRYUIManager.py index b4aa33cd5..9a21b3594 100644 --- a/lbrynet/lbrynet_daemon/LBRYUIManager.py +++ b/lbrynet/lbrynet_daemon/LBRYUIManager.py @@ -14,20 +14,7 @@ from lbryum.version import ELECTRUM_VERSION as lbryum_version from zipfile import ZipFile from appdirs import user_data_dir -if sys.platform != "darwin": - data_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") -else: - data_dir = user_data_dir("LBRY") - -if not os.path.isdir(data_dir): - os.mkdir(data_dir) -version_dir = os.path.join(data_dir, "ui_version_history") -if not os.path.isdir(version_dir): - os.mkdir(version_dir) - log = logging.getLogger(__name__) -log.addHandler(logging.FileHandler(os.path.join(data_dir, 'lbrynet-daemon.log'))) -log.setLevel(logging.INFO) class LBRYUIManager(object): diff --git a/lbrynet/lbrynet_daemon/__init__.py b/lbrynet/lbrynet_daemon/__init__.py index e69de29bb..1a5ad27bc 100644 --- a/lbrynet/lbrynet_daemon/__init__.py +++ b/lbrynet/lbrynet_daemon/__init__.py @@ -0,0 +1,4 @@ +import logging + +log = logging.getLogger(__name__) +log.setLevel(logging.INFO) \ No newline at end of file From 8faa0d9e013c6fe6076367a06973d1f6cdf2bd46 Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 6 Jun 2016 15:24:29 -0400 Subject: [PATCH 12/18] update lbryum log path --- lbrynet/lbrynet_daemon/LBRYDaemon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index 79d2bc016..e90343795 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -48,7 +48,7 @@ from lbrynet.core.PTCWallet import PTCWallet from lbrynet.core.LBRYcrdWallet import LBRYcrdWallet, LBRYumWallet from lbrynet.lbryfilemanager.LBRYFileManager import LBRYFileManager from lbrynet.lbryfile.LBRYFileMetadataManager import DBLBRYFileMetadataManager, TempLBRYFileMetadataManager -from lbryum.util import LOG_PATH as lbryum_log +from lbryum import LOG_PATH as lbryum_log from lbrynet import LOG_PATH as lbrynet_log log = logging.getLogger(__name__) From ecd85a53a1eff3f668b3205164c091aef079a9ce Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 7 Jun 2016 01:20:44 -0400 Subject: [PATCH 13/18] ui dir for linux --- lbrynet/lbrynet_daemon/LBRYUIManager.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lbrynet/lbrynet_daemon/LBRYUIManager.py b/lbrynet/lbrynet_daemon/LBRYUIManager.py index 9a21b3594..425d31df4 100644 --- a/lbrynet/lbrynet_daemon/LBRYUIManager.py +++ b/lbrynet/lbrynet_daemon/LBRYUIManager.py @@ -19,7 +19,11 @@ log = logging.getLogger(__name__) class LBRYUIManager(object): def __init__(self, root): - self.data_dir = user_data_dir("LBRY") + if sys.platform != "darwin": + self.data_dir = os.path.join(os.path.expanduser("~"), '.lbrynet') + else: + self.data_dir = user_data_dir("LBRY") + self.ui_root = os.path.join(self.data_dir, "lbry-ui") self.active_dir = os.path.join(self.ui_root, "active") self.update_dir = os.path.join(self.ui_root, "update") @@ -28,10 +32,10 @@ class LBRYUIManager(object): os.mkdir(self.data_dir) if not os.path.isdir(self.ui_root): os.mkdir(self.ui_root) - if not os.path.isdir(self.ui_root): - os.mkdir(self.ui_root) - if not os.path.isdir(self.ui_root): - os.mkdir(self.ui_root) + if not os.path.isdir(self.active_dir): + os.mkdir(self.active_dir) + if not os.path.isdir(self.update_dir): + os.mkdir(self.update_dir) self.config = os.path.join(self.ui_root, "active.json") self.update_requires = os.path.join(self.update_dir, "requirements.txt") From 755338ded0d6147766b501d950e4bd09f40f61d4 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 7 Jun 2016 03:08:32 -0400 Subject: [PATCH 14/18] import logging.handlers --- lbrynet/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lbrynet/__init__.py b/lbrynet/__init__.py index 2ad73a6a5..4882c1e23 100644 --- a/lbrynet/__init__.py +++ b/lbrynet/__init__.py @@ -1,4 +1,5 @@ import logging +import logging.handlers import sys import os from lbrynet.conf import LOG_FILE_NAME From a0f823910cc1d8f634e101fd7ed3a12562a241a6 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 7 Jun 2016 03:16:22 -0400 Subject: [PATCH 15/18] delete accidentally committed file --- .../daemon_scripts/network_tester.py | 160 ------------------ 1 file changed, 160 deletions(-) delete mode 100644 lbrynet/lbrynet_daemon/daemon_scripts/network_tester.py diff --git a/lbrynet/lbrynet_daemon/daemon_scripts/network_tester.py b/lbrynet/lbrynet_daemon/daemon_scripts/network_tester.py deleted file mode 100644 index d62bdc3b1..000000000 --- a/lbrynet/lbrynet_daemon/daemon_scripts/network_tester.py +++ /dev/null @@ -1,160 +0,0 @@ -import json -import logging -import os -import sys - -from appdirs import user_data_dir -from datetime import datetime -from twisted.internet import defer -from twisted.internet.task import LoopingCall - -from lbrynet.core.Error import InvalidStreamInfoError, InsufficientFundsError -from lbrynet.core.PaymentRateManager import PaymentRateManager -from lbrynet.core.StreamDescriptor import download_sd_blob -from lbrynet.lbryfilemanager.LBRYFileDownloader import ManagedLBRYFileDownloaderFactory -from lbrynet.conf import DEFAULT_TIMEOUT - -INITIALIZING_CODE = 'initializing' -DOWNLOAD_METADATA_CODE = 'downloading_metadata' -DOWNLOAD_TIMEOUT_CODE = 'timeout' -DOWNLOAD_RUNNING_CODE = 'running' -DOWNLOAD_STOPPED_CODE = 'stopped' -STREAM_STAGES = [ - (INITIALIZING_CODE, 'Initializing...'), - (DOWNLOAD_METADATA_CODE, 'Downloading metadata'), - (DOWNLOAD_RUNNING_CODE, 'Started stream'), - (DOWNLOAD_STOPPED_CODE, 'Paused stream'), - (DOWNLOAD_TIMEOUT_CODE, 'Stream timed out') - ] - -if sys.platform != "darwin": - log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") -else: - log_dir = user_data_dir("LBRY") - -if not os.path.isdir(log_dir): - os.mkdir(log_dir) - -LOG_FILENAME = os.path.join(log_dir, 'lbrynet-daemon.log') -log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) -log.addHandler(handler) -log.setLevel(logging.INFO) - - -class GetStream(object): - def __init__(self, sd_identifier, session, wallet, lbry_file_manager, max_key_fee, pay_key=True, data_rate=0.5, - timeout=DEFAULT_TIMEOUT, download_directory=None, file_name=None): - self.wallet = wallet - self.resolved_name = None - self.description = None - self.key_fee = None - self.key_fee_address = None - self.data_rate = data_rate - self.pay_key = pay_key - self.name = None - self.file_name = file_name - self.session = session - self.payment_rate_manager = PaymentRateManager(self.session.base_payment_rate_manager) - self.lbry_file_manager = lbry_file_manager - self.sd_identifier = sd_identifier - self.stream_hash = None - self.max_key_fee = max_key_fee - self.stream_info = None - self.stream_info_manager = None - self.d = defer.Deferred(None) - self.timeout = timeout - self.timeout_counter = 0 - self.download_directory = download_directory - self.download_path = None - self.downloader = None - self.finished = defer.Deferred() - self.checker = LoopingCall(self.check_status) - self.code = STREAM_STAGES[0] - - def check_status(self): - self.timeout_counter += 1 - - if self.download_path: - self.checker.stop() - self.finished.callback((self.stream_hash, self.download_path)) - - elif self.timeout_counter >= self.timeout: - log.info("Timeout downloading lbry://" + self.resolved_name + ", " + str(self.stream_info)) - self.checker.stop() - self.d.cancel() - self.code = STREAM_STAGES[4] - self.finished.callback(False) - - def start(self, stream_info, name): - self.resolved_name = name - self.stream_info = stream_info - if 'stream_hash' in self.stream_info.keys(): - self.stream_hash = self.stream_info['stream_hash'] - elif 'sources' in self.stream_info.keys(): - self.stream_hash = self.stream_info['sources']['lbry_sd_hash'] - else: - raise InvalidStreamInfoError(self.stream_info) - if 'description' in self.stream_info.keys(): - self.description = self.stream_info['description'] - if 'key_fee' in self.stream_info.keys(): - self.key_fee = float(self.stream_info['key_fee']) - if 'key_fee_address' in self.stream_info.keys(): - self.key_fee_address = self.stream_info['key_fee_address'] - else: - self.key_fee_address = None - else: - self.key_fee = None - self.key_fee_address = None - if self.key_fee > self.max_key_fee: - if self.pay_key: - log.info("Key fee (" + str(self.key_fee) + ") above limit of " + str( - self.max_key_fee) + ", didn't download lbry://" + str(self.resolved_name)) - return defer.fail(None) - else: - pass - - def _cause_timeout(): - self.timeout_counter = self.timeout * 2 - - def _set_status(x, status): - self.code = next(s for s in STREAM_STAGES if s[0] == status) - return x - - self.checker.start(1) - - self.d.addCallback(lambda _: _set_status(None, DOWNLOAD_METADATA_CODE)) - self.d.addCallback(lambda _: download_sd_blob(self.session, self.stream_hash, self.payment_rate_manager)) - self.d.addCallback(self.sd_identifier.get_metadata_for_sd_blob) - self.d.addCallback(lambda r: _set_status(r, DOWNLOAD_RUNNING_CODE)) - self.d.addCallback(lambda metadata: ( - next(factory for factory in metadata.factories if isinstance(factory, ManagedLBRYFileDownloaderFactory)), - metadata)) - self.d.addCallback(lambda (factory, metadata): factory.make_downloader(metadata, - [self.data_rate, True], - self.payment_rate_manager, - download_directory=self.download_directory, - file_name=self.file_name)) - self.d.addCallbacks(self._start_download, lambda _: _cause_timeout()) - self.d.callback(None) - - return self.finished - - def _start_download(self, downloader): - def _pay_key_fee(): - if self.key_fee is not None and self.key_fee_address is not None: - reserved_points = self.wallet.reserve_points(self.key_fee_address, self.key_fee) - if reserved_points is None: - return defer.fail(InsufficientFundsError()) - log.info("Key fee: " + str(self.key_fee) + " | " + str(self.key_fee_address)) - return self.wallet.send_points_to_address(reserved_points, self.key_fee) - return defer.succeed(None) - - if self.pay_key: - d = _pay_key_fee() - else: - d = defer.Deferred() - self.downloader = downloader - self.download_path = os.path.join(downloader.download_directory, downloader.file_name) - d.addCallback(lambda _: log.info("[" + str(datetime.now()) + "] Downloading " + str(self.stream_hash) + " --> " + str(self.download_path))) - d.addCallback(lambda _: self.downloader.start()) From 3441dd4d2d1ed771f241cd1a140bc7d2d2dfcd4c Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 7 Jun 2016 04:19:51 -0400 Subject: [PATCH 16/18] don't mess with logging --- lbrynet/__init__.py | 24 +-------------------- lbrynet/lbrynet_daemon/LBRYDaemon.py | 22 +++++++++++++++---- lbrynet/lbrynet_daemon/LBRYDaemonControl.py | 17 ++++++++++++--- lbrynet/lbrynet_daemon/LBRYDaemonServer.py | 6 +++++- lbrynet/lbrynet_daemon/LBRYDownloader.py | 15 +++++++++++-- lbrynet/lbrynet_daemon/LBRYPublisher.py | 13 +++++++++++ lbrynet/lbrynet_daemon/LBRYUIManager.py | 14 +++++++++++- lbrynet/lbrynet_daemon/__init__.py | 4 ---- 8 files changed, 77 insertions(+), 38 deletions(-) diff --git a/lbrynet/__init__.py b/lbrynet/__init__.py index 4882c1e23..7bb1777c8 100644 --- a/lbrynet/__init__.py +++ b/lbrynet/__init__.py @@ -1,29 +1,7 @@ import logging -import logging.handlers -import sys -import os -from lbrynet.conf import LOG_FILE_NAME -from appdirs import user_data_dir - -if sys.platform != "darwin": - log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") -else: - log_dir = user_data_dir("LBRY") - -if not os.path.isdir(log_dir): - os.mkdir(log_dir) - -LOG_PATH = os.path.join(log_dir, LOG_FILE_NAME) - -if os.path.isfile(LOG_PATH): - f = open(LOG_PATH, 'r') - PREVIOUS_LOG = len(f.read()) - f.close() -else: - PREVIOUS_LOG = 0 log = logging.getLogger(__name__) -log.addHandler(logging.FileHandler(filename=LOG_PATH)) +logging.getLogger(__name__).addHandler(logging.NullHandler()) log.setLevel(logging.ERROR) version = (0, 2, 5) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemon.py b/lbrynet/lbrynet_daemon/LBRYDaemon.py index e90343795..ac157bd71 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemon.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemon.py @@ -39,8 +39,7 @@ from lbrynet.lbrynet_daemon.LBRYPublisher import Publisher from lbrynet.core.utils import generate_id from lbrynet.lbrynet_console.LBRYSettings import LBRYSettings from lbrynet.conf import MIN_BLOB_DATA_PAYMENT_RATE, DEFAULT_MAX_SEARCH_RESULTS, KNOWN_DHT_NODES, DEFAULT_MAX_KEY_FEE, \ - DEFAULT_WALLET, DEFAULT_SEARCH_TIMEOUT, DEFAULT_CACHE_TIME, DEFAULT_UI_BRANCH, LOG_POST_URL -from lbrynet import LOG_PATH + DEFAULT_WALLET, DEFAULT_SEARCH_TIMEOUT, DEFAULT_CACHE_TIME, DEFAULT_UI_BRANCH, LOG_POST_URL, LOG_FILE_NAME from lbrynet.conf import DEFAULT_TIMEOUT, WALLET_TYPES from lbrynet.core.StreamDescriptor import StreamDescriptorIdentifier, download_sd_blob from lbrynet.core.Session import LBRYSession @@ -49,10 +48,25 @@ from lbrynet.core.LBRYcrdWallet import LBRYcrdWallet, LBRYumWallet from lbrynet.lbryfilemanager.LBRYFileManager import LBRYFileManager from lbrynet.lbryfile.LBRYFileMetadataManager import DBLBRYFileMetadataManager, TempLBRYFileMetadataManager from lbryum import LOG_PATH as lbryum_log -from lbrynet import LOG_PATH as lbrynet_log log = logging.getLogger(__name__) + +if sys.platform != "darwin": + log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") +else: + log_dir = user_data_dir("LBRY") + +if not os.path.isdir(log_dir): + os.mkdir(log_dir) + +lbrynet_log = os.path.join(log_dir, LOG_FILE_NAME) + +log = logging.getLogger(__name__) +handler = logging.handlers.RotatingFileHandler(lbrynet_log, maxBytes=2097152, backupCount=5) +log.addHandler(handler) +log.setLevel(logging.INFO) + if os.path.isfile(lbryum_log): f = open(lbryum_log, 'r') PREVIOUS_LBRYUM_LOG = len(f.read()) @@ -143,7 +157,7 @@ class LBRYDaemon(jsonrpc.JSONRPC): self.ip = None self.wallet_type = wallet_type self.first_run = None - self.log_file = LOG_PATH + self.log_file = lbrynet_log self.current_db_revision = 1 self.run_server = True self.session = None diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py index 05134488a..8b4c95e41 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py @@ -6,6 +6,7 @@ import webbrowser import sys import socket import platform +from appdirs import user_data_dir from twisted.web import server from twisted.internet import reactor, defer @@ -13,11 +14,21 @@ from jsonrpc.proxy import JSONRPCProxy from lbrynet.lbrynet_daemon.LBRYDaemonServer import LBRYDaemonServer from lbrynet.conf import API_CONNECTION_STRING, API_INTERFACE, API_ADDRESS, API_PORT, \ - DEFAULT_WALLET, UI_ADDRESS, DEFAULT_UI_BRANCH -from lbrynet import LOG_PATH + DEFAULT_WALLET, UI_ADDRESS, DEFAULT_UI_BRANCH, LOG_FILE_NAME +if sys.platform != "darwin": + log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") +else: + log_dir = user_data_dir("LBRY") -log = logging.getLogger(LOG_PATH) +if not os.path.isdir(log_dir): + os.mkdir(log_dir) + +LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) +log = logging.getLogger(__name__) +handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +log.addHandler(handler) +log.setLevel(logging.INFO) REMOTE_SERVER = "www.google.com" diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py index fd86887c9..ec5bebbc7 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py @@ -13,7 +13,7 @@ from twisted.internet import defer, interfaces, error, reactor, task, threads from zope.interface import implements from lbrynet.lbrynet_daemon.LBRYDaemon import LBRYDaemon -from lbrynet.conf import API_CONNECTION_STRING, API_ADDRESS, DEFAULT_WALLET, UI_ADDRESS, DEFAULT_UI_BRANCH +from lbrynet.conf import API_CONNECTION_STRING, API_ADDRESS, DEFAULT_WALLET, UI_ADDRESS, DEFAULT_UI_BRANCH, LOG_FILE_NAME if sys.platform != "darwin": @@ -23,7 +23,11 @@ else: if not os.path.isdir(data_dir): os.mkdir(data_dir) +LOG_FILENAME = os.path.join(data_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) +handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +log.addHandler(handler) +log.setLevel(logging.INFO) class LBRYindex(resource.Resource): diff --git a/lbrynet/lbrynet_daemon/LBRYDownloader.py b/lbrynet/lbrynet_daemon/LBRYDownloader.py index 47ec47cd7..6e3126958 100644 --- a/lbrynet/lbrynet_daemon/LBRYDownloader.py +++ b/lbrynet/lbrynet_daemon/LBRYDownloader.py @@ -12,7 +12,7 @@ from lbrynet.core.Error import InvalidStreamInfoError, InsufficientFundsError from lbrynet.core.PaymentRateManager import PaymentRateManager from lbrynet.core.StreamDescriptor import download_sd_blob from lbrynet.lbryfilemanager.LBRYFileDownloader import ManagedLBRYFileDownloaderFactory -from lbrynet.conf import DEFAULT_TIMEOUT +from lbrynet.conf import DEFAULT_TIMEOUT, LOG_FILE_NAME INITIALIZING_CODE = 'initializing' DOWNLOAD_METADATA_CODE = 'downloading_metadata' @@ -27,8 +27,19 @@ STREAM_STAGES = [ (DOWNLOAD_TIMEOUT_CODE, 'Stream timed out') ] -log = logging.getLogger(__name__) +if sys.platform != "darwin": + log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") +else: + log_dir = user_data_dir("LBRY") +if not os.path.isdir(log_dir): + os.mkdir(log_dir) + +LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) +log = logging.getLogger(__name__) +handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +log.addHandler(handler) +log.setLevel(logging.INFO) class GetStream(object): def __init__(self, sd_identifier, session, wallet, lbry_file_manager, max_key_fee, pay_key=True, data_rate=0.5, diff --git a/lbrynet/lbrynet_daemon/LBRYPublisher.py b/lbrynet/lbrynet_daemon/LBRYPublisher.py index 181dbe1bf..a2804aecb 100644 --- a/lbrynet/lbrynet_daemon/LBRYPublisher.py +++ b/lbrynet/lbrynet_daemon/LBRYPublisher.py @@ -10,9 +10,22 @@ from lbrynet.lbryfilemanager.LBRYFileCreator import create_lbry_file from lbrynet.lbryfile.StreamDescriptor import publish_sd_blob from lbrynet.core.PaymentRateManager import PaymentRateManager from lbrynet.lbryfilemanager.LBRYFileDownloader import ManagedLBRYFileDownloader +from lbrynet.conf import LOG_FILE_NAME from twisted.internet import threads, defer +if sys.platform != "darwin": + log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") +else: + log_dir = user_data_dir("LBRY") + +if not os.path.isdir(log_dir): + os.mkdir(log_dir) + +LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) +handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +log.addHandler(handler) +log.setLevel(logging.INFO) class Publisher(object): diff --git a/lbrynet/lbrynet_daemon/LBRYUIManager.py b/lbrynet/lbrynet_daemon/LBRYUIManager.py index 425d31df4..76a75e284 100644 --- a/lbrynet/lbrynet_daemon/LBRYUIManager.py +++ b/lbrynet/lbrynet_daemon/LBRYUIManager.py @@ -8,13 +8,25 @@ from urllib2 import urlopen from StringIO import StringIO from twisted.web import static from twisted.internet import defer -from lbrynet.conf import DEFAULT_UI_BRANCH +from lbrynet.conf import DEFAULT_UI_BRANCH, LOG_FILE_NAME from lbrynet import __version__ as lbrynet_version from lbryum.version import ELECTRUM_VERSION as lbryum_version from zipfile import ZipFile from appdirs import user_data_dir +if sys.platform != "darwin": + log_dir = os.path.join(os.path.expanduser("~"), ".lbrynet") +else: + log_dir = user_data_dir("LBRY") + +if not os.path.isdir(log_dir): + os.mkdir(log_dir) + +LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) +handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +log.addHandler(handler) +log.setLevel(logging.INFO) class LBRYUIManager(object): diff --git a/lbrynet/lbrynet_daemon/__init__.py b/lbrynet/lbrynet_daemon/__init__.py index 1a5ad27bc..e69de29bb 100644 --- a/lbrynet/lbrynet_daemon/__init__.py +++ b/lbrynet/lbrynet_daemon/__init__.py @@ -1,4 +0,0 @@ -import logging - -log = logging.getLogger(__name__) -log.setLevel(logging.INFO) \ No newline at end of file From 761e4f2718af5cb83dacd84e72204889ab1a46a1 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 7 Jun 2016 04:30:22 -0400 Subject: [PATCH 17/18] change variable name to lbrynet_log --- lbrynet/lbrynet_daemon/LBRYDaemonControl.py | 6 +++--- lbrynet/lbrynet_daemon/LBRYDaemonServer.py | 4 ++-- lbrynet/lbrynet_daemon/LBRYDownloader.py | 4 ++-- lbrynet/lbrynet_daemon/LBRYPublisher.py | 4 ++-- lbrynet/lbrynet_daemon/LBRYUIManager.py | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py index 8b4c95e41..309570873 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonControl.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonControl.py @@ -24,9 +24,9 @@ else: if not os.path.isdir(log_dir): os.mkdir(log_dir) -LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) +lbrynet_log = os.path.join(log_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +handler = logging.handlers.RotatingFileHandler(lbrynet_log, maxBytes=2097152, backupCount=5) log.addHandler(handler) log.setLevel(logging.INFO) @@ -94,7 +94,7 @@ def start(): if not args.logtoconsole and not args.quiet: print "Starting lbrynet-daemon from command line" - print "To view activity, view the log file here: " + LOG_PATH + print "To view activity, view the log file here: " + lbrynet_log print "Web UI is available at http://%s:%i" % (API_INTERFACE, API_PORT) print "JSONRPC API is available at " + API_CONNECTION_STRING print "To quit press ctrl-c or call 'stop' via the API" diff --git a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py index ec5bebbc7..74906da0b 100644 --- a/lbrynet/lbrynet_daemon/LBRYDaemonServer.py +++ b/lbrynet/lbrynet_daemon/LBRYDaemonServer.py @@ -23,9 +23,9 @@ else: if not os.path.isdir(data_dir): os.mkdir(data_dir) -LOG_FILENAME = os.path.join(data_dir, LOG_FILE_NAME) +lbrynet_log = os.path.join(data_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +handler = logging.handlers.RotatingFileHandler(lbrynet_log, maxBytes=2097152, backupCount=5) log.addHandler(handler) log.setLevel(logging.INFO) diff --git a/lbrynet/lbrynet_daemon/LBRYDownloader.py b/lbrynet/lbrynet_daemon/LBRYDownloader.py index 6e3126958..a134c44e5 100644 --- a/lbrynet/lbrynet_daemon/LBRYDownloader.py +++ b/lbrynet/lbrynet_daemon/LBRYDownloader.py @@ -35,9 +35,9 @@ else: if not os.path.isdir(log_dir): os.mkdir(log_dir) -LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) +lbrynet_log = os.path.join(log_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +handler = logging.handlers.RotatingFileHandler(lbrynet_log, maxBytes=2097152, backupCount=5) log.addHandler(handler) log.setLevel(logging.INFO) diff --git a/lbrynet/lbrynet_daemon/LBRYPublisher.py b/lbrynet/lbrynet_daemon/LBRYPublisher.py index a2804aecb..f7fd64f57 100644 --- a/lbrynet/lbrynet_daemon/LBRYPublisher.py +++ b/lbrynet/lbrynet_daemon/LBRYPublisher.py @@ -21,9 +21,9 @@ else: if not os.path.isdir(log_dir): os.mkdir(log_dir) -LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) +lbrynet_log = os.path.join(log_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +handler = logging.handlers.RotatingFileHandler(lbrynet_log, maxBytes=2097152, backupCount=5) log.addHandler(handler) log.setLevel(logging.INFO) diff --git a/lbrynet/lbrynet_daemon/LBRYUIManager.py b/lbrynet/lbrynet_daemon/LBRYUIManager.py index 76a75e284..e7c405352 100644 --- a/lbrynet/lbrynet_daemon/LBRYUIManager.py +++ b/lbrynet/lbrynet_daemon/LBRYUIManager.py @@ -22,9 +22,9 @@ else: if not os.path.isdir(log_dir): os.mkdir(log_dir) -LOG_FILENAME = os.path.join(log_dir, LOG_FILE_NAME) +lbrynet_log = os.path.join(log_dir, LOG_FILE_NAME) log = logging.getLogger(__name__) -handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=2097152, backupCount=5) +handler = logging.handlers.RotatingFileHandler(lbrynet_log, maxBytes=2097152, backupCount=5) log.addHandler(handler) log.setLevel(logging.INFO) From 8629076814b6a5cb3202d67e5cbe891608d90b77 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 7 Jun 2016 04:41:26 -0400 Subject: [PATCH 18/18] use lbryio/lbry-osx-app.git for lbry/packaging/osx/lbry-osx-app --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index a8c2e8de6..60a3e5d06 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "packaging/osx/lbry-osx-app"] path = packaging/osx/lbry-osx-app - url = https://github.com/jobevers/lbry-osx-app.git + url = https://github.com/lbryio/lbry-osx-app.git