Thank you. This is really helpful.
I have migrated the latest version over to GitHub
docker pull ghcr.io/jgomez177/pluto-for-channels:latest
Version 1.04 that cleans up the code and gives the option to pull only those wanted playlists
Once I can port some of my changes from python into javascript may look at doing a PR
No more US East, US West, Canada, UK ?
I only use US Local.
Pluto Playlist v1.04
Last Updated: Feb 23, 2024
PLUTO LOCAL: http://192.168.1.3:8080/pluto/local/playlist.m3u PLUTO LOCAL channel-id by "provider"-"id" (i.mjh.nz compatibility): http://192.168.1.3:8080/mjh_compatible/pluto/local/playlist.m3u PLUTO LOCAL channel-id by "slug" (maddox compatibility): http://192.168.1.3:8080/maddox_compatible/pluto/local/playlist.m3u PLUTO LOCAL EPG: http://192.168.1.3:8080/pluto/epg/local/epg-local.xml PLUTO LOCAL EPG GZ: http://192.168.1.3:8080/pluto/epg/local/epg-local.xml.gz
This one doesn't play the channels for me.
Here's the docker log after trying to watch 2 channels live.
2024-02-24T03:24:17.226846378Z [2024-02-23 19:24:17,223] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:17.227825379Z Traceback (most recent call last):
2024-02-24T03:24:17.228117511Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:17.228500422Z response = self.full_dispatch_request()
2024-02-24T03:24:17.228688011Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:17.228976454Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:17.229150728Z rv = self.handle_user_exception(e)
2024-02-24T03:24:17.229252090Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:17.229387439Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:17.229559762Z rv = self.dispatch_request()
2024-02-24T03:24:17.229665473Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:17.229751170Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:17.230180764Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:17.230374398Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:17.230473403Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:17.230575945Z token = resp.get('token','')
2024-02-24T03:24:17.230671052Z ^^^^^^^^
2024-02-24T03:24:17.230752549Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:24:18.309573243Z [2024-02-23 19:24:18,306] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:18.310470679Z Traceback (most recent call last):
2024-02-24T03:24:18.310667613Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:18.310884021Z response = self.full_dispatch_request()
2024-02-24T03:24:18.311076391Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:18.311223018Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:18.311517149Z rv = self.handle_user_exception(e)
2024-02-24T03:24:18.311708238Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:18.311900993Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:18.312108954Z rv = self.dispatch_request()
2024-02-24T03:24:18.312214635Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:18.312298419Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:18.312467054Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:18.312590257Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:18.312676093Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:18.312772749Z token = resp.get('token','')
2024-02-24T03:24:18.312904381Z ^^^^^^^^
2024-02-24T03:24:18.312989499Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:24:19.252793460Z [2024-02-23 19:24:19,249] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:19.253721165Z Traceback (most recent call last):
2024-02-24T03:24:19.253905919Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:19.254041603Z response = self.full_dispatch_request()
2024-02-24T03:24:19.254214339Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:19.254454949Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:19.254656350Z rv = self.handle_user_exception(e)
2024-02-24T03:24:19.254835240Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:19.254968732Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:19.255191264Z rv = self.dispatch_request()
2024-02-24T03:24:19.255395052Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:19.255515116Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:19.255633887Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:19.256066947Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:19.256191891Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:19.256295024Z token = resp.get('token','')
2024-02-24T03:24:19.256476974Z ^^^^^^^^
2024-02-24T03:24:19.256585557Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:24:20.390733547Z [2024-02-23 19:24:20,385] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:20.390948184Z Traceback (most recent call last):
2024-02-24T03:24:20.391049610Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:20.391196670Z response = self.full_dispatch_request()
2024-02-24T03:24:20.391290622Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:20.391464388Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:20.391585344Z rv = self.handle_user_exception(e)
2024-02-24T03:24:20.391678288Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:20.391763888Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:20.391869945Z rv = self.dispatch_request()
2024-02-24T03:24:20.392003355Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:20.392177993Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:20.392387796Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:20.392607354Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:20.392791917Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:20.393018704Z token = resp.get('token','')
2024-02-24T03:24:20.393207469Z ^^^^^^^^
2024-02-24T03:24:20.393304771Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:24:21.270138187Z [2024-02-23 19:24:21,266] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:21.271064912Z Traceback (most recent call last):
2024-02-24T03:24:21.271266927Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:21.271644154Z response = self.full_dispatch_request()
2024-02-24T03:24:21.271833075Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:21.272009249Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:21.272179964Z rv = self.handle_user_exception(e)
2024-02-24T03:24:21.272447880Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:21.272624507Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:21.272752756Z rv = self.dispatch_request()
2024-02-24T03:24:21.272844239Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:21.272928271Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:21.273033907Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:21.273152382Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:21.273593370Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:21.273744320Z token = resp.get('token','')
2024-02-24T03:24:21.273841990Z ^^^^^^^^
2024-02-24T03:24:21.273927522Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:24:22.343720902Z [2024-02-23 19:24:22,340] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:22.343970346Z Traceback (most recent call last):
2024-02-24T03:24:22.344084613Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:22.344193748Z response = self.full_dispatch_request()
2024-02-24T03:24:22.344285489Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:22.344465208Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:22.344591843Z rv = self.handle_user_exception(e)
2024-02-24T03:24:22.344686434Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:22.344772494Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:22.344882679Z rv = self.dispatch_request()
2024-02-24T03:24:22.344979201Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:22.345172739Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:22.345365642Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:22.345582165Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:22.345736752Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:22.345897910Z token = resp.get('token','')
2024-02-24T03:24:22.346105779Z ^^^^^^^^
2024-02-24T03:24:22.346224647Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:24:23.368950206Z [2024-02-23 19:24:23,365] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:23.369861041Z Traceback (most recent call last):
2024-02-24T03:24:23.370049526Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:23.370191248Z response = self.full_dispatch_request()
2024-02-24T03:24:23.370393352Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:23.370574546Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:23.370751545Z rv = self.handle_user_exception(e)
2024-02-24T03:24:23.370938367Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:23.371076815Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:23.371268618Z rv = self.dispatch_request()
2024-02-24T03:24:23.371579655Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:23.371686693Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:23.371803810Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:23.371920533Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:23.372006196Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:23.372103674Z token = resp.get('token','')
2024-02-24T03:24:23.372540170Z ^^^^^^^^
2024-02-24T03:24:23.372681113Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:24:24.515499700Z [2024-02-23 19:24:24,509] ERROR in app: Exception on /pluto/local/watch/5efbd39f8c4ce900075d7698 [GET]
2024-02-24T03:24:24.516618681Z Traceback (most recent call last):
2024-02-24T03:24:24.516884313Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:24:24.517179926Z response = self.full_dispatch_request()
2024-02-24T03:24:24.517557987Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:24.517788109Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:24:24.518015742Z rv = self.handle_user_exception(e)
2024-02-24T03:24:24.518231679Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:24.518518653Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:24:24.518780841Z rv = self.dispatch_request()
2024-02-24T03:24:24.518992482Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:24.519180233Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:24:24.519519904Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:24:24.520504746Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:24:24.521191405Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:24:24.521510114Z token = resp.get('token','')
2024-02-24T03:24:24.521739431Z ^^^^^^^^
2024-02-24T03:24:24.521902724Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:01.005390906Z [2024-02-23 19:25:01,002] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:01.007964226Z Traceback (most recent call last):
2024-02-24T03:25:01.008238643Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:01.008609395Z response = self.full_dispatch_request()
2024-02-24T03:25:01.008822243Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:01.008980505Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:01.009172890Z rv = self.handle_user_exception(e)
2024-02-24T03:25:01.009433819Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:01.009614604Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:01.009783366Z rv = self.dispatch_request()
2024-02-24T03:25:01.009921832Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:01.010062723Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:01.010241838Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:01.010524819Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:01.010699649Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:01.010912640Z token = resp.get('token','')
2024-02-24T03:25:01.011080530Z ^^^^^^^^
2024-02-24T03:25:01.011218030Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:02.081394422Z [2024-02-23 19:25:02,078] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:02.081618702Z Traceback (most recent call last):
2024-02-24T03:25:02.081723424Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:02.081833589Z response = self.full_dispatch_request()
2024-02-24T03:25:02.081925529Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:02.082010458Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:02.082111747Z rv = self.handle_user_exception(e)
2024-02-24T03:25:02.082209593Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:02.082310209Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:02.082462388Z rv = self.dispatch_request()
2024-02-24T03:25:02.082556422Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:02.082641091Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:02.082748813Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:02.082855824Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:02.082944418Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:02.083040723Z token = resp.get('token','')
2024-02-24T03:25:02.083131126Z ^^^^^^^^
2024-02-24T03:25:02.083226611Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:03.041857525Z [2024-02-23 19:25:03,038] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:03.042651054Z Traceback (most recent call last):
2024-02-24T03:25:03.042815347Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:03.042946180Z response = self.full_dispatch_request()
2024-02-24T03:25:03.043052785Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:03.043150194Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:03.043260442Z rv = self.handle_user_exception(e)
2024-02-24T03:25:03.043432128Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:03.043580710Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:03.043721404Z rv = self.dispatch_request()
2024-02-24T03:25:03.043817125Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:03.043908561Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:03.044015361Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:03.044136710Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:03.044237295Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:03.044376993Z token = resp.get('token','')
2024-02-24T03:25:03.044501485Z ^^^^^^^^
2024-02-24T03:25:03.044590067Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:04.114881341Z [2024-02-23 19:25:04,111] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:04.115491493Z Traceback (most recent call last):
2024-02-24T03:25:04.115722941Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:04.115928462Z response = self.full_dispatch_request()
2024-02-24T03:25:04.116115430Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:04.116283975Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:04.116627856Z rv = self.handle_user_exception(e)
2024-02-24T03:25:04.116970129Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:04.117456778Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:04.117748988Z rv = self.dispatch_request()
2024-02-24T03:25:04.118166308Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:04.118322676Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:04.118527006Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:04.118646202Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:04.118734944Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:04.118830471Z token = resp.get('token','')
2024-02-24T03:25:04.118920586Z ^^^^^^^^
2024-02-24T03:25:04.119002178Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:05.068111359Z [2024-02-23 19:25:05,064] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:05.128253395Z Traceback (most recent call last):
2024-02-24T03:25:05.128500411Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:05.128645606Z response = self.full_dispatch_request()
2024-02-24T03:25:05.128742126Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:05.128825459Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:05.128926501Z rv = self.handle_user_exception(e)
2024-02-24T03:25:05.129018457Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:05.129105166Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:05.129207761Z rv = self.dispatch_request()
2024-02-24T03:25:05.129294650Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:05.129425484Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:05.129542496Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:05.129656245Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:05.129747855Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:05.129845635Z token = resp.get('token','')
2024-02-24T03:25:05.129939985Z ^^^^^^^^
2024-02-24T03:25:05.130021949Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:06.209578698Z [2024-02-23 19:25:06,206] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:06.210458605Z Traceback (most recent call last):
2024-02-24T03:25:06.210653868Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:06.211071087Z response = self.full_dispatch_request()
2024-02-24T03:25:06.211215582Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:06.211309861Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:06.211590666Z rv = self.handle_user_exception(e)
2024-02-24T03:25:06.211703106Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:06.211793550Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:06.211913467Z rv = self.dispatch_request()
2024-02-24T03:25:06.212017768Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:06.212103453Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:06.212207400Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:06.212358594Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:06.212477079Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:06.212582647Z token = resp.get('token','')
2024-02-24T03:25:06.212678091Z ^^^^^^^^
2024-02-24T03:25:06.212760144Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:07.093507863Z [2024-02-23 19:25:07,090] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:07.094385532Z Traceback (most recent call last):
2024-02-24T03:25:07.094567151Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:07.094705004Z response = self.full_dispatch_request()
2024-02-24T03:25:07.094804472Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:07.094891071Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:07.095011094Z rv = self.handle_user_exception(e)
2024-02-24T03:25:07.095110671Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:07.095205033Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:07.095433516Z rv = self.dispatch_request()
2024-02-24T03:25:07.095555125Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:07.095641815Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:07.095751402Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:07.095869546Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:07.095973077Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:07.096075044Z token = resp.get('token','')
2024-02-24T03:25:07.096165741Z ^^^^^^^^
2024-02-24T03:25:07.096247111Z AttributeError: 'tuple' object has no attribute 'get'
2024-02-24T03:25:08.179419033Z [2024-02-23 19:25:08,176] ERROR in app: Exception on /pluto/local/watch/55b285cd2665de274553d66f [GET]
2024-02-24T03:25:08.179663149Z Traceback (most recent call last):
2024-02-24T03:25:08.179766928Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 1463, in wsgi_app
2024-02-24T03:25:08.179870819Z response = self.full_dispatch_request()
2024-02-24T03:25:08.179960309Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:08.180311606Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 872, in full_dispatch_request
2024-02-24T03:25:08.180680675Z rv = self.handle_user_exception(e)
2024-02-24T03:25:08.180807171Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:08.180894992Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 870, in full_dispatch_request
2024-02-24T03:25:08.180998820Z rv = self.dispatch_request()
2024-02-24T03:25:08.181091197Z ^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:08.181174943Z File "/usr/local/lib/python3.12/site-packages/flask/app.py", line 855, in dispatch_request
2024-02-24T03:25:08.181277049Z return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
2024-02-24T03:25:08.181443955Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-24T03:25:08.181551095Z File "/app/pywsgi.py", line 213, in watch
2024-02-24T03:25:08.181647958Z token = resp.get('token','')
2024-02-24T03:25:08.181737200Z ^^^^^^^^
2024-02-24T03:25:08.181819725Z AttributeError: 'tuple' object has no attribute 'get'
None of the channels play.
Restarted the container and still the same errors.
Re-pulled and ran again. Same errors.
Giving up on this version.
Thanks for the find, my bad - corrected the error,
Also I had changed the default to only local - but put that back to all available
You can use the optional variable to only select local:
-e PLUTO_CODE=local
# docker pull ghcr.io/jgomez177/pluto-for-channels:latest
latest: Pulling from jgomez177/pluto-for-channels
manifest unknown
# docker pull ghcr.io/jgomez177/pluto-for-channels:1.05
1.05: Pulling from jgomez177/pluto-for-channels
manifest unknown
Nocords pulls using code developed by maddox. And i do not pull data using any geolocation of Orlando, so would be a national weathernation feed
weird...did a rebuild, try again
OK, pulling now. Will reply back if I can actually play a channel
Finally. This one works!
The channels are back.
thanks for the quick fix.
The container is holding on to old stale guide data!
Two symptoms
- Increasing counts of airings and skipped (stale) airings
2024/02/23 21:22:16.587896 [DVR] Indexed 12882 airings into XMLTV-Plutojg (392 channels over 38h30m0s) + 62 skipped [17s index]
2024/02/23 23:23:09.988965 [DVR] Indexed 24801 airings into XMLTV-Plutojg (392 channels over 38h5m0s) + 1069 skipped [33s index]
2024/02/24 01:24:34.684970 [DVR] Indexed 35635 airings into XMLTV-Plutojg (391 channels over 40h0m0s) + 2995 skipped [47s index]
2024/02/24 03:26:29.618113 [DVR] Indexed 45602 airings into XMLTV-Plutojg (391 channels over 38h30m0s) + 5882 skipped [1m1s index]
2024/02/24 05:28:54.249475 [DVR] Indexed 54592 airings into XMLTV-Plutojg (391 channels over 39h0m0s) + 9750 skipped [1m15s index]
2024/02/24 09:54:41.782107 [DVR] Indexed 68332 airings into XMLTV-Plutojg (391 channels over 38h0m0s) + 21724 skipped [1m34s index]
- Increasing container memory usage
Here's the oldest airing in the XML guide data. Time corresponds to the first fetch when the container was started.
<programme channel="545943f1c9f133a519bbac92" start="20240224050000 +0000" stop="20240224064500 +0000">
<title>Mystery Science Theater 3000: The Wild Wild World of Batwoman</title>
Thanks, forgot to purge old data and just piling on...
will correct that
@joagomez Is PLUTO_CODE=all
correct to explicitly set it to "all available"
Edit: Never mind, I see it now in the docs -- temporary brain freeze.
I saw the documentation, but there's also supposed to be an "all" option. Usually something like that can be set explicitly, rather than only in the absence of other settings.
Where did you see that?
Looking at it again though, maybe it's a comma separated list that includes everything shown in the doc, as opposed to something like "all":
PLUTO_CODE=us_east,us_west,local,ca,uk
Or some subset of the above? Not sure why you'd want all of them, but maybe one region and local?
Doh, I see it now, it's a comma separated list shown right in the default box in the docs.
@joagomez
You can tell you pulled :latest :1.06 commit 8b612ce
When you see this
Because v1.04 Last Updated: Feb 23, 2024
is hard coded in the included pywsgi.py
<section class="section">\
<div class="container">\
<h1 class="title">\
{provider.capitalize()} Playlist\
<span class="tag">v1.04</span>\
</h1>\
<p class="subtitle">\
Last Updated: Feb 23, 2024\
'