Browse Source

check for tv show first and use lower case in parseQueryStr()

master
cinnaboot 6 years ago
parent
commit
2423e8b90f
  1. 19
      video_metadata/views/tmdb.py

19
video_metadata/views/tmdb.py

@ -373,10 +373,18 @@ def doQueryAlgorithm(query:query_data) -> dict:
# TODO: need a way to correctly parse titles like: "2001: A Space Odyssey (1968)" # TODO: need a way to correctly parse titles like: "2001: A Space Odyssey (1968)"
# with legitimate dates in the title # with legitimate dates in the title
def parseQueryStr(query_obj): def parseQueryStr(query_obj):
s = query_obj.raw_query_str.replace('.', ' ').strip() s = query_obj.raw_query_str.replace('.', ' ').strip().lower()
s = re.sub('[(){}\[\]]', '', s).strip() # NOTE: remove some common characters s = re.sub('[(){}\[\]]', '', s).strip() # NOTE: remove some common characters
current_year = date.today().year current_year = date.today().year
# NOTE: check for a string that looks like a tv show
m = re.search(r's[0-9]{1,2}|season ?[0-9]{1,2}', s, re.IGNORECASE)
if m:
query_obj.parsed_query_str = s[0:m.start()].strip()
query_obj.media_type = media_type.TV_SHOW
return True
# NOTE: find all 4 digit numbers to match the year of queries with 4 digit numbers in the title # NOTE: find all 4 digit numbers to match the year of queries with 4 digit numbers in the title
# ex) "2036.Origin.Unknown.2018" # ex) "2036.Origin.Unknown.2018"
regex = re.compile('[0-9]{4}') regex = re.compile('[0-9]{4}')
@ -389,15 +397,6 @@ def parseQueryStr(query_obj):
query_obj.media_type = media_type.MOVIE query_obj.media_type = media_type.MOVIE
return True return True
# NOTE: if not a movie, check for a string that looks like a tv show
if query_obj.media_type == media_type.UNKNOWN:
m = re.compile(r's[0-9]{1,2}|season ?[0-9]{1,2}', re.IGNORECASE).search(s)
if m:
query_obj.parsed_query_str = s[0:m.start()].strip()
query_obj.media_type = media_type.TV_SHOW
return True
current_app.logger.warning(f'unable to guess media type for "{query_obj.raw_query_str}"') current_app.logger.warning(f'unable to guess media type for "{query_obj.raw_query_str}"')
return False return False

Loading…
Cancel
Save