prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  powerapp.py No plugin can handle URL
  ## Error Report
  
  - [X] This is a bug report and I have read the Posting Guidelines.
  
  ### Description
  
   powerapp.com.tr should be able to play the stations
  
  
  ### Expected / actual behavior
  
  Inserting the page in the streamlink does not play the stream. About my web browser Firefox I see the picture and hear the sound synonymous
  
  ### Reproduction steps / Explicit stream URLs to test
  
  1.www.powerapp.com.tr/tvs/powertv/
  
  streamlink http://www.powerapp.com.tr/tvs/powertv best
  
  ### log output
  
  > streamlink http://www.powerapp.com.tr/tvs/powertv best
  error: No plugin can handle URL: http://www.powerapp.com.tr/tvs/powertv
  > error: No plugin can handle URL: http://www.powerapp.com.tr/tvs/powertv
  error:: The term "error:" was not used as the name of a cmdlet, a function, a script file, or a
  recognized executable program. Check the spelling of the name, or if the path is correct (provided
  contain) and repeat the process.
  In line: 1 character: 1
  + error: No plugin can handle URL: http://www.powerapp.com.tr/tvs/power ...
  +~~~~~
      + CategoryInfo: ObjectNotFound: (error :: String) [], CommandNotFoundException
      + FullyQualifiedErrorId: CommandNotFoundException
  
  
  ### Additional comments, screenshots, etc.
  
   Screenshot
  
  https://i.ibb.co/g99nXC0/france.jpg
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `src/streamlink/plugins/powerapp.py`
  Content:
  ```
  1 from __future__ import print_function
  2 import re
  3 
  4 from streamlink.plugin import Plugin
  5 from streamlink.plugin.api import validate
  6 from streamlink.stream import HLSStream
  7 
  8 
  9 class PowerApp(Plugin):
  10     url_re = re.compile(r"https?://(?:www.)?powerapp.com.tr/tv/(\w+)")
  11     api_url = "http://api.powergroup.com.tr/Channels/{0}/?appRef=iPowerWeb&apiVersion=11"
  12     api_schema = validate.Schema(validate.all({
  13         "errorCode": 0,
  14         "response": {
  15             "channel_stream_url": validate.url()
  16         }
  17     }, validate.get("response")))
  18 
  19     @classmethod
  20     def can_handle_url(cls, url):
  21         return cls.url_re.match(url) is not None
  22 
  23     def _get_streams(self):
  24         channel = self.url_re.match(self.url).group(1)
  25 
  26         res = self.session.http.get(self.api_url.format(channel))
  27         data = self.session.http.json(res, schema=self.api_schema)
  28 
  29         return HLSStream.parse_variant_playlist(self.session, data["channel_stream_url"])
  30 
  31 
  32 __plugin__ = PowerApp
  33
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/src/streamlink/plugins/powerapp.py b/src/streamlink/plugins/powerapp.py
  --- a/src/streamlink/plugins/powerapp.py
  +++ b/src/streamlink/plugins/powerapp.py
  @@ -7,7 +7,7 @@
   
   
   class PowerApp(Plugin):
  -    url_re = re.compile(r"https?://(?:www.)?powerapp.com.tr/tv/(\w+)")
  +    url_re = re.compile(r"https?://(?:www.)?powerapp.com.tr/tvs?/(\w+)")
       api_url = "http://api.powergroup.com.tr/Channels/{0}/?appRef=iPowerWeb&apiVersion=11"
       api_schema = validate.Schema(validate.all({
           "errorCode": 0,
  
verification_info: {"golden_diff": "diff --git a/src/streamlink/plugins/powerapp.py b/src/streamlink/plugins/powerapp.py\n--- a/src/streamlink/plugins/powerapp.py\n+++ b/src/streamlink/plugins/powerapp.py\n@@ -7,7 +7,7 @@\n \n \n class PowerApp(Plugin):\n-    url_re = re.compile(r\"https?://(?:www.)?powerapp.com.tr/tv/(\\w+)\")\n+    url_re = re.compile(r\"https?://(?:www.)?powerapp.com.tr/tvs?/(\\w+)\")\n     api_url = \"http://api.powergroup.com.tr/Channels/{0}/?appRef=iPowerWeb&apiVersion=11\"\n     api_schema = validate.Schema(validate.all({\n         \"errorCode\": 0,\n", "issue": "powerapp.py No plugin can handle URL\n## Error Report\r\n\r\n- [X] This is a bug report and I have read the Posting Guidelines.\r\n\r\n### Description\r\n\r\n powerapp.com.tr should be able to play the stations\r\n\r\n\r\n### Expected / actual behavior\r\n\r\nInserting the page in the streamlink does not play the stream. About my web browser Firefox I see the picture and hear the sound synonymous\r\n\r\n### Reproduction steps / Explicit stream URLs to test\r\n\r\n1.www.powerapp.com.tr/tvs/powertv/\r\n\r\nstreamlink http://www.powerapp.com.tr/tvs/powertv best\r\n\r\n### log output\r\n\r\n> streamlink http://www.powerapp.com.tr/tvs/powertv best\r\nerror: No plugin can handle URL: http://www.powerapp.com.tr/tvs/powertv\r\n> error: No plugin can handle URL: http://www.powerapp.com.tr/tvs/powertv\r\nerror:: The term \"error:\" was not used as the name of a cmdlet, a function, a script file, or a\r\nrecognized executable program. Check the spelling of the name, or if the path is correct (provided\r\ncontain) and repeat the process.\r\nIn line: 1 character: 1\r\n+ error: No plugin can handle URL: http://www.powerapp.com.tr/tvs/power ...\r\n+~~~~~\r\n    + CategoryInfo: ObjectNotFound: (error :: String) [], CommandNotFoundException\r\n    + FullyQualifiedErrorId: CommandNotFoundException\r\n\r\n\r\n### Additional comments, screenshots, etc.\r\n\r\n Screenshot\r\n\r\nhttps://i.ibb.co/g99nXC0/france.jpg\n", "before_files": [{"content": "from __future__ import print_function\nimport re\n\nfrom streamlink.plugin import Plugin\nfrom streamlink.plugin.api import validate\nfrom streamlink.stream import HLSStream\n\n\nclass PowerApp(Plugin):\n    url_re = re.compile(r\"https?://(?:www.)?powerapp.com.tr/tv/(\\w+)\")\n    api_url = \"http://api.powergroup.com.tr/Channels/{0}/?appRef=iPowerWeb&apiVersion=11\"\n    api_schema = validate.Schema(validate.all({\n        \"errorCode\": 0,\n        \"response\": {\n            \"channel_stream_url\": validate.url()\n        }\n    }, validate.get(\"response\")))\n\n    @classmethod\n    def can_handle_url(cls, url):\n        return cls.url_re.match(url) is not None\n\n    def _get_streams(self):\n        channel = self.url_re.match(self.url).group(1)\n\n        res = self.session.http.get(self.api_url.format(channel))\n        data = self.session.http.json(res, schema=self.api_schema)\n\n        return HLSStream.parse_variant_playlist(self.session, data[\"channel_stream_url\"])\n\n\n__plugin__ = PowerApp\n", "path": "src/streamlink/plugins/powerapp.py"}], "after_files": [{"content": "from __future__ import print_function\nimport re\n\nfrom streamlink.plugin import Plugin\nfrom streamlink.plugin.api import validate\nfrom streamlink.stream import HLSStream\n\n\nclass PowerApp(Plugin):\n    url_re = re.compile(r\"https?://(?:www.)?powerapp.com.tr/tvs?/(\\w+)\")\n    api_url = \"http://api.powergroup.com.tr/Channels/{0}/?appRef=iPowerWeb&apiVersion=11\"\n    api_schema = validate.Schema(validate.all({\n        \"errorCode\": 0,\n        \"response\": {\n            \"channel_stream_url\": validate.url()\n        }\n    }, validate.get(\"response\")))\n\n    @classmethod\n    def can_handle_url(cls, url):\n        return cls.url_re.match(url) is not None\n\n    def _get_streams(self):\n        channel = self.url_re.match(self.url).group(1)\n\n        res = self.session.http.get(self.api_url.format(channel))\n        data = self.session.http.json(res, schema=self.api_schema)\n\n        return HLSStream.parse_variant_playlist(self.session, data[\"channel_stream_url\"])\n\n\n__plugin__ = PowerApp\n", "path": "src/streamlink/plugins/powerapp.py"}]}