Skip to content

Commit

Permalink
Attempt to fix double absolute_numbers getting in (#5801)
Browse files Browse the repository at this point in the history
* Attempt to fix double absolute_numbers getting in
Because we update the abs from xem, which sets the ab number when it was already there.
* Now we give tvdb prio. And only 1 absolute number can exist.

* Updated changelog.

* Updated changelog
NOT IN capitals.
  • Loading branch information
p0psicles authored and medariox committed Nov 29, 2018
1 parent 2479c76 commit f4a2be5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#### Improvements

#### Fixes
- Fixed double absolute numbers for anime shows where thexem sets an absolute which already exists ([#5801](https://github.com/pymedusa/Medusa/pull/5801))

-----

Expand Down
14 changes: 12 additions & 2 deletions medusa/scene_numbering.py
Original file line number Diff line number Diff line change
Expand Up @@ -501,12 +501,22 @@ def xem_refresh(series_obj, force=False):
entry[indexerApi(indexer_id).config['xem_origin']]['season'],
entry[indexerApi(indexer_id).config['xem_origin']]['episode']]
])
# Update the absolute_number from xem, but do not set it when it has already been set by tvdb.
# We want to prevent doubles and tvdb is leading in that case.
cl.append([
'UPDATE tv_episodes SET absolute_number = ? '
'WHERE indexer = ? AND showid = ? AND season = ? AND episode = ? AND absolute_number = 0',
'WHERE indexer = ? AND showid = ? AND season = ? AND episode = ? AND absolute_number = 0 '
'AND {absolute_number} NOT IN '
'(SELECT absolute_number '
'FROM tv_episodes '
'WHERE absolute_number = ? AND indexer = ? AND showid = ?)'.format(
absolute_number=entry[indexerApi(indexer_id).config['xem_origin']]['absolute']
),
[entry[indexerApi(indexer_id).config['xem_origin']]['absolute'], indexer_id, series_id,
entry[indexerApi(indexer_id).config['xem_origin']]['season'],
entry[indexerApi(indexer_id).config['xem_origin']]['episode']]
entry[indexerApi(indexer_id).config['xem_origin']]['episode'],
entry[indexerApi(indexer_id).config['xem_origin']]['absolute'],
indexer_id, series_id]
])
if 'scene_2' in entry: # for doubles
cl.append([
Expand Down

0 comments on commit f4a2be5

Please sign in to comment.