Added filter for characters that can cause issues while searching
This commit is contained in:
parent
d4e571bd09
commit
92f2687386
|
@ -6,6 +6,7 @@ import requests
|
|||
from Cryptodome.Cipher import Blowfish, AES
|
||||
from Cryptodome.Hash import MD5
|
||||
from Cryptodome.Util.Padding import pad
|
||||
import re
|
||||
|
||||
USER_AGENT_HEADER = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) " \
|
||||
"Chrome/79.0.3945.130 Safari/537.36"
|
||||
|
@ -207,8 +208,9 @@ class Deezer:
|
|||
return tracks_array
|
||||
|
||||
def search_main_gw(self, term):
|
||||
term = term
|
||||
results = self.gw_api_call('deezer.pageSearch',
|
||||
{"query": term, "start": 0, "nb": 10, "suggest": True, "artist_suggest": True,
|
||||
{"query": clean_search_query(term), "start": 0, "nb": 10, "suggest": True, "artist_suggest": True,
|
||||
"top_tracks": True})['results']
|
||||
order = []
|
||||
for x in results['ORDER']:
|
||||
|
@ -247,7 +249,7 @@ class Deezer:
|
|||
def search_gw(self, term, type, start, nb=20):
|
||||
return \
|
||||
self.gw_api_call('search.music',
|
||||
{"query": term, "filter": "ALL", "output": type, "start": start, "nb": nb})[
|
||||
{"query": clean_search_query(term), "filter": "ALL", "output": type, "start": start, "nb": nb})[
|
||||
'results']
|
||||
|
||||
def get_lyrics_gw(self, sng_id):
|
||||
|
@ -414,7 +416,7 @@ class Deezer:
|
|||
return self.api_call('artist/' + str(artist_id) + '/albums', {'limit': -1})
|
||||
|
||||
def search(self, term, search_type, limit=30, index=0):
|
||||
return self.api_call('search/' + search_type, {'q': term, 'limit': limit, 'index': index})
|
||||
return self.api_call('search/' + search_type, {'q': clean_search_query(term), 'limit': limit, 'index': index})
|
||||
|
||||
def decrypt_track(self, track_id, input, output):
|
||||
response = open(input, 'rb')
|
||||
|
@ -492,6 +494,14 @@ class Deezer:
|
|||
return 0
|
||||
return 0
|
||||
|
||||
def clean_search_query(term):
|
||||
term = str(term)
|
||||
term = re.sub(r' feat[\.]? ', " ", term)
|
||||
term = re.sub(r' ft[\.]? ', " ", term)
|
||||
term = re.sub(r'\(feat[\.]? ', " ", term)
|
||||
term = re.sub(r'\(ft[\.]? ', " ", term)
|
||||
term = term.replace('&', " ").replace('–', "-").replace('—', "-")
|
||||
return term
|
||||
|
||||
class APIError(Exception):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue