Skip to content

Commit

Permalink
Fixed (sqlite3.OperationalError) too many SQL variables issue while…
Browse files Browse the repository at this point in the history
… inserting too many episodes at the same time.
  • Loading branch information
morpheus65535 committed Nov 18, 2023
1 parent 164d487 commit a10e5db
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions bazarr/sonarr/sync/episodes.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,25 +94,27 @@ def sync_episodes(series_id, send_event=True):

# Update existing episodes in DB
if len(episodes_to_update):
try:
database.execute(update(TableEpisodes), episodes_to_update)
except IntegrityError as e:
logging.error(f"BAZARR cannot update episodes because of {e}")
else:
for updated_episode in episodes_to_update:
for updated_episode in episodes_to_update:
try:
database.execute(update(TableEpisodes)
.values(updated_episode)
.where(TableEpisodes.sonarrEpisodeId == updated_episode['sonarrEpisodeId']))
except IntegrityError as e:
logging.error(f"BAZARR cannot update episodes because of {e}")
else:
store_subtitles(updated_episode['path'], path_mappings.path_replace(updated_episode['path']))

if send_event:
event_stream(type='episode', action='update', payload=updated_episode['sonarrEpisodeId'])

# Insert new episodes in DB
if len(episodes_to_add):
try:
database.execute(insert(TableEpisodes).values(episodes_to_add))
except IntegrityError as e:
logging.error(f"BAZARR cannot insert episodes because of {e}")
else:
for added_episode in episodes_to_add:
for added_episode in episodes_to_add:
try:
database.execute(insert(TableEpisodes).values(added_episode))
except IntegrityError as e:
logging.error(f"BAZARR cannot insert episodes because of {e}")
else:
store_subtitles(added_episode['path'], path_mappings.path_replace(added_episode['path']))

if send_event:
Expand Down

0 comments on commit a10e5db

Please sign in to comment.