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
195 stars 27 forks source link

DB Exception on channel update #166

Open vmazi opened 6 days ago

vmazi commented 6 days 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 6 days 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 6 days 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