def r_by_token(cat_attrs, res_tresh, skip=False): log.info('Release: Token\n') token = cat_attrs['artist'] + ' - ' + cat_attrs['album'] log.info('Connecting Discogs\tQuery: {0}'.format(token)) cur_method = 'Token' if skip: cat_attrs['comment'] += 'skipped {}, '.format(cur_method) return cat_attrs outcome = d.search(token, type='release') log.info('FOUND {0} RESULTS'.format(len(outcome))) counter = 0 for i in itertools.islice(outcome, 0, res_tresh): if config.is_interrupted(): return cat_attrs counter += 1 # tran_artist = cat_attrs['artist'].translate(punctuationremover) # tran_album = cat_attrs['album'].translate(punctuationremover) result = text_tools.rm_artist_num(i.artists[0].name), str( i.title).translate(punctuationremover) cat_attrs, flag = discogs_tools.final_comparison( cat_attrs, result, i.id, cur_method, counter) if flag: break time.sleep(ratelimit / 2) discogs_tools.log_summary(cat_attrs, cur_method) time.sleep(ratelimit) return cat_attrs
def m_by_token_cut(cat_attrs, res_tresh, skip=False): log.info('Master: Token Cut\n') log.info('***Connecting Discogs\tQuery: {0}'.format( cat_attrs['album'])) cur_method = 'Token Cuted' if skip: cat_attrs['comment'] += 'skipped {}, '.format(cur_method) return cat_attrs album = text_tools.fm_album_suffixes(cat_attrs['album']) token = cat_attrs['artist'] + ' - ' + album outcome = d.search(token, type='master') log.info('FOUND {0} RESULTS'.format(len(outcome))) counter = 0 for i in itertools.islice(outcome, 0, res_tresh): if config.is_interrupted(): return cat_attrs counter += 1 m_name = i.title.split(' - ') result = text_tools.rm_artist_num(m_name[0]), m_name[1] cat_attrs, flag = discogs_tools.final_comparison( cat_attrs, result, i.id, cur_method, counter) if flag: break discogs_tools.log_summary(cat_attrs, cur_method) time.sleep(ratelimit) return cat_attrs
def r_by_album(cat_attrs, res_tresh, skip=False): log.info('Release: Album\n') log.info('Connecting Discogs\tQuery: {0}'.format(cat_attrs['album'])) cur_method = 'Album' if skip: cat_attrs['comment'] += 'skipped {}, '.format(cur_method) return cat_attrs outcome = d.search(cat_attrs['album'], type='release') log.info('FOUND {0} RESULTS'.format(len(outcome))) counter = 0 for i in itertools.islice(outcome, 0, res_tresh): if config.is_interrupted(): return cat_attrs if len(i.artists) > 1: log.debug('there is more than one artist in current release') counter += 1 result = text_tools.rm_artist_num(i.artists[0].name), i.title cat_attrs, flag = discogs_tools.final_comparison( cat_attrs, result, i.id, cur_method, counter) if flag: break time.sleep(0.5 * ratelimit) discogs_tools.log_summary(cat_attrs, cur_method) time.sleep(ratelimit) return cat_attrs
def m_by_variations(cat_attrs, res_tresh, skip=False): log.info('Master: Variations\n') log.info('***Connecting Discogs\tQuery: {0}'.format( cat_attrs['artist'])) cur_method = 'Variations' if skip: cat_attrs['comment'] += 'skipped {}, '.format(cur_method) return cat_attrs outcome = d.search(cat_attrs['artist'], type='artist') log.info('FOUND {0} RESULTS'.format(len(outcome))) try: variations = outcome[0].name_variations log.info('Found {0} aliases : {1}'.format(outcome[0], variations)) for k in variations: if config.is_interrupted(): return cat_attrs counter = 0 variations_query = k + ' - ' + cat_attrs['album'] log.info('***Connecting Discogs\tQuery: {0}'.format( variations_query)) outcome = d.search(variations_query, type='master') log.info('FOUND {0} RESULTS'.format(len(outcome))) flag = False for i in itertools.islice(outcome, 0, res_tresh): counter += 0 m_name = i.title.split(' - ') # m_artist = masterlist[0].split('*')[0] # m_artist = martist.split(' (')[0] result = m_name[0], m_name[1] cat_attrs, flag = discogs_tools.final_comparison( cat_attrs, result, i.id, cur_method, counter) if flag: break if flag: break time.sleep(ratelimit) except TypeError as e: log.warning('{} No variations of {} found'.format( e, cat_attrs['artist'])) discogs_tools.log_summary(cat_attrs, cur_method) time.sleep(ratelimit) return cat_attrs