Repository: streamlink/streamlink

Issue:
plugins.foxtr: name changed to nowtvtr
### Checklist

- [X] This is a [plugin issue](https://streamlink.github.io/plugins.html) and not [a different kind of issue](https://github.com/streamlink/streamlink/issues/new/choose)
- [X] [I have read the contribution guidelines](https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md#contributing-to-streamlink)
- [X] [I have checked the list of open and recently closed plugin issues](https://github.com/streamlink/streamlink/issues?q=is%3Aissue+label%3A%22plugin+issue%22)
- [X] [I have checked the commit log of the master branch](https://github.com/streamlink/streamlink/commits/master)

### Streamlink version

6.5.1

### Description

Hello Team,
As my first message, guidlines and conducts read before, apologies if confusions and thank you for Streamlink tool project.
Since today Turkish Fox channel becomes Now Tv. Website url https://www.fox.com.tr/ name has officially changed to https://www.nowtv.com.tr/
Impacted plugin file location : https://github.com/streamlink/streamlink/blob/master/src/streamlink/plugins/foxtr.py
Could someone update that python file content if possible ? Feel free to feedback me if any please, Thanks a lot, Regards

### Debug log

```text
Debug log precision get on fox.com.tr :
An error occurred: Unable to open URL: https://www.fox.com.tr/canli-yayin?m3u8
(HTTPSConnectionPool(host='www.fox.com.tr', port=443): Max retries exceeded with url: /canli-yayin?m3u8
(Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)'))))
```



Discussion:

Resolving patch:
diff --git a/src/streamlink/plugins/foxtr.py b/src/streamlink/plugins/foxtr.py
deleted file mode 100644
--- a/src/streamlink/plugins/foxtr.py
+++ /dev/null
@@ -1,27 +0,0 @@
-"""
-$description Turkish live TV channel owned by Fox Network.
-$url fox.com.tr
-$type live
-"""
-
-import re
-
-from streamlink.plugin import Plugin, pluginmatcher
-from streamlink.plugin.api import validate
-from streamlink.stream.hls import HLSStream
-
-
-@pluginmatcher(re.compile(
-    r"https?://(?:www\.)?fox(?:play)?\.com\.tr/",
-))
-class FoxTR(Plugin):
-    def _get_streams(self):
-        re_streams = re.compile(r"""(['"])(?P<url>https://\S+/foxtv\.m3u8\S+)\1""")
-        res = self.session.http.get(self.url, schema=validate.Schema(
-            validate.transform(re_streams.findall),
-        ))
-        for _, stream_url in res:
-            return HLSStream.parse_variant_playlist(self.session, stream_url)
-
-
-__plugin__ = FoxTR
diff --git a/src/streamlink/plugins/nowtvtr.py b/src/streamlink/plugins/nowtvtr.py
new file mode 100644
--- /dev/null
+++ b/src/streamlink/plugins/nowtvtr.py
@@ -0,0 +1,27 @@
+"""
+$description Turkish live TV channel owned by Disney.
+$url nowtv.com.tr
+$type live, vod
+"""
+
+import re
+
+from streamlink.plugin import Plugin, pluginmatcher
+from streamlink.plugin.api import validate
+from streamlink.stream.hls import HLSStream
+
+
+@pluginmatcher(re.compile(
+    r"https?://(?:www\.)?nowtv\.com\.tr/",
+))
+class NowTVTR(Plugin):
+    def _get_streams(self):
+        stream_url = self.session.http.get(self.url, schema=validate.Schema(
+            re.compile(r"""(?P<q>['"])(?P<url>https://nowtv[^/]+/\S+/playlist\.m3u8\?\S+)(?P=q)"""),
+            validate.none_or_all(validate.get("url")),
+        ))
+        if stream_url:
+            return HLSStream.parse_variant_playlist(self.session, stream_url)
+
+
+__plugin__ = NowTVTR


Test patch:
diff --git a/tests/plugins/test_foxtr.py b/tests/plugins/test_foxtr.py
deleted file mode 100644
--- a/tests/plugins/test_foxtr.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from streamlink.plugins.foxtr import FoxTR
-from tests.plugins import PluginCanHandleUrl
-
-
-class TestPluginCanHandleUrlFoxTR(PluginCanHandleUrl):
-    __plugin__ = FoxTR
-
-    should_match = [
-        "http://www.fox.com.tr/canli-yayin",
-    ]
diff --git a/tests/plugins/test_nowtvtr.py b/tests/plugins/test_nowtvtr.py
new file mode 100644
--- /dev/null
+++ b/tests/plugins/test_nowtvtr.py
@@ -0,0 +1,14 @@
+from streamlink.plugins.nowtvtr import NowTVTR
+from tests.plugins import PluginCanHandleUrl
+
+
+class TestPluginCanHandleUrlFoxTR(PluginCanHandleUrl):
+    __plugin__ = NowTVTR
+
+    should_match = [
+        "https://www.nowtv.com.tr/canli-yayin",
+        "https://www.nowtv.com.tr/now-haber",
+        "https://www.nowtv.com.tr/yayin-akisi",
+        "https://www.nowtv.com.tr/Gaddar/bolumler",
+        "https://www.nowtv.com.tr/Memet-Ozer-ile-Mutfakta/bolumler",
+    ]