Fix TypeErrors because SQL returns tuplex
This commit is contained in:
parent
1a77427591
commit
eedabf5888
1 changed files with 30 additions and 23 deletions
|
@ -273,30 +273,37 @@ class KodiDBMethods(object):
|
||||||
)
|
)
|
||||||
self.cursor.execute(query, (country_id, kodiid, mediatype))
|
self.cursor.execute(query, (country_id, kodiid, mediatype))
|
||||||
|
|
||||||
|
def _delete_from_link_and_table(self, kodi_id, kodi_type, link_table,
|
||||||
|
table, key):
|
||||||
|
# Get all existing links
|
||||||
|
query = ('SELECT %s FROM %s WHERE media_id = ? AND media_type = ? '
|
||||||
|
% (key, link_table))
|
||||||
|
self.cursor.execute(query, (kodi_id, kodi_type))
|
||||||
|
key_list = self.cursor.fetchall()
|
||||||
|
# Delete all links
|
||||||
|
query = ('DELETE FROM %s WHERE media_id = ? AND media_type = ?'
|
||||||
|
% link_table)
|
||||||
|
self.cursor.execute(query, (kodi_id, kodi_type))
|
||||||
|
# Which countries are now orphaned?
|
||||||
|
query = 'SELECT %s FROM %s WHERE %s = ?' % (key, link_table, key)
|
||||||
|
query_delete = 'DELETE FROM %s WHERE %s = ?' % (table, key)
|
||||||
|
for entry in key_list:
|
||||||
|
# country_id still in table?
|
||||||
|
self.cursor.execute(query, (entry[0],))
|
||||||
|
if self.cursor.fetchone() is None:
|
||||||
|
self.cursor.execute(query_delete, (entry[0],))
|
||||||
|
|
||||||
def delete_countries(self, kodi_id, kodi_type):
|
def delete_countries(self, kodi_id, kodi_type):
|
||||||
"""
|
"""
|
||||||
Assuming that video kodi_id, kodi_type gets deleted, will delete any
|
Assuming that video kodi_id, kodi_type gets deleted, will delete any
|
||||||
associated country links in the table country_link and also deletes
|
associated country links in the table country_link and also deletes
|
||||||
orphaned countries in the table country
|
orphaned countries in the table country
|
||||||
"""
|
"""
|
||||||
# Get all existing links
|
self._delete_from_link_and_table(kodi_id,
|
||||||
query = '''
|
kodi_type,
|
||||||
SELECT country_id FROM country_link
|
'country_link',
|
||||||
WHERE media_id = ? AND media_type = ?
|
'country',
|
||||||
'''
|
'country_id')
|
||||||
self.cursor.execute(query, (kodi_id, kodi_type))
|
|
||||||
country_ids = self.cursor.fetchall()
|
|
||||||
# Delete all links
|
|
||||||
query = 'DELETE FROM country_link WHERE media_id = ? AND media_type = ?'
|
|
||||||
self.cursor.execute(query, (kodi_id, kodi_type))
|
|
||||||
# Which countries are now orphaned?
|
|
||||||
query = 'SELECT country_id FROM country_link WHERE country_id = ?'
|
|
||||||
query_delete = 'DELETE FROM country WHERE country_id = ?'
|
|
||||||
for country_id in country_ids:
|
|
||||||
# country_id still in table?
|
|
||||||
self.cursor.execute(query, (country_id,))
|
|
||||||
if self.cursor.fetchone() is None:
|
|
||||||
self.cursor.execute(query_delete, (country_id,))
|
|
||||||
|
|
||||||
def _getactorid(self, name):
|
def _getactorid(self, name):
|
||||||
"""
|
"""
|
||||||
|
@ -414,16 +421,16 @@ class KodiDBMethods(object):
|
||||||
query_delete = 'DELETE FROM actor WHERE actor_id = ?'
|
query_delete = 'DELETE FROM actor WHERE actor_id = ?'
|
||||||
# Delete orphaned people
|
# Delete orphaned people
|
||||||
for actor_id in actor_ids:
|
for actor_id in actor_ids:
|
||||||
self.cursor.execute(query_actor, (actor_id,))
|
self.cursor.execute(query_actor, (actor_id[0],))
|
||||||
if self.cursor.fetchone() is None:
|
if self.cursor.fetchone() is None:
|
||||||
self.cursor.execute(query_director, (actor_id,))
|
self.cursor.execute(query_director, (actor_id[0],))
|
||||||
if self.cursor.fetchone() is None:
|
if self.cursor.fetchone() is None:
|
||||||
self.cursor.execute(query_writer, (actor_id,))
|
self.cursor.execute(query_writer, (actor_id[0],))
|
||||||
if self.cursor.fetchone() is None:
|
if self.cursor.fetchone() is None:
|
||||||
# Delete the person itself from actor table
|
# Delete the person itself from actor table
|
||||||
self.cursor.execute(query_delete, (actor_id,))
|
self.cursor.execute(query_delete, (actor_id[0],))
|
||||||
# Delete any associated artwork
|
# Delete any associated artwork
|
||||||
self.artwork.deleteArtwork(actor_id,
|
self.artwork.deleteArtwork(actor_id[0],
|
||||||
'actor',
|
'actor',
|
||||||
self.cursor)
|
self.cursor)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue