add reveal() function and delete_target_file param for delete_lbry_file
This commit is contained in:
parent
75052fc773
commit
41f8b5aee2
1 changed files with 31 additions and 5 deletions
|
@ -1,5 +1,6 @@
|
||||||
import locale
|
import locale
|
||||||
import os
|
import os
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
import binascii
|
import binascii
|
||||||
|
@ -1094,7 +1095,7 @@ class LBRYDaemon(jsonrpc.JSONRPC):
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
|
||||||
def _delete_lbry_file(self, lbry_file):
|
def _delete_lbry_file(self, lbry_file, delete_file=True):
|
||||||
d = self.lbry_file_manager.delete_lbry_file(lbry_file)
|
d = self.lbry_file_manager.delete_lbry_file(lbry_file)
|
||||||
|
|
||||||
def finish_deletion(lbry_file):
|
def finish_deletion(lbry_file):
|
||||||
|
@ -1107,6 +1108,7 @@ class LBRYDaemon(jsonrpc.JSONRPC):
|
||||||
d = self.lbry_file_manager.get_count_for_stream_hash(s_h)
|
d = self.lbry_file_manager.get_count_for_stream_hash(s_h)
|
||||||
# TODO: could possibly be a timing issue here
|
# TODO: could possibly be a timing issue here
|
||||||
d.addCallback(lambda c: self.stream_info_manager.delete_stream(s_h) if c == 0 else True)
|
d.addCallback(lambda c: self.stream_info_manager.delete_stream(s_h) if c == 0 else True)
|
||||||
|
if delete_file:
|
||||||
d.addCallback(lambda _: os.remove(os.path.join(self.download_directory, lbry_file.file_name)) if
|
d.addCallback(lambda _: os.remove(os.path.join(self.download_directory, lbry_file.file_name)) if
|
||||||
os.path.isfile(os.path.join(self.download_directory, lbry_file.file_name)) else defer.succeed(None))
|
os.path.isfile(os.path.join(self.download_directory, lbry_file.file_name)) else defer.succeed(None))
|
||||||
return d
|
return d
|
||||||
|
@ -1792,14 +1794,19 @@ class LBRYDaemon(jsonrpc.JSONRPC):
|
||||||
confirmation message
|
confirmation message
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if 'delete_target_file' in p.keys():
|
||||||
|
delete_file = p['delete_target_file']
|
||||||
|
else:
|
||||||
|
delete_file = True
|
||||||
|
|
||||||
def _delete_file(f):
|
def _delete_file(f):
|
||||||
file_name = f.file_name
|
file_name = f.file_name
|
||||||
d = self._delete_lbry_file(f)
|
d = self._delete_lbry_file(f, delete_file=delete_file)
|
||||||
d.addCallback(lambda _: "Deleted LBRY file" + file_name)
|
d.addCallback(lambda _: "Deleted LBRY file" + file_name)
|
||||||
return d
|
return d
|
||||||
|
|
||||||
if p.keys()[0] in ['name', 'sd_hash', 'file_name']:
|
if 'name' in p.keys() or 'sd_hash' in p.keys() or 'file_name' in p.keys():
|
||||||
search_type = p.keys()[0]
|
search_type = [k for k in p.keys() if k != 'delete_target_file'][0]
|
||||||
d = self._get_lbry_file(search_type, p[search_type], return_json=False)
|
d = self._get_lbry_file(search_type, p[search_type], return_json=False)
|
||||||
d.addCallback(lambda l: _delete_file(l) if l else False)
|
d.addCallback(lambda l: _delete_file(l) if l else False)
|
||||||
|
|
||||||
|
@ -2202,3 +2209,22 @@ class LBRYDaemon(jsonrpc.JSONRPC):
|
||||||
d.addCallback(lambda r: self._render_response(r, OK_CODE))
|
d.addCallback(lambda r: self._render_response(r, OK_CODE))
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
def jsonrpc_reveal(self, p):
|
||||||
|
"""
|
||||||
|
Open a folder in finder/file explorer
|
||||||
|
|
||||||
|
Args:
|
||||||
|
'path': path to be selected in finder
|
||||||
|
Returns:
|
||||||
|
True, opens finder
|
||||||
|
"""
|
||||||
|
|
||||||
|
path = p['path']
|
||||||
|
if sys.platform == "darwin":
|
||||||
|
d = threads.deferToThread(subprocess.Popen, ("open -R %s" % path), shell=True)
|
||||||
|
else:
|
||||||
|
d = threads.deferToThread(subprocess.Popen, ("xdg-open %s" % path), shell=True)
|
||||||
|
|
||||||
|
d.addCallback(lambda _: self._render_response(True, OK_CODE))
|
||||||
|
return d
|
Loading…
Reference in a new issue