Compare commits
No commits in common. "c75026c8342e94436cb96b70d77378572f29ed0f" and "3977a5b69591bc4486444ea051a7a1c24f904c3f" have entirely different histories.
c75026c834
...
3977a5b695
7 changed files with 23 additions and 34 deletions
|
|
@ -7,7 +7,7 @@ from typing import Optional
|
|||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import joinedload
|
||||
from core.models.DatabaseOperation import DatabaseOperation, DBErrorType
|
||||
from core.models.orm_calls.location_calls import execute_location_sql
|
||||
from core.models.orm_calls.location_calls import get_profile_location_data
|
||||
|
||||
class LocationController:
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ from core.errors.logger import logger
|
|||
from core.models.DatabaseOperation import DatabaseOperation, DBErrorType
|
||||
from core.Constants import Constants
|
||||
|
||||
from core.models.manage.session_management import create_ALL_tables
|
||||
# from core.models.orm_models.Location import Location
|
||||
# from core.models.orm_models.Operator import Operator
|
||||
# from core.models.orm_models.CachedSync import CachedSync
|
||||
# from core.models.orm_models.EncryptedProxy import EncryptedProxy
|
||||
|
||||
from core.models.orm_models.Location import Location
|
||||
from core.models.orm_models.Operator import Operator
|
||||
from core.models.orm_models.CachedSync import CachedSync
|
||||
from core.models.orm_models.EncryptedProxy import EncryptedProxy
|
||||
|
||||
MODELS = [Location, Operator, CachedSync, EncryptedProxy]
|
||||
|
||||
# generic
|
||||
from pathlib import Path
|
||||
|
|
@ -61,16 +63,6 @@ def get_model_columns(model_class):
|
|||
def migrate_sql() -> DatabaseOperation:
|
||||
from core.models.manage.session_management import engine
|
||||
from core.models.orm_models.Base import BaseModel, Base
|
||||
try:
|
||||
from core.models.orm_models.Location import Location
|
||||
from core.models.orm_models.Operator import Operator
|
||||
from core.models.orm_models.CachedSync import CachedSync
|
||||
from core.models.orm_models.EncryptedProxy import EncryptedProxy
|
||||
MODELS = [Location, Operator, CachedSync, EncryptedProxy]
|
||||
logger.info(f"[MIGRATION] Tables loaded")
|
||||
except:
|
||||
logger.error(f"[MIGRATION] Could not load models. Critical failure.")
|
||||
|
||||
changes_made = []
|
||||
|
||||
# Step 1: Extract column definitions directly from each model
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ def get_data_from_api(
|
|||
None, # get request has no payload
|
||||
connection_observer,
|
||||
client_observer,
|
||||
timeout=30,
|
||||
timeout=10,
|
||||
clearweb_resolved_ip=clearweb_resolved_ip
|
||||
)
|
||||
else:
|
||||
|
|
@ -51,7 +51,7 @@ def get_data_from_api(
|
|||
None, # get request has no payload
|
||||
connection_observer,
|
||||
client_observer,
|
||||
timeout=15
|
||||
timeout=5
|
||||
)
|
||||
|
||||
if not result_object.valid and client_observer:
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ def _execute_tor_request(
|
|||
payload: Optional[dict],
|
||||
connection_observer: Optional[ConnectionObserver] = None,
|
||||
client_observer: Optional[ClientObserver] = None,
|
||||
timeout: int = 30,
|
||||
timeout: int = 20,
|
||||
clearweb_resolved_ip: str = None # if DNS via Tor is blocked
|
||||
) -> ApiResponse:
|
||||
"""
|
||||
|
|
@ -108,7 +108,7 @@ def _execute_regular_request(
|
|||
payload: Optional[dict],
|
||||
connection_observer: Optional[ConnectionObserver] = None,
|
||||
client_observer: Optional[client_observer] = None,
|
||||
timeout: int = 20,
|
||||
timeout: int = 10,
|
||||
) -> ApiResponse:
|
||||
"""
|
||||
Regular (non-Tor) request. NO observer coupling.
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ def classify_request_error(
|
|||
else:
|
||||
return ApiResponse(
|
||||
valid=False,
|
||||
error_type=ErrorType.DNS_RESOLUTION,
|
||||
error_type=ErrorType.UNKNOWN,
|
||||
tor=True,
|
||||
ip_address=ip_via_tor,
|
||||
message=f"For Unknown reasons, we can't connect, but we can resolve {domain_only} to {ip_via_tor} via Tor"
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ def solve_api_problems(
|
|||
elif reason_for_error == ErrorType.DNS_RESOLUTION:
|
||||
logger.debug(f"[API SOLVER] We're solving a DNS resolution error {api_reply_object.message}")
|
||||
if api_reply_object.tor:
|
||||
dns_fix = get_DNS_then_use_it(get_or_post, url, payload, api_reply_object.ip_address, connection_observer, client_observer)
|
||||
dns_fix = get_DNS_then_use_it(get_or_post, url, payload, connection_observer, client_observer)
|
||||
return dns_fix
|
||||
else:
|
||||
logger.error(f"[API SOLVER] We have NOT yet setup clearweb DNS solutions")
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ def get_DNS_then_use_it(
|
|||
get_or_post: str,
|
||||
full_url: str,
|
||||
payload: str = None,
|
||||
ip_address: str = None,
|
||||
connection_observer: Optional[ConnectionObserver] = None,
|
||||
client_observer: Optional[ClientObserver] = None,
|
||||
) -> ApiResponse:
|
||||
|
|
@ -60,8 +59,6 @@ def get_DNS_then_use_it(
|
|||
# ================= Do Quad9 Query ===============
|
||||
domain = extract_domain(full_url)
|
||||
logger.debug(f"[DNS TOOLS] We'll be doing a DNS lookup to the domain {domain}..")
|
||||
|
||||
if not ip_address:
|
||||
ip_address = quad9_proxy_dns_lookup(domain, tor_proxy)
|
||||
|
||||
if not ip_address:
|
||||
|
|
|
|||
Loading…
Reference in a new issue