You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from enum import Enum
|
|
|
|
APP_NAME = "gimme-job"
|
|
DEFAULT_PROFILE_NAME = "JobAgent"
|
|
DEFAULT_TIMEZONE = "America/Phoenix"
|
|
MAX_PAGES_PER_SITE = 3
|
|
CONSECUTIVE_FAILURES_THRESHOLD = 2 # mark repair_needed after this many consecutive failures
|
|
|
|
|
|
class FailureClassification(str, Enum):
|
|
LOGIN_REQUIRED = "LOGIN_REQUIRED"
|
|
SELECTOR_NOT_FOUND = "SELECTOR_NOT_FOUND"
|
|
ZERO_RESULTS_EXPECTED = "ZERO_RESULTS_EXPECTED"
|
|
ZERO_RESULTS_SUSPICIOUS = "ZERO_RESULTS_SUSPICIOUS"
|
|
DATE_FILTER_FAILED = "DATE_FILTER_FAILED"
|
|
ANTI_BOT_SUSPECTED = "ANTI_BOT_SUSPECTED"
|
|
NAVIGATION_TIMEOUT = "NAVIGATION_TIMEOUT"
|
|
EXTRACTION_PARTIAL = "EXTRACTION_PARTIAL"
|
|
|
|
|
|
class RunStatus(str, Enum):
|
|
SUCCESS = "success"
|
|
PARTIAL = "partial"
|
|
FAILED = "failed"
|
|
REPAIR_NEEDED = "repair_needed"
|
|
|
|
|
|
class LeadStatus(str, Enum):
|
|
"""Verification lifecycle statuses for proactive search leads (doc §15)."""
|
|
|
|
NEW = "NEW"
|
|
REOPENED = "REOPENED"
|
|
STILL_OPEN = "STILL_OPEN"
|
|
VERIFY = "VERIFY"
|
|
CLOSED = "CLOSED"
|
|
STALE = "STALE"
|
|
|
|
|
|
# Statuses that represent a currently-open lead
|
|
ACTIVE_LEAD_STATUSES = frozenset(
|
|
{LeadStatus.NEW, LeadStatus.REOPENED, LeadStatus.STILL_OPEN}
|
|
)
|