Repository: streamlink/streamlink

Issue:
Plugin 'reshet' changed URL
<!--
Thanks for reporting a plugin issue!
USE THE TEMPLATE. Otherwise your plugin issue may be rejected.

First, see the contribution guidelines:
https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md#contributing-to-streamlink

Also check the list of open and closed plugin issues:
https://github.com/streamlink/streamlink/issues?q=is%3Aissue+label%3A%22plugin+issue%22

Please see the text preview to avoid unnecessary formatting errors.
-->


## Plugin Issue

<!-- Replace [ ] with [x] in order to check the box -->
- [x] This is a plugin issue and I have read the contribution guidelines.


### Description

<!-- Explain the plugin issue as thoroughly as you can. -->
Hi,
"reshet.tv" has changed to "13tv.co.il", making the plugin unuseable.
I suspect there are also changes to the API.


Discussion:
It would appear that there is a static non geo-IP restricted URL:

```http://reshet-live-il.ctedgecdn.net/13tv-desktop/r13.m3u8```

```
$ streamlink hls://https://reshet-live-il.ctedgecdn.net/13tv-desktop/r13.m3u8 360p
[cli][info] Found matching plugin hls for URL hls://https://reshet-live-il.ctedgecdn.net/13tv-desktop/r13.m3u8
[cli][info] Available streams: 360p (worst), 480p_alt, 480p (best)
[cli][info] Opening stream: 360p (hls)
[cli][info] Starting player: mpv
[cli][info] Player closed
[cli][info] Stream ended
[cli][info] Closing currently open stream...
```


Resolving patch:
diff --git a/src/streamlink/plugins/reshet.py b/src/streamlink/plugins/reshet.py
deleted file mode 100644
--- a/src/streamlink/plugins/reshet.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from __future__ import print_function
-
-import re
-
-from streamlink.plugin import Plugin
-from streamlink.plugins.brightcove import BrightcovePlayer
-
-
-class Reshet(Plugin):
-    url_re = re.compile(r"https?://(?:www\.)?reshet\.tv/(live|item/)")
-    video_id_re = re.compile(r'"videoID"\s*:\s*"(\d+)"')
-    account_id = "1551111274001"
-    live_channel_id = "ref:stream_reshet_live1"
-
-    @classmethod
-    def can_handle_url(cls, url):
-        return cls.url_re.match(url) is not None
-
-    def _get_streams(self):
-        bp = BrightcovePlayer(self.session, self.account_id)
-        m = self.url_re.match(self.url)
-        base = m and m.group(1)
-        if base == "live":
-            return bp.get_streams(self.live_channel_id)
-        else:
-            res = self.session.http.get(self.url)
-            m = self.video_id_re.search(res.text)
-            video_id = m and m.group(1)
-            if video_id:
-                return bp.get_streams(video_id)
-
-
-__plugin__ = Reshet


Test patch:
diff --git a/tests/plugins/test_reshet.py b/tests/plugins/test_reshet.py
deleted file mode 100644
--- a/tests/plugins/test_reshet.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import unittest
-
-from streamlink.plugins.reshet import Reshet
-
-
-class TestPluginReshet(unittest.TestCase):
-    def test_can_handle_url(self):
-        should_match = [
-            "https://www.reshet.tv/live",
-            "http://www.reshet.tv/live",
-            "http://reshet.tv/live",
-            "https://reshet.tv/live",
-            "http://reshet.tv/item/foo/bar123",
-            "https://reshet.tv/item/foo/bar123",
-            "https://www.reshet.tv/item/foo/bar123",
-            "http://www.reshet.tv/item/foo/bar123",
-        ]
-        for url in should_match:
-            self.assertTrue(Reshet.can_handle_url(url))
-
-    def test_can_handle_url_negative(self):
-        should_not_match = [
-            "https://www.youtube.com",
-        ]
-        for url in should_not_match:
-            self.assertFalse(Reshet.can_handle_url(url))