
    i                        U d Z ddlZddlZddlZddlmZmZ ddlmZm	Z	  ej                  d      Z ej                  dd      Z e ej                  dd	            Z ej                  d
d      Z ej                  dd      Z ej                  dd      Z ej                  dd      ZdZ ej                  dd      Zej,                  j/                  ed      Z ej                  dd      j3                         dk(  Z ej                  dd      j3                         dk(   ej                  dd      j3                         dk(   ej                  dd      j3                         dk(   ej                  dd      j3                         dk(   ej                  dd      j3                         dk(   ej                  dd      j3                         dk(   ej                  dd      j3                         dk(   ej                  dd      j3                         dk(   ej                  d d      j3                         dk(   ej                  d!d      j3                         dk(  d"
Zeeef   ed#<    ej                  d$d%      j3                         dk(  Z ej                  d&d%      j3                         dk(  Z d'ed(efd)Z!e G d* d+             Z" e"d,d-d-d.d/d0d1d2d34	      Z# e"d5d2d-d.d6d7d0d-d84	      Z$ e"d9d2d-d.d6d/d0d2d:4	      Z% e"d;d2d-d<d=d/d0d2d>4	      Z& e"d?d-d-d<d=d/d0d2d@4	      Z' e"dAd2d-d<d=d/d0d2dB4	      Z(e#e$e%e(e&e&e&e&e&e'dC
Z)eee"f   edD<    e"dEd-d-dFG      Z*d'ed(e"fdHZ+y)IzDConfiguration and feature flags for the Publishing Integrity system.    N)	dataclassfield)DictOptionalzpub-integrity
PI_DB_HOSTz	127.0.0.1
PI_DB_PORT5433
PI_DB_NAMEeventheodds_sports
PI_DB_USEReventheodds
PI_DB_PASSeventheodds_dev_passwordSPORTSGAMEODDS_API_KEY 47d6ce020d896ece307a284e8c78ff7fz!https://api.sportsgameodds.com/v2
PI_LOG_DIRz/var/log/rainmakerzpublishing-integrity.logPUBLISHING_INTEGRITY_ENABLEDtruePI_LEAGUE_NBAPI_LEAGUE_MLBPI_LEAGUE_NHLPI_LEAGUE_MLSPI_LEAGUE_EPLPI_LEAGUE_NCAABPI_LEAGUE_LA_LIGAPI_LEAGUE_BUNDESLIGAPI_LEAGUE_SERIE_API_LEAGUE_LIGUE_1)
nbamlbnhlmlseplncaabla_liga
bundesligaserie_aligue_1LEAGUE_FLAGSPI_REQUIRE_MARKET_CONFIRMATIONfalsePI_REQUIRE_CONFIRMED_LINEUPSleaguereturnc                 X    t         syt        j                  | j                         d      S )NF)r   r)   getlowerr-   s    g/var/www/html/rainmaker/backend/tests/publishing_integrity/../../scripts/publishing_integrity/config.pyis_league_enabledr4   0   s!    'FLLNE22    c                       e Zd ZU eed<   dZeed<   dZeed<   dZe	ed<   dZ
e	ed	<   d
Ze	ed<    ed       Zeed<    ed       Zeed<   dZe	ed<   dZeed<   dZeed<   y)LeagueValidationPolicyr-   T#require_confirmed_starter_for_propsFrequire_market_presence  roster_freshness_max_min   availability_freshness_max_minx   lineup_freshness_max_minc                  
    g dS )N)OUTINACTIVE	SUSPENDED	SCRATCHED rE   r5   r3   <lambda>zLeagueValidationPolicy.<lambda>F   s    <i r5   )default_factoryblocking_statusesc                  
    ddgS )NQUESTIONABLEPROBABLErE   rE   r5   r3   rF   zLeagueValidationPolicy.<lambda>H   s    PZ?[ r5   provisional_statuses<   lineup_lock_before_game_minallow_pre_lineup_props descriptionN)__name__
__module____qualname__str__annotations__r8   boolr9   r;   intr=   r?   r   rH   listrL   rN   rO   rQ   rE   r5   r3   r7   r7   8   s    K04'4$)T)$'c'*-"C-$'c'#4ijtj!&7[!\$\'))#'D'Kr5   r7   r   Fr:   r>   rM      Tz7NBA: availability reported by team, lineups near tipoff)	r-   r8   r9   r;   r=   r?   rN   rO   rQ   r    r<   Z   z8MLB: official lineup required for lineup-dependent propsr!   z8NHL: goalie confirmation critical, late scratches commonsocceri  ih  z0Soccer: Starting XI confirmed ~1h before kickoffr$   u9   NCAAB: conservative — availability varies by conferencer"   zMLS: Starting XI near kickoff)
r   r    r!   r"   r#   r%   r&   r'   r(   r$   
POLICY_MAPdefaultzDefault conservative policy)r-   r8   r9   rQ   c                 R    t         j                  | j                         t              S )N)r]   r0   r1   DEFAULT_POLICYr2   s    r3   
get_policyra      s    >>&,,..99r5   ),__doc__osjsonloggingdataclassesr   r   typingr   r   	getLoggerloggetenvDB_HOSTrX   DB_PORTDB_NAMEDB_USERDB_PASSSGO_API_KEYSGO_BASE_URLLOG_DIRpathjoinLOG_FILEr1   r   r)   rU   rW   rV   REQUIRE_MARKET_CONFIRMATIONREQUIRE_CONFIRMED_LINEUPSr4   r7   
NBA_POLICY
MLB_POLICY
NHL_POLICYSOCCER_POLICYNCAAM_POLICY
MLS_POLICYr]   r`   ra   rE   r5   r3   <module>r~      s   J 	   ( !g( "))L+
.
ibiif-
.
"))L"6
7
"))L-
0
"))L"<
= bii02TU2 "))L"6
777<<!;<  )ryy)GPVVX\bb  bii0668FBbii0668FBbii0668FBbii0668FBbii0668FBbii)6288:fD"))/8>>@FJ"))2F;AACvM"))/8>>@FJ"))/8>>@FJ!d39o  (bii(H'RXXZ^dd %BII&DgNTTVZ`` 3c 3d 3   2 $(-! #& "I

 $(,! #& " J

 $(,! #&  "J

 '(,!!#&  "B
 &(-!!#&  "K
 $(,!!#&  "/

 1
D,,-  ((-!-	:s :5 :r5   