|
|
|
@ -1,12 +1,13 @@ |
|
|
|
|
|
|
|
|
|
|
|
import cgi |
|
|
|
import cgi |
|
|
|
from dataclasses import dataclass |
|
|
|
from dataclasses import dataclass, field |
|
|
|
from datetime import date |
|
|
|
from datetime import date |
|
|
|
from enum import Enum |
|
|
|
from enum import Enum |
|
|
|
import json |
|
|
|
import json |
|
|
|
import re |
|
|
|
import re |
|
|
|
from sqlite3 import DatabaseError |
|
|
|
from sqlite3 import DatabaseError |
|
|
|
import ssl |
|
|
|
import ssl |
|
|
|
|
|
|
|
from typing import Dict, List |
|
|
|
from urllib.error import URLError, HTTPError |
|
|
|
from urllib.error import URLError, HTTPError |
|
|
|
import urllib.parse |
|
|
|
import urllib.parse |
|
|
|
import urllib.request |
|
|
|
import urllib.request |
|
|
|
@ -43,14 +44,14 @@ class query_type(Enum): |
|
|
|
|
|
|
|
|
|
|
|
@dataclass |
|
|
|
@dataclass |
|
|
|
class query_data: |
|
|
|
class query_data: |
|
|
|
errors = [] |
|
|
|
errors: List[str] = field(default_factory=list) |
|
|
|
full_url = '' |
|
|
|
full_url: str = '' |
|
|
|
movie_year = 0 |
|
|
|
movie_year: int = 0 |
|
|
|
parsed_query_str = '' |
|
|
|
parsed_query_str: str = '' |
|
|
|
query_params = {} |
|
|
|
query_params = {} |
|
|
|
query_type = query_type.UNKNOWN |
|
|
|
query_type: query_type = query_type.UNKNOWN |
|
|
|
raw_query_str = '' |
|
|
|
raw_query_str: str = '' |
|
|
|
rel_path = '' |
|
|
|
rel_path: str = '' |
|
|
|
|
|
|
|
|
|
|
|
@dataclass |
|
|
|
@dataclass |
|
|
|
class response_data: |
|
|
|
class response_data: |
|
|
|
@ -141,9 +142,6 @@ def query_movie(): |
|
|
|
|
|
|
|
|
|
|
|
storeTMDBQueryResults(query, view_results) |
|
|
|
storeTMDBQueryResults(query, view_results) |
|
|
|
|
|
|
|
|
|
|
|
errors.extend(query.errors) |
|
|
|
|
|
|
|
errors.extend(response.errors) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if errors: |
|
|
|
if errors: |
|
|
|
view_results.clear() |
|
|
|
view_results.clear() |
|
|
|
flash(errors) |
|
|
|
flash(errors) |
|
|
|
@ -217,7 +215,9 @@ def parseQueryStr(query_obj): |
|
|
|
|
|
|
|
|
|
|
|
# TODO: parse tv show titles |
|
|
|
# TODO: parse tv show titles |
|
|
|
if query_obj.query_type == query_type.UNKNOWN: |
|
|
|
if query_obj.query_type == query_type.UNKNOWN: |
|
|
|
query_obj.errors.append('{}: unable to determine query type'.format(util.getFunctionName())) |
|
|
|
query_obj.errors.append('{}: unable to determine query type for {}'.format( |
|
|
|
|
|
|
|
util.getFunctionName(), query_obj.raw_query_str) |
|
|
|
|
|
|
|
) |
|
|
|
return False |
|
|
|
return False |
|
|
|
|
|
|
|
|
|
|
|
return True |
|
|
|
return True |
|
|
|
|