mirror of
https://github.com/krateng/maloja.git
synced 2025-06-04 17:41:04 +03:00
Avoided ID pollution from loading and deleting artists
This commit is contained in:
parent
a142804bfe
commit
9f26cce34b
@ -20,10 +20,17 @@ def load_associated_rules():
|
|||||||
# load from file
|
# load from file
|
||||||
raw = tsv.parse_all(data_dir["rules"](),"string","string","string")
|
raw = tsv.parse_all(data_dir["rules"](),"string","string","string")
|
||||||
rules = [{'source_artist':b,'target_artist':c} for [a,b,c] in raw if a=="countas"]
|
rules = [{'source_artist':b,'target_artist':c} for [a,b,c] in raw if a=="countas"]
|
||||||
|
|
||||||
|
#for rule in rules:
|
||||||
|
# print(f"Rule to replace {rule['source_artist']} with {rule['target_artist']}:")
|
||||||
|
# test = {k:sqldb.get_artist_id(rule[k],create_new=False) for k in rule}
|
||||||
|
# if test['source_artist'] is None: print("axed")
|
||||||
|
|
||||||
#allartists = set([*[r['source_artist'] for r in rules],*[r['target_artist'] for r in rules]])
|
#allartists = set([*[r['source_artist'] for r in rules],*[r['target_artist'] for r in rules]])
|
||||||
|
|
||||||
# find ids
|
# find ids
|
||||||
rules = [{k:sqldb.get_artist_id(rule[k]) for k in rule} for rule in rules]
|
rules = [{k:sqldb.get_artist_id(rule[k],create_new=False) for k in rule} for rule in rules]
|
||||||
|
rules = [r for r in rules if r['source_artist'] is not None]
|
||||||
|
|
||||||
# write to db
|
# write to db
|
||||||
ops = [
|
ops = [
|
||||||
|
@ -328,7 +328,7 @@ def get_track_id(trackdict,dbconn=None):
|
|||||||
|
|
||||||
@cached_wrapper
|
@cached_wrapper
|
||||||
@connection_provider
|
@connection_provider
|
||||||
def get_artist_id(artistname,dbconn=None):
|
def get_artist_id(artistname,create_new=True,dbconn=None):
|
||||||
nname = normalize_name(artistname)
|
nname = normalize_name(artistname)
|
||||||
#print("looking for",nname)
|
#print("looking for",nname)
|
||||||
|
|
||||||
@ -342,6 +342,8 @@ def get_artist_id(artistname,dbconn=None):
|
|||||||
#print("ID for",artistname,"was",row[0])
|
#print("ID for",artistname,"was",row[0])
|
||||||
return row.id
|
return row.id
|
||||||
|
|
||||||
|
if not create_new: return None
|
||||||
|
|
||||||
op = DB['artists'].insert().values(
|
op = DB['artists'].insert().values(
|
||||||
name=artistname,
|
name=artistname,
|
||||||
name_normalized=nname
|
name_normalized=nname
|
||||||
|
Loading…
x
Reference in New Issue
Block a user