Skip to content

Commit

Permalink
Allow deleting torrent without prompt #31
Browse files Browse the repository at this point in the history
  • Loading branch information
i96751414 committed Oct 28, 2023
1 parent 3c79f57 commit 9ca3588
Show file tree
Hide file tree
Showing 7 changed files with 87 additions and 26 deletions.
15 changes: 8 additions & 7 deletions lib/navigation.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
from lib.kodi_formats import is_music, is_picture, is_video, is_text
from lib.player import TorrestPlayer
from lib.settings import get_service_address, get_port, get_buffering_timeout, show_status_overlay, \
get_min_candidate_size, ask_to_delete_torrent, download_after_insert, get_files_order, get_metadata_timeout, \
ssl_enabled
get_min_candidate_size, get_on_playback_stop_action, download_after_insert, get_files_order, get_metadata_timeout, \
ssl_enabled, FilesOrder, PlaybackStopAction
from lib.torrest.api import Torrest, TorrestError, STATUS_SEEDING, STATUS_PAUSED
from lib.utils import sizeof_fmt

Expand Down Expand Up @@ -118,7 +118,8 @@ def get_status_labels(info_hash):


def handle_player_stop(info_hash, name=None, initial_delay=0.5, listing_timeout=10):
if not ask_to_delete_torrent():
stop_action = get_on_playback_stop_action()
if stop_action == PlaybackStopAction.IGNORE:
return
try:
info = api.torrent_info(info_hash)
Expand All @@ -132,8 +133,8 @@ def handle_player_stop(info_hash, name=None, initial_delay=0.5, listing_timeout=
while getCondVisibility("Window.IsActive(busydialog)") and not 0 < listing_timeout < time.time() - start_time:
sleep(100)

remove_torrent = Dialog().yesno(ADDON_NAME, name + "\n" + translate(30241))
if remove_torrent:
if (stop_action == PlaybackStopAction.DELETE
or Dialog().yesno(ADDON_NAME, name + "\n" + translate(30241))):
api.remove_torrent(info_hash, delete=True)
current_folder = getInfoLabel("Container.FolderPath")
if current_folder == plugin.url_for(torrent_files, info_hash):
Expand Down Expand Up @@ -213,9 +214,9 @@ def torrent_status(info_hash):

def sort_files(files):
order = get_files_order()
if order == 1:
if order == FilesOrder.NAME:
files.sort(key=lambda k: k.name)
elif order == 2:
elif order == FilesOrder.SIZE:
files.sort(key=lambda k: k.length)


Expand Down
16 changes: 14 additions & 2 deletions lib/settings.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
from lib.kodi import get_int_setting, get_boolean_setting, get_setting, set_boolean_setting


class FilesOrder:
ID = 0
NAME = 1
SIZE = 2


class PlaybackStopAction:
ASK_TO_DELETE = 0
DELETE = 1
IGNORE = 2


def get_port():
return get_int_setting("port")

Expand All @@ -25,8 +37,8 @@ def get_min_candidate_size():
return get_int_setting("min_candidate_size")


def ask_to_delete_torrent():
return get_boolean_setting("ask_to_delete")
def get_on_playback_stop_action():
return get_int_setting("on_playback_stop")


def service_enabled():
Expand Down
20 changes: 16 additions & 4 deletions resources/language/resource.language.en_gb/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,6 @@ msgctxt "#30055"
msgid "Minimum video candidate size (MB)"
msgstr ""

msgctxt "#30056"
msgid "Ask to remove torrent after streaming"
msgstr ""

msgctxt "#30057"
msgid "Service log level"
msgstr ""
Expand Down Expand Up @@ -298,6 +294,22 @@ msgctxt "#30085"
msgid "Force torrest binary - Requires restart"
msgstr ""

msgctxt "#30086"
msgid "Action to perform on playback stop"
msgstr ""

msgctxt "#30087"
msgid "Ask to delete torrent"
msgstr ""

msgctxt "#30088"
msgid "Delete torrent"
msgstr ""

msgctxt "#30089"
msgid "Do nothing"
msgstr ""

# Service
msgctxt "#30100"
msgid "Torrest - first run"
Expand Down
20 changes: 16 additions & 4 deletions resources/language/resource.language.es_es/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,6 @@ msgctxt "#30055"
msgid "Minimum video candidate size (MB)"
msgstr "Tamaño mínimo de video candidato (MB)"

msgctxt "#30056"
msgid "Ask to remove torrent after streaming"
msgstr "Preguntar eliminar torrent después de la transmisión"

msgctxt "#30057"
msgid "Service log level"
msgstr "Nivel de registro de servicio"
Expand Down Expand Up @@ -298,6 +294,22 @@ msgctxt "#30085"
msgid "Force torrest binary - Requires restart"
msgstr "Forzar binario de torrest - Requiere reiniciar"

msgctxt "#30086"
msgid "Action to perform on playback stop"
msgstr "Acción a realizar al parar la reproducción"

msgctxt "#30087"
msgid "Ask to delete torrent"
msgstr "Preguntar eliminar torrent"

msgctxt "#30088"
msgid "Delete torrent"
msgstr "Eliminar torrent"

msgctxt "#30089"
msgid "Do nothing"
msgstr "Hacer nada"

# Service
msgctxt "#30100"
msgid "Torrest - first run"
Expand Down
20 changes: 16 additions & 4 deletions resources/language/resource.language.pt_br/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,6 @@ msgctxt "#30055"
msgid "Minimum video candidate size (MB)"
msgstr "Tamanho mínimo de candidato a vídeo (MB)"

msgctxt "#30056"
msgid "Ask to remove torrent after streaming"
msgstr "Pedir para remover o torrent após a transmissão"

msgctxt "#30057"
msgid "Service log level"
msgstr "Nível de log do serviço"
Expand Down Expand Up @@ -298,6 +294,22 @@ msgctxt "#30085"
msgid "Force torrest binary - Requires restart"
msgstr "Forçar binário torrest - Requer reinicialização"

msgctxt "#30086"
msgid "Action to perform on playback stop"
msgstr "Ação a executar na parada da reprodução"

msgctxt "#30087"
msgid "Ask to delete torrent"
msgstr "Pedir para remover o torrent"

msgctxt "#30088"
msgid "Delete torrent"
msgstr "Remover o torrent"

msgctxt "#30089"
msgid "Do nothing"
msgstr "Nenhuma"

# Service
msgctxt "#30100"
msgid "Torrest - first run"
Expand Down
20 changes: 16 additions & 4 deletions resources/language/resource.language.pt_pt/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,6 @@ msgctxt "#30055"
msgid "Minimum video candidate size (MB)"
msgstr "Tamanho mínimo de candidato a vídeo (MB)"

msgctxt "#30056"
msgid "Ask to remove torrent after streaming"
msgstr "Pedir para remover o torrent após a transmissão"

msgctxt "#30057"
msgid "Service log level"
msgstr "Nível de log do serviço"
Expand Down Expand Up @@ -298,6 +294,22 @@ msgctxt "#30085"
msgid "Force torrest binary - Requires restart"
msgstr "Forçar binário torrest - Requer reinicialização"

msgctxt "#30086"
msgid "Action to perform on playback stop"
msgstr "Ação a executar ao parar a reprodução"

msgctxt "#30087"
msgid "Ask to delete torrent"
msgstr "Pedir para remover o torrent"

msgctxt "#30088"
msgid "Delete torrent"
msgstr "Remover o torrent"

msgctxt "#30089"
msgid "Do nothing"
msgstr "Nenhuma"

# Service
msgctxt "#30100"
msgid "Torrest - first run"
Expand Down
2 changes: 1 addition & 1 deletion resources/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<setting id="metadata_timeout" type="slider" label="30081" option="int" range="0,10,120" default="30"/>
<setting id="buffer_timeout" type="slider" label="30003" option="int" range="0,30,600" default="300"/>
<setting id="min_candidate_size" type="slider" label="30055" option="int" range="0,10,200" default="100"/>
<setting id="ask_to_delete" type="bool" label="30056" default="true"/>
<setting id="on_playback_stop" type="enum" label="30086" default="0" lvalues="30087|30088|30089"/>
<setting id="show_bg_progress" type="bool" label="30068" default="true"/>
<setting id="download_after_insert" type="bool" label="30062" default="false"/>
<setting id="migrated" type="bool" visible="false" default="false"/>
Expand Down

0 comments on commit 9ca3588

Please sign in to comment.