
    soj*              
       0   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZmZ d d
lmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZm Z m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z'  G d de          Z(dedej)        dededdf
dZ*dS )    )Update)ContextTypesN)Crew)DavyBackFight)DavyBackFightParticipant)User)Emoji)
GameStatusGAME_STATUS_DESCRIPTIONS)ListPageEmojiLegend)ReservedKeyboardKeys)Screen)Keyboard)get_crew)get_remaining_durationdefault_datetime_formatdatetime_is_after)get_items_text_keyboard)full_message_send)get_belly_formattedc                        e Zd Z fdZdeddfdZej        fdee	         fdZ
defdZdef fdZdee         fd	Zde	dz  fd
Z xZS )CrewDavyBackFightListPagec                     t                                                       t                      | _        t	                      | _        t	                      | _        d| _        t          j	        | _
        dS )z
        Constructor
        FN)super__init__r   objectr   crewopponent_crewis_challengerr
   NDeffective_status)self	__class__s    </app/src/chat/private/screens/screen_crew_davy_back_fight.pyr   z"CrewDavyBackFightListPage.__init__   sU    
 	%2__&&	#'66#(,6M    	object_idreturnNc                 T   t          j        |          | _        t          | j                  | _        | j        j        | j        k    | _        | j        r| j        j        n| j        j        | _        | 	                                | _
        | j
                                        | _        d S N)r   	get_by_idr   r   userr   challenger_crewr    r   get_emoji_legendlegendget_game_statusr"   )r#   r'   s     r%   
set_objectz$CrewDavyBackFightListPage.set_object(   s    %2%<Y%G%GTY''	![8DIE)-);\DK%%A\ 	 ++-- $ ; ; = =r&   c                    | j                                                             t          j        | j        k    t          j        | j        k    z  t          j        t          j	        k    z  | 
                                z                                t          j                                                                      ||          S r*   )r   selectwherer   r-   r   r   statusr
   
FORCED_END get_active_filter_list_conditionorder_bydatedescpaginate)r#   pagelimits      r%   	get_itemsz#CrewDavyBackFightListPage.get_items2   s    K  U"2di?$2di?A !':+@@	B
 88::<  Xm(--//00XdE""	
r&   c                     t           j                            | j        j        | j                                                  S r*   )phrasesCREW_DAVY_BACK_FIGHT_ITEM_TEXTformatr/   emojir   get_name_with_deeplinkr#   s    r%   get_item_textz'CrewDavyBackFightListPage.get_item_textA   s6    5<<Kt1HHJJ
 
 	
r&   c           
      Z	   t                                                       | j        rt          j        nt          j        }t          | j        j        | j	        | j
        t          j        u           }t          | j        j        | j	                  }| j
        }| j                                        r| j                            | j                  }d}| j
        t          j        ur| j                            | j                  }| j                            | j                  }t'          j        | j        | j                  }t          j                            t/          |          t/          |          |j	                                        |                                          }d}	| j
                                        rd}
| j                                        | j        k    r7t          j                            | j                                                  }n6t          j                            | j                                                  }| j        j        ;t          j                             | j        j                                                  }
t          j!                            t          | j        j"                  ||
          }	tG          | j        j"                  rtI          | j        j"                  }| j        | j                                        k    r#|	t          j%                            |          z  }	n|	t          j&                            |          z  }	n| j                                        rL|t          j'                            t/          | j        (                    | j                                      z  }|	t          j)                            | j        *                                          z  }	t          j+                            t          j,                            |-                                t\          |                             }t          j/                            || j        0                                ||| j        j1        |||	          S )N)add_remaining_time )2r   get_item_detail_textr    r@   OPPONENT
CHALLENGERr   r   
start_dater,   r"   r
   COUNTDOWN_TO_STARTend_datein_progressget_in_progress_display_statusr   get_crew_gainr   r   get_top_player.CREW_DAVY_BACK_FIGHT_ITEM_DETAIL_CONTRIBUTIONSrB   r   get_markdown_mentionget_contribution_formattedis_finishedget_winner_crew1CREW_DAVY_BACK_FIGHT_ITEM_DETAIL_PENALTY_RECEIVEDget_penalty_payout_formatted-CREW_DAVY_BACK_FIGHT_ITEM_DETAIL_PENALTY_PAID	conscript3CREW_DAVY_BACK_FIGHT_ITEM_DETAIL_CONSCRIPTED_MEMBER$CREW_DAVY_BACK_FIGHT_ITEM_DETAIL_ENDpenalty_end_dater   r   CREW_DAVY_BACK_FIGHT_WONCREW_DAVY_BACK_FIGHT_LOST.CREW_DAVY_BACK_FIGHT_ITEM_DETAIL_PENDING_CHESTget_chest_amount1CREW_DAVY_BACK_FIGHT_PARTICIPANTS_RULES_WITH_TIMEget_remaining_timeLOG_ITEM_DETAIL_STATUS_TEXT,LOG_ITEM_DETAIL_GENERIC_OUTCOME_TEXT_NO_BOLDget_log_emojir   %CREW_DAVY_BACK_FIGHT_ITEM_DETAIL_TEXTrD   participants_count)r#   challenger_textrM   rO   display_statuscontributions_texttotal_gainedtotal_opponent_gained
top_playerend_textconscripted_member_textpenalty_payout_textpenalty_remainingstatus_textr$   s                 r%   rJ   z.CrewDavyBackFightListPage.get_item_detail_textF   s   $$&&&.2.@X'**gFX,K"I $ 59V V
 
 


 +K I
 
 &*%:;""$$ 	S![GG	RRN 
(EEE;44TY??L$(K$=$=d>P$Q$Q!3K3ZTY4 4J ")!W!^!^#L11#$9::44665577	" "  ,,.. -	&(#{**,,	99MTT@@BB  $# '.&[&b&bK<<>>' '# {$0OVV-BBDD  (
 CJJ'(DEE#' H !!=>> \$:4;;W$X$X!9 ; ; = === @ G GHY Z ZZHH A H HIZ [ [[H{&&(( "JQQ+DK,H,H,S,STT " QXX..00  H 9@@@GG,,..0H0X 
 
 <CC5577K*	
 	
 		
r&   c           	      b   t          t          j        t          j        t
          j        | j        k    t
          j        t          j
        k    z  t
          j        | j        k    t
          j        t          j        k    z  z  t          j
                  t          t          j        t          j        t
          j        | j        k    t
          j        t          j
        k    z  t
          j        | j        k    t
          j        t          j        k    z  z  t          j                  t          t          j        t          j        t
          j        t          j        k    t          j                  t          t          j        t          j        t
          j        t          j        k    t          j                  gS )N)r5   )r   r	   LOG_POSITIVEr@   GAME_STATUS_WONr   r-   r   r5   r
   WONr   LOSTLOG_NEGATIVEGAME_STATUS_LOSTLOG_BLUEGAME_STATUS_IN_PROGRESSIN_PROGRESSLOG_NEUTRALGAME_STATUS_COUNTDOWN_TO_STARTrN   rE   s    r%   get_emoji_legend_listz/CrewDavyBackFightListPage.get_emoji_legend_list   sR   "' '6$)C(/:>AC '4	A(/:?BD "~   "( '4	A(/:>AC '6$)C(/:?BD "   /%)??!-	   !6%)FF!4	  K+
 +	
r&   c                     |                      d          }t          |          dk    r|d         S | j                                        }|r|S | j                                        }|r|S dS )z*
        Get active DavyBackFight
           r   N)r>   lenr   get_active_davy_back_fightget_penalty_davy_back_fight)r#   	all_items
active_dbfpenalty_dbfs       r%   get_direct_itemz)CrewDavyBackFightListPage.get_direct_item   s{    
 NN1%%	y>>QQ< %)I$H$H$J$J
 	 &*Y%J%J%L%L 	tr&   )__name__
__module____qualname__r   intr1   r   DEFAULT_LIMITlistr   r>   strrF   rJ   r   r   r   __classcell__)r$   s   @r%   r   r      s       : : : : :>C >D > > > > %-$: 
 
tM?R 
 
 
 

s 
 
 
 

`
c `
 `
 `
 `
 `
 `
D,
tK'8 ,
 ,
 ,
 ,
\!5        r&   r   updatecontextinbound_keyboardr,   r(   c           
      d  K   ddl m} t                      }||_        t	          |          |_        t          j        |j        v r|	                    t          j                  rY|
                                }|C|j        |j        t          j        <   d|j        t          j        <    || |||           d{V  dS t          ||t          j        t          j        t           j        ||t           j                  \  }}t'          ||| ||t          j        t          j        g           d{V  dS )z
    Manage this screen
    :param update: The update object
    :param context: The context object
    :param user: The user object
    :param inbound_keyboard: The keyboard object
    :return: None
    r   )manageNT)text_fill_inr   r,   empty_list_text)r   keyboardr   excluded_keys_from_back_button);src.chat.private.screens.screen_crew_davy_back_fight_detailr   r   r,   r   r   r   DIRECT_ITEMinfoget_boolr   idDEFAULT_PRIMARY_KEYr   r   PVT_CREW_DAVY_BACK_FIGHT_DETAILr@   &CREW_DAVY_BACK_FIGHT_ITEM_TEXT_FILL_IN"CREW_DAVY_BACK_FIGHT_LIST_NO_ITEMSr   PAGE)	r   r   r   r,   manage_davy_back_fight_detaildbf_list_pagedirect_itemot_textitems_keyboards	            r%   r   r      s           0I/J/JMM!$M 	(,<,AAA ))*>*JKK 	B &3%B%B%D%D"NYn!"6"JKFJ!"6"BC//AQSWXXXXXXXXXF50.CB	 	 	G^ ) % ,(

 
 
 
 
 
 
 
 
 
 
 
r&   )+src.tg_compatr   src.tg_compat.extr   resources.phrasesr@   src.model.Crewr   src.model.DavyBackFightr   "src.model.DavyBackFightParticipantr   src.model.Userr   src.model.enums.Emojir	   src.model.enums.GameStatusr
   r   src.model.enums.ListPager   r   $src.model.enums.ReservedKeyboardKeysr   src.model.enums.Screenr   src.model.pojo.Keyboardr   src.service.crew_servicer   src.service.date_servicer   r   r   src.service.list_servicer   src.service.message_servicer   src.utils.string_utilsr   r   DEFAULT_TYPEr    r&   r%   <module>r      s               * * * * * * # # # # # #       1 1 1 1 1 1 G G G G G G       ' ' ' ' ' ' K K K K K K K K : : : : : : : : E E E E E E ) ) ) ) ) ) , , , , , , - - - - - -         
 = < < < < < 9 9 9 9 9 9 6 6 6 6 6 6O O O O O O O Od44)64JR4Z^4	4 4 4 4 4 4r&   