cabernetwork / cabernet

Cabernet allows control of IPTV streams. Plugins supports DaddyLive, Pluto TV, XUMO, M3U/XMLTV.XML files (SamsungTV, STIRR, DistroTV, Plex TV)
https://cabernetwork.github.io
MIT License
204 stars 28 forks source link

DB Exception on channel update #166

Closed vmazi closed 1 week ago

vmazi commented 4 weeks ago

Click

Refresh DaddyLive Channels under "Scheduled Tasks"

Logs in docker show

2024-10-29 00:41:30,992-ERROR:scheduler UNEXPECTED EXCEPTION on GET=Error binding parameter 7 - probably unsupported type.
Traceback (most recent call last):
Traceback (most recent call last):
  File "/app/lib/schedule/scheduler.py", line 157, in call_trigger
  File "/app/lib/schedule/scheduler.py", line 157, in call_trigger
    results = call_f()
    results = call_f()
  File "/app/lib/plugins/plugin_obj.py", line 225, in refresh_channels
  File "/app/lib/plugins/plugin_obj.py", line 225, in refresh_channels
    return self.refresh_it('Channels', _instance)
    return self.refresh_it('Channels', _instance)
  File "/app/lib/plugins/plugin_obj.py", line 248, in refresh_it
  File "/app/lib/plugins/plugin_obj.py", line 248, in refresh_it
    instance.refresh_channels()
    instance.refresh_channels()
  File "/app/lib/plugins/plugin_instance_obj.py", line 152, in refresh_channels
  File "/app/lib/plugins/plugin_instance_obj.py", line 152, in refresh_channels
    return self.channels.refresh_channels()
    return self.channels.refresh_channels()
  File "/app/lib/plugins/plugin_channels.py", line 145, in refresh_channels
  File "/app/lib/plugins/plugin_channels.py", line 145, in refresh_channels
    self.db.save_channel_list(
    self.db.save_channel_list(
  File "/app/lib/db/db_channels.py", line 221, in save_channel_list
  File "/app/lib/db/db_channels.py", line 221, in save_channel_list
    self.add(DB_CHANNELS_TABLE, (
    self.add(DB_CHANNELS_TABLE, (
  File "/app/lib/db/db.py", line 94, in add
  File "/app/lib/db/db.py", line 94, in add
    self.sql_exec(sqlcmd, _values, cur)
    self.sql_exec(sqlcmd, _values, cur)
  File "/app/lib/db/db.py", line 66, in sql_exec
  File "/app/lib/db/db.py", line 66, in sql_exec
    return _cursor.execute(_sqlcmd, _bindings)
    return _cursor.execute(_sqlcmd, _bindings)
sqlite3.InterfaceError: Error binding parameter 7 - probably unsupported type.
sqlite3.InterfaceError: Error binding parameter 7 - probably unsupported type.

At first I thought this was a plugin issue, so i opened https://github.com/cabernetwork/provider_video_daddylive/issues/31 But it seems like the code is in cabernet app itself. Will try to figure out exactly what the bad param could be.

rocky4546 commented 4 weeks ago

Unable to produce. Might want to check what happened just BEFORE the exception in order to determine which row in the DB may be causing it. Claim is the channel name that is displayed in the channel editor for that channel is causing the issue. This name can be altered by you, so it is possible that you changed the name, which caused the issue. It is also possible that DL did something.

vmazi commented 4 weeks ago

I wiped my cabernet data

 - /home/vmaz/config/cabernet/data:/app/data:z                # App data (Optional)
 - /home/vmaz/config/cabernet/plugins_ext:/app/plugins_ext:z  # Plugins Data (Optional)
- /home/vmaz/config/cabernet/secrets:/app/.cabernet:z        # Ecryption key data (Optional)

and re-ran container and was able to reproduce (AND NO DaddyLive channels were created). Since its happening on fresh install of new data, I'm guessing DaddyLive changed something which caused an invalid channel name. I'll try to iron out exactly what it is

stale[bot] commented 2 weeks ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.