MCPcopy Create free account
hub / github.com/Dispatcharr/Dispatcharr / delete

Method delete

apps/channels/api_views.py:4079–4115  ·  view source on GitHub ↗
(self, request)

Source from the content-addressed store, hash-verified

4077 ],
4078 )
4079 def delete(self, request):
4080 tvg_id = str(request.query_params.get("tvg_id") or "").strip()
4081 title = request.query_params.get("title")
4082
4083 rules = CoreSettings.get_dvr_series_rules()
4084
4085 def _matches(r):
4086 tvg_match = str(r.get("tvg_id") or "") == tvg_id
4087 title_match = title is None or str(r.get("title") or "") == title
4088 return tvg_match and title_match
4089
4090 deleted_rule = next((r for r in rules if _matches(r)), None)
4091 remaining = [r for r in rules if not _matches(r)]
4092 CoreSettings.set_dvr_series_rules(remaining)
4093
4094 removed = 0
4095 if deleted_rule:
4096 from .models import Recording
4097 qs = Recording.objects.filter(start_time__gte=timezone.now())
4098 rule_tvg_id = deleted_rule.get("tvg_id") or ""
4099 if rule_tvg_id:
4100 qs = qs.filter(custom_properties__program__tvg_id=rule_tvg_id)
4101 rule_title = deleted_rule.get("title") or ""
4102 if rule_title:
4103 qs = qs.filter(custom_properties__program__title=rule_title)
4104 removed = qs.count()
4105 qs.delete()
4106
4107 try:
4108 from core.utils import send_websocket_update
4109 send_websocket_update('updates', 'update', {
4110 "success": True, "type": "recordings_refreshed", "removed": removed,
4111 })
4112 except Exception:
4113 pass
4114
4115 return Response({"success": True, "rules": remaining, "removed": removed})
4116
4117
4118class SeriesRulePreviewAPIView(APIView):

Callers 15

LazyLogoFunction · 0.45
ChannelStreamsFunction · 0.45
VODLogosTableFunction · 0.45
LogosTableFunction · 0.45
handleRowClickFunction · 0.45
renderBodyCellFunction · 0.45
onChannelProfilesChangeFunction · 0.45
channels.jsxFile · 0.45
useLogosByIdFunction · 0.45
revoke_taskFunction · 0.45
createMethod · 0.45
updateMethod · 0.45

Calls 5

send_websocket_updateFunction · 0.90
get_dvr_series_rulesMethod · 0.80
set_dvr_series_rulesMethod · 0.80
getMethod · 0.45
filterMethod · 0.45

Tested by 7

failing_swapMethod · 0.36
setUpMethod · 0.36
tearDownMethod · 0.36