a
    }h                    @   s   d dl Z d dlZd dlZd dlZd dlZd dl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mZmZmZmZmZmZmZmZmZmZmZ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) G dd deZ*dS )    N)timezone)FifaAccountCurrentItems)BASE_DIR)get_next_price_gradeget_previous_price_gradeset_sbc_statusdelete_sold_itemsput_item_for_saleset_sub_logget_trade_pile
sell_itemsset_main_logput_consumable_for_salesave_sold_itemssave_selling_itemssave_quick_sold_itemsave_account_requestget_round_price)logout_login)	SBCSolver)console_trade_quality_dict)ConsoleTradeOneCardConsoleTradeOneQualityConsoleTradeOneHistory)fifa_23_address)	new_printc                   @   s   e Zd ZdZdZd;ddZedddZedd	d
Z	dd Z
dd Zdd Zdd Zdd Zdd Zd<ddZd=ddZdd Zdd  Zd>d!d"Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd?ed0d1d2Zd3d4 Zd5d6 Zd7d8 Zd9d: ZdS )@ConsoleTradeRunnerFr   c                 C   s`  t | jd t| jd t| jd | jjddd t| jd zd| j  t	j
j| jd | _| jrr| jjr| jjr| jj| jjkr| j  | jj| j_d | j_| jjd	d
gd t| jd| jj t	j
j| jd| _nft	j
j| jd | _| jjrF| jj| jjkrF| j  d | j_| jjd
gd t| jd| jj t | j_| j  dddddd}| jjdu r | jjddd |  }|dkrt| jd|d nRt| jd | jdd | jjddd |  dkr t| jd td W d S | jjr"tj
j| jjd }ntd| jjdkrF|sFtd|rp|jrp|j t tj!d d! k sv|s`| jjdkr`t | jd" d#dd$d%d%d&}| j"| jj|#| jjd%d'\}}tj
j| jjd }|r|jr|j t tj!d d! k r||#| jjdks|s`|d(kr<| jjd)kr<d#}nv|d*krZ| jjd+krZd$}nX|dkrx| jjd,krxd-}n:|d-kr| jjd.krd/}n|d-kr| jjd0krd/}d}	|  |#|j$}
d1}|r|j%d-kr|j%}
|j&d/kr|j&}|	r|rt'|}t'|}|r"t'|}t'|}tj
j| j| jj||d|	|j(|
||j)|j*|j+|j,d2}|j-| _.|j/| _0| jj1du rx| j.d%k r| jjd0krd%| _.n| j.d%k r| jjd.krd%| _.nd| j.d$k r| jjd,krd$| _.nB| j.dk r| jjd+krd| _.n | j.dk r&| jjd)kr&d| _.| j.|j(k r<|j(| _.|j/| _0| j0|j%k rZ|j%| _0t| jd3| jj1d4| j.d5| j0 | j  |j$| j_2| j.| j_-|j/| j_/t | j_| j  | j  | j  d}d}t3j
j| jd }|r
|j4#d6|j$ d7pd1}nd1}t| jd8| | jj5d9k	rH|j*	rH| jj6	rH|j+| jj5k 	rH|j,|k	rH| jjrt| jj| jjk	rH| jj1s| jjdu s| jj7d%k s| jj1	rH| jj8d:k 	rH| jj9	sH|j&d1ks|j&d/k	rH| j.|j&k	rHd| _:t | jd; t| jd< t| jd= | j.d1kr4t| jd> t| jd? nd}| jj;d1krr| j  | jj5| j_;t | j_| j  | j  d| j_| jjd@gd t<dAD ]L}t| jdB|  t | jdC|  t| jdD|  d}dE}d1| _=| j>| j.||dF}| j  | j j7| j=7  _7t | j_| j  | ?  t| jdG |dHkrZt| jdH  q|dIkrt| jdJ | j  dK| j_@| j   q|dLkrt| jdL  q|dMkrt| jdM  q| jj1r| jj8dNkr qq| jjddd | jA| j.| jj2dO z| B  W n   t| jdPtCD  Y n0 t| jdQ t	j
j| jdjE| jjFdR }|  | jj	s| jjs|j)r|	rt| jdStG|d6| jj dT | j  d| j_| jjd@gd t| jdU t | jdV t| jdW d| _H|
r| ?  t| jdG | jjddd | jA| j.| jj2dO}z| B  W n   t| jdXtCD  Y n0 |dYk
rz|j/| _0|
r| jj1
st| jdZ|  t'| j0| _0d}| j0| jjIk
r|dYk
r| jjJdKk
rd}| j  | j0| j_I| j  |d[kr| jK| j0|j$|d\}|d[krt| jd] | j  d| j_| jjd@gd tLj
j| jdjMdd^ | j  | jj5| j_Nt | j_| j  | jjr| jj| jjkr|d1krt| jd_ | jjddd | jOd`daW S n<t| jdb | j  | j jPd`7  _Pt | j_| j  | j:s^| jHs^t| jdc | jjddd | jA| j.| jj2dO | j  t | j_| j  | jjddd t| jdd| jj5  W n tyB } zt| jdetCD  | jjQR  | j  df| j_Sd | j_T| j  t | jtU| tU|dgkr$tdK n
td W Y d }~n
d }~0 0 t | jdh t| jdi d S )jNzTrade Start ...zstart trade mode onezopening ultimateT	home_main)
close_game	state_setzstart console trade bot core)fifa_accountconsole_trade_one_qualityconsole_trade_one_quality_new)update_fieldsztrade quality changed , ztrade quality changed 2 , ,  i  X    bronze1silver0silver1gold0gold1F)need_get_new_sidstatetransfer list emptyzweb sell items result : z , trade continuez3transfer list not empty , first clear transfer listr-   z(transfer list not empty , sleep 2 minutex   )namez&Fifa Account not quality set for tradeposition_modifierz$Need Position Modifier Trade Quality   )minuteszTrade Get Pricei&        )r,   r+   r*   r)   r(   )quality
zero_pricei  r,   i^  r+   r*      r)   d   r(   r   )r    r2   	bid_price
sell_priceauto_next_createdynamic_upper_priceinvest_bid_low_priceinvest_sell_low_priceinvest_bid_high_pricer   	bid_itemsinvest_lowest_creditinvest_highest_stockzrun_console_invest_trade_one : z bidding_mode_bid_price : z selling_mode_price : club__tradable_itemszcurrent stock : i  -   zTrade bidding ...z'Console Trade One bidding mode start...zbidding modezcan`t bid on price 0z2Console Trade One bidding mode end. bid price zerois_running_console_trade_one   z%Console Trade One bidding mode round zTrade bidding z Console Trade One bidding round 1   r<   	bid_countr8   z manage unassign_bought_items end
low creditunassign fullzunassign full , break loop
   high last remain timetoo many busy in trade(   )bought_pricequality_namezexception error 114 : z"Console Trade One bidding mode end)idzlast trade history : _itemsz'console trade one selling mode start...zTrade selling ...zselling modezexception error 113 : list duplicate with low pricezsell with next grade : "transfer list and unassigned empty)r=   r8   
relist_allz8after selling items , transfer list and unassigned empty)deletedz need to change quality and ready   )	try_countz0console trade one selling mode end and not emptyz4no bidding and selling running , manage bought itemszend working , credit : zexception error 93 :  -console trade found more than 5000 card pricez	Trade Endzend trade mode one)Vr   
sbc_workerr   r
   public_movesconsole_open_ultimater   r    refresh_from_dbr   objectsfilterlasttrade_historyend_timer"   r!   savecreater   	localtimeupdate_timerI   console_close_ultimateweb_sell_items console_transfer_list_sell_itemsweb_check_transfer_list_emptytimesleepr   	Exceptionr>   create_time	timedeltaextract_sell_bid_pricegetr2   rA   rB   r   r@   r   rC   rD   rE   r<   Zbidding_mode_bid_pricer=   Zselling_mode_pricerun_console_invest_trade_onerU   r   __dict__creditrun_console_trade_onerM   #transfer_list_duplicate_items_count%stop_console_trade_one_for_other_botsbidding_executedcredit_beforerangebided_countbiding_modeunassign_bought_items!unassigned_full_need_sell_countermanage_bought_itemssave_account_items	traceback
format_excexcluderV   getattrselling_executedcurrent_sell_pricetransfer_list_items_countselling_moder   updatecredit_afterconsole_trade_bot_corelist_try_countps4_buttonsreset_to_defaultdescriptiondescription_editorstr)selfr]   Zinvest_sell_low_price_dictZweb_sell_resultZtrade_qualityZzero_pricesr=   r<   last_trade_qualityr?   rA   rB   Zsell_with_next_grade_priceZbidding_doneZaccount_current_itemsZcurrent_stockttrM   Zbidding_mode_resultlast_trade_historyZbought_item_resultZrelist_itemsZselling_mode_resulterror r   JC:\Users\Administrator\Downloads\futplus_django\trade\console_trade_bot.pyr   "   s   

















	





































 z)ConsoleTradeRunner.console_trade_bot_core)r8   c              	   C   s
  t | jd|d| | j  | jjs4t | jd dS d}d}d}dr|jdkr| jdd | jj  t	
d	 t | jd
 | jj  t	
d	 | jjjdd | jjjdd | jjjdd | jjjd	d | jj|jst | jd | j|||dS | jjjdd n4| jdd | jtjtd| jj ddst| jtjtd| jj ddrt | jd | jj  t	
d	 | jj  t	
d	 t | jd|j  | jjjdd | jj  t	
d	 | jj|j  t	
d	 | jj|js.t | jd | j|||dS | jjjdd | jjjdd | jj  t	
d | jj  t	
d	 | j|ddd}|dkrt | jd | jj  t	
d	 | jj  t	
d | j|||dS t	
d | jj  t	
d | jjjdd | jj  t	
d	 | jjtjtd| jj dtjtd| jj dtjtd| jj d gd!dd"}|du rt | jd# t	
d | j|||dS | j st | jd$ | jjjd	d t	
d | j|||dS d}	t d%D ]}
t d&D ]<}z| jj! }	W  qDW n   t	
d Y qY n0 q|	du r\t	
d	 q|	d'krl q| jj"  t	
d qt	
d	 d}d}d&}d}d}d(}||k
r:| j#|d)}|d	7 }|d*ks|d+kr t | jd, t$| j%d-| d.|  t&| j%d/| d0 | '| d,S |d1 dkrht | jd2|d3|d| |d4 dkrht&| j%d5|d4   ||krt | jd6|d7| t$| j%d6| d8|  t&| j%d/| d0 | '| d9S |st | jd: | j( rdS |d	7 }|d;krdS qn|d<kr6t | jd< | jj"  |d	7 }t	
d n|d=krHd>}nx|d?krZd>}nf|d@krt | jdAdB| |d%krt$| j%dC|  t&| j%d/| d0 | '| d@S |d	7 }n|dDkrt$| j%dE|  t&| j%d/| d0 t | jdE| dF| | '| dDS |dGkrHt | jdH | jj  | j||| |dS |dIkrt | jdJ | jj  t	
d	 | j||| |dS |dKu r|d	7 }|  j)d	7  _)d}t*j+j,| j||dL z|	d1k rt | jdM d&}W n   t | jdNt-.  Y n0 | jjjdd || dkrd&}| j/  | 0 rBt12d&d;}nd	}t |D ]$}| jj"  |d	7 }t	
d qNd}	t d%D ]}
t d&D ]<}z| jj! }	W  qW n   t	
d Y qY n0 q|	du rt	
d	 q|	d'k	r2|	dOk	r
t | jdP|	 d4}n"|	dQk	r(t | jdR|	 dQ}n|	} 	qT| jj"  |d	7 }t	
d q| 3 	rt | jdS | jj  t	
d	 | jtjtd| jj dTd	s| jtjtd| jj dUdrt | jdV | jtjtd| jj dWd
r t | jdX | jj  t	
d	 | jj  t	
d% qt | jdY|dZ|d| t$| j%dY| d[|  t&| j%d/| d0 | '| d S )\Nz!start bidding mode , bid price : z bid count : z0not running console_trade_one , stop biding_modeFr   r3   	transferssearch_consumablesr\   zsearch position change      ?sleep_afterz"selected position change not fixedrL   search_playersutils/z%_controls/player_search_not_found.pngscreen_shot_tmp.jpgz+_controls/player_search_not_found_start.pngz)already in player search 2 . press circlesearch player find qualityzselected quality not fixed皙?	max_startr7   price
price_typedefault_pricecan not find pricez'bidding mode error : can not find pricerP   ._controls/transfer_market_no_search_result.pngz!_controls/live_search_results.pngz_controls/time_remaining.png   )	wait_timecheck_errorsz6bidding mode error : can not find transfer live resultz)bidding mode error : search has no result   rJ   rS   ih  r     r:   rR   z&too many busy in trade : try to bid : z, next page pressed : zbid waiting : z secs2   zbidding mode , try to bid : zbided count : r$   zTrade bidding - zhigh last remain time : z but waiting : z, but waiting : rQ   zmissed way 2, try again   transfer expiredhigher price   already bidedrN   z low credit , end of bidding modez last remain secs : zlow credit last remain secs : rO   z!unassign full last remain secs : z bided count: miss wayzmissed way , try againcan not set pricezcan not set price , try againT)r    r<   r8   z1remain time less than 50 sec , continue on 3 itemzcant read remain time , iPF  zunusual remaining time :   zunusual remaining time : 2z$ok i found compare price, going backz&_controls/check_for_inside_bidding.png_controls/bid_sign.pngzstock in bidding, get back_controls/listing_expired.pngzlisting expired , press crosszlast remain secs : z bided count : z,  bided count : )4r   r    rc   r{   r2   ra   go_to_stater   r3rq   rr   crossrighttransfer_list_utilscheck_selected_qualityr   down	has_imageospathjoinr   platformcirclefind_qualityleftsquarespecial_search_player_priceuptrianglewait_for_imageshas_search_resultr   get_remaining_timer1bid_itemr
   r`   r   sleep_while_remainjust_find_stater   r   rd   rj   r   r   get_screen_shotno_bid_successrandomrandintcheck_compare_price)r   r<   rM   r8   r   Z
try_to_bidZhigher_price_countersearch_price_reswait_resultremaining_timenumnum2Zmissed_way_counterZlast_remain_secsZneeds_item_to_next_page_countZtry_low_creditZnext_page_pressedZhigh_last_remain_secsZbid_item_resultZnext_page_countZnnmr   r   r   r     s4   


	



























	





















zConsoleTradeRunner.biding_mode)remain_secsc                 C   st   |dkrXt dD ]D}t| jd tt|d  | jj  td | jj	  qnt| jd| t| d S )Nr1   r   z2pressing left and right while waiting for bid doner\   z%waiting for bid done but no action , )
r   r   r    rq   rr   intra   r   r   r   )r   r   itemr   r   r   r     s    
z%ConsoleTradeRunner.sleep_while_remainc              	   C   sx   | j tjtd| jj ddrttdD ]B}| j 	  | j tjtd| jj ddsd dS t
d q,dS dS )Nr   z_controls/compare_price.pngr      Fr   T)ra   r   r   r   r   r   r    r   r   r   rq   rr   )r   r   r   r   r   r     s$    
z&ConsoleTradeRunner.check_compare_pricec              	   C   s  | j   |  }z:| j j|dddd d dddd}tt|}W nZ   z<| j j|dddd	d d dddd}tt|}W n   d
}Y n0 Y n0 tt|t|krdS | j j	j
dd | j   | j tjtd| jj ddr<| j|d}|dkr0| j j	  td dS |dkr>dS |sHdS | j j	j
dd | j j	jdd | j j	j
dd | j   | j tjtd| jj ddr| j j	
  td | j j	  td dS | j tjtd| jj ddr8td | j j	
  td | j j	  td dS dS d
}|dkr| j   | j tjtd| jj ddr| j j	  td dS dS | j   | j tjtd| jj dds| j j	  td n| j|dS |d7 }q@d S ) NFr   convertconvert_type,r^   .6--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789configr   r   r   r   r   r   r   r   r   r   r   r   r   gffffff?r   r\   r   z_controls/bid_market_error.pngrO   Tr   z_controls/bid_sign_deactive.pngrN   r   )ra   r   *_ConsoleTradeRunner__get_current_bid_priceget_screen_textreplacer   r   r   r   r   r   r   r   r   r   r   r    r   bid_set_pricer   rq   rr   r   r   r   )r   r   Zcurrent_bid_price_imageZcurrent_bid_priceZbid_set_price_resZbid_sign_countr   r   r   r     s    














zConsoleTradeRunner.bid_itemc              	   C   s  d}d}|dkr:t | jd | jj  | jdd dS z>|d7 }| j  |  }z:| jj|d	d
dd d 	dd	dd}t
t|}W n\   z<| jj|dd	d
dd d 	dd	dd}t
t|}W n   Y Y W dS 0 Y n0 t
||krW qt|t|krW dS |d dkrFt | jd t
t|d
 }dt| d | }| jjjt|t|dd W d	S    t | jdt  |r| jj  td
 Y q0 qd	S )NFr      zcant set price for this one 2r   r   r   r\   Tr   r   r   r   r^   r   r   r   r   r   8change default number to some thing else to pass the bug   0)	use_r1_l1zerror 105 : )r   r    ra   r   r   r   r   "_ConsoleTradeRunner__get_bid_pricer   r   r   r   r   lenr   set_price_with_l_and_rr   r   r   rq   rr   )r   r   
inside_setcountZbid_price_imagedefault_numberr   r   r   r   h  sl    
z ConsoleTradeRunner.bid_set_pricec                 C   s   d}| j tjtd| jj dd}|d}|d}|d}t	
d}||d |d | d	d
f }t	|t	j}t	|| |S )Nzbid_price_tmp.jpgr   r   r   	top_rightwidthheightr\   i  i  ra   get_image_positionr   r   r   r   r    r   rw   cv2imreadcvtColorCOLOR_BGR2GRAYimwrite)r   result_image_namestart_pricetop_leftZstart_price_widthstart_price_heightimgcrop_player_namer   r   r   Z__get_bid_price  s    



z"ConsoleTradeRunner.__get_bid_pricec                 C   s   |   S )N)r   r   r   r   r   get_current_bid_price_test  s    z-ConsoleTradeRunner.get_current_bid_price_testc                 C   s   d}| j tjtd| jj dd}|d}|d}t	
d}||d |d | dd	f }t	|t	j}t	|| |S )
Nzcurrent_bid_price_tmp.jpgr   z_controls/current_bid_sign.pngr   r  r  r\   r&   i  r  )r   r  r  r  r  r  r  r   r   r   Z__get_current_bid_price  s    


z*ConsoleTradeRunner.__get_current_bid_priceNc                 C   sZ   t | jd|d| t| jd | jdd | jt||d}t| jd |dkrVdS d S )	Nz"start selling mode , sell price : z must relist all : zselling items in console startr   transfer_list)buy_now_pricerZ   zselling items in console endr/   )r   r    r
   r`   ra   r   sell_transfer_list_itemsr   )r   r=   r8   rZ   Zsell_resultr   r   r   r     s    
zConsoleTradeRunner.selling_moder7   c           
      C   s  | j dd d}|r| j j  td |rt| jd|  | j jjdd | j j	  td | j j
|  td | j j
|s| j|||d dS | j jjd	d | j jjdd | j j  td | j j	  td | j j|d
dd}|dkrJ| j j  td | j j  td | j|||d dS td | j j  td | j jjdd | j j  td | j jtjtd| jj dddd}|du r| j jj	dd | j|t||dS | j  s| j jj	dd | j|t||dS d}tdD ]V}z(| j j
 }|rBW  qztd W n   td Y q"Y n0 td q"|dk rt}	|	||	|	|	|fS | j|t||dS )Ntransfer_marketr   Tr\   r   r   r   )r8   r9   try_counterr   max_buyr7   r   r   r   r   r   zlive_search_results.png)r   specialFr   rP   r   r%   ) ra   r   r   r   rq   rr   r   r    r   r   r   r   r   rv   r   r   r   search_player_pricer   r   r   wait_for_imager   r   r   r   r   r   r   r   r   r   )
r   r8   r9   r  Zneed_reset_filterr   r   r   r   Zg_p_pr   r   r   rv     s    













z)ConsoleTradeRunner.extract_sell_bid_pricec           
      C   sv  t | jd t| | j| j}|ddu r|t| jd| |ddkrTt| jd nt| jt|d t	d t
dt| j| j| j }|d }|D ]}|d	 d
d}|dd}|dd}|dddkrt|tt|ks||kr| jjrd	|d	 d ddgi}t| j| jd t|d}	t| jd|	j qt| | j| j t | jd t|dkrrdS d S )Nzweb_sell_items startstatus_boolFlogin failed : reasonlogin failedr$   auctionInfoitemDatamarketDataMinPricer   buyNowPricestartingBidr   
tradeStater^   expiredrV   clubrV   pileheaderz9before sell items , send expired items to club, result : zweb_sell_items endr/   )r
   r`   r   r    rw   r   r   r   rq   rr   rs   r   semain_dicjsonr   r   rx   r	   dumpstextr   r   )
r   login_statustrade_pile_jsontrade_pile_items	item_dataitem_min_priceZitem_buy_now_priceitem_bid_pricedata_4move_resultr   r   r   rn     s>    
z!ConsoleTradeRunner.web_sell_itemsc                 C   sz  t | jd t| jd t| | j| j}|ddu rt| jd| |ddkr`t| jd nt| jt|d t	d t
dt| j| j| j}zt| j|  W n   t| jdt  Y n0 t| j| jd	  zv| }g }|d
 D ]}|ddkr|| qt | jdt|  t| jdt|  t|dk rTW dS W n   t| jdt  Y n0 d S )Nz#web_check_transfer_list_empty startr  Fr  r  r  r$   cant save sold items : r*  r   r%  closedz-web_check_transfer_list_empty end , trades : r\   r/   zexception in get trade pile : )r
   r`   r   r    r   rw   r   r   rq   rr   rs   r   r+  r,  r   r-  r   r   r   appendr   )r   r0  resp	json_resptradesZrrmtr   r   r   rp   >  s8    

z0ConsoleTradeRunner.web_check_transfer_list_emptyc              	   C   s  t | jd|d| d}d}tdD ]}| j  |d dkr|r|st | jd| | jjjdd	 | jj  t	d
 | j  | j
tjtd| jj ddr"d}| jj  t	d
 | jj  t	d tdD ]}| jj  t	d qq"| j
tjtd| jj ddsJ| j
tjtd| jj ddr~| jtt|t|ds"| j  | jdd q"| j  |   | jjjdd	 | j  | jj
ddddr|dkrt | jd  dS |d7 }t	d q"d}q"d S )Nz searching transfer list items : z relist all : r   Fr:   rP   zrelist items. try again , i : r   r   r   r   z _controls/relist_all_message.pngr   Tr   z _controls/compare_price_icon.pngz"_controls/compare_price_icon_2.png)r  r  ps4_mainr  transfer_list_cards_tmp.jpggGz?)	thresholdz end of list. no any cards found.r\   )r   r    r   ra   r   r   r   r2rq   rr   r   r   r   r   r   r   r   r   r   list_on_transfer_marketr   r   errorsr    get_transfer_list_cards_position)r   r  rZ   one_more_chanceZrelisted_successinnnr   r   r   r    sp    








z+ConsoleTradeRunner.sell_transfer_list_itemsc                 C   s  t | jd|| | jj  | | | jjjdd | jj  | jj  | jj  d}|d7 }|dkrz| jj  |dkrdS | j	  | j
tjtd	| jj d
drq| jjjdd q^| jj  td | jtjtd	| jj d | jjjdd dS )Nzlist item on transfer market : g?r   r   r\   rP   r   Fr   z/_controls/list_on_transfer_market_the_first.pngr   r   z"_controls/item_transfer_sucess.pngT)r   r    ra   r   r   _ConsoleTradeRunner__set_pricer   l2r   r   r   r   r   r   r   r   rq   rr   r  )r   r  r  r   r   r   r   rB    s<    


z*ConsoleTradeRunner.list_on_transfer_marketc              	   C   s  d}|dkr:t | jd | jj  | jdd tdz:|d7 }td | j	  | 
  z:| jjd	d
ddd d dddd}tt|}W n\   z<| jjd	dd
ddd d dddd}tt|}W n   Y Y W dS 0 Y n0 t||krW q|d dkr8t | jd tt|d }dt| d | }t | jd| | jjt|t| W d
S    t | jdt  td Y q0 qd
S )Nr   r   zcant set price for this one 3r   r   z!cant set price for this one errorr\   r   start_price_tmp_2.jpgTr   r   r   r   r^   r   r   r   Fr   r   r   r   zdefault number = zerror 104 : )r   r    ra   r   r   r   rs   rq   rr   r   $_ConsoleTradeRunner__get_start_pricer   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   Z__set_price  sf    

zConsoleTradeRunner.__set_pricec                 C   s<   t d}|ddddf }t |t j}t d| d S )Nr   iJ  ir  i  ir  rJ  r  r  r  r	  r
  r   r  r  r   r   r   __get_start_price,  s    
z$ConsoleTradeRunner.__get_start_pricec                 C   s  t | jd | jdd t| jd td | j  | jj	
  td | jjtjtd| jj dtjtd| jj d	gd
dr"t| jd | jj	  td
 | jj	jdd | jj	  td | jdd | jj	
  td | jj	
  td | jj	  nrt| jd | jdd | j  | jtjtd| jj ddr|| jj	  dS | jj	
  | jj	  d S )Nz&manage unassign_bought_items start ...r   transfer_targetsz5try to empty transfer targets , check for error once.r   r   r   z_controls/after_buy_in_list.pngz"_controls/transfers_keep_items.pngrJ   )r   z&keep items found , exit and sort laterr\   r   rP   z,keep items not found , maybe target is emptyz$_controls/transfer_targets_empty.pngr   ztransfer target empty)r
   r`   ra   r   r   r    rq   rr   rC  r   rA  r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   ?  sL    







z(ConsoleTradeRunner.unassign_bought_itemsc           T      C   s^  t | jd t| jd t| | j| j}|ddu rt| jd| |ddkr`t| jd nt| jt|d t	d t
d| jjr| jjjttdd	v rz,| jjd
dd}t| jd|jd| jj W n   t| jdt  Y n0 t| j| j| j }|d }d}|D ] }|dddkr|d7 }qt	d zt| j| W n   t| jdt  Y n0 t| j| jd  | j  d| j_| j  d }	tdD ]}
g }g }g }|   }|d }t| j| j| j }|d }dd |dg D }| jjdkrg }d d |dg D }g }t| }|D ]}|d! }|d" }|d# }|d$ }|d%d}|d&}|d'}|d(du rBz<t | j||pd|pd|pd|pd||pdd) W n   t| jd*t  Y n0 qB| jj!st"|d+krt| jd,t"|d-t"| g }|D ]}|d d! }|d d" }|d d# } |d d%d}!|d d.d}"| jjd/v r|d d& d0kr|!r|d |  kr|d krn n| |d krd|!  k rd1k rn nd|d2d3gi}#t#| j| jd t$|#d}$zD|$ di gd d4ddu rBn|%| t| jd5|$j W n&   |%| t| jd6|$j Y n0 t	d nd|!d1ks|!dkr0|"d1kr0t| jd7|d d8| t| jd9 t	d: | &  t	d; t
d9q0t| j| j| j }%|%d }&d<d |dg D }'| jjdkr@g }'| j  | j j'|7  _'t"|&| j_(t"|'| j_)| j  | j*d| j+dd=}(| j,d>d?})| -|(|)  d@S dAt"| }*|*dk rg }+t| jdBt.|* tt.|*D ]},|D ]}-|-d d! |vr|-d d! |+vr|+%|-d d!  d|-d d! d2d3gi}.t#| j| jd t$|.d}$zF|$ di gd d4ddu r|%|$j nt| jdC|$j W n   t| jdD|$j Y n0 t	d  qqqn|*dk	r\t"|dk	r\g }/t| jdE|*dFt"| |d |* D ]@}0|0d& dGkrH| /|0d!  t	d q|0d! }|0d%d}!|0d# } |0d" }| jjd/v r|0d& d0kr|!r|d |  kr|d krn n| |d krd|!  k rdk rn n||/vr|/%|0d!  d|0d! dHd3gi}1t#| j| jd t$|1d}$zR|$ di gd d4ddu rd|%|$j |%|$j nt| jdI|$j W n   t| jdJ Y n0 t	d n|0d(d	rz@t| jdK|0 | jj0t1 dL|0d!  | jd dM |2|0 W n"   t| jdN|0dOt  Y n0 nHt| jdP|0 d|0d! d2d3gi}2t#| j| jd t$|2d}$t	d qg }3t"|dAk
rt| jdQt"| |D ] }0|0d& dGk	r| /|0d!  t	d 	q|0d! |v	r|0d! |3v	r|3%|0d!  d|0d! d2d3gi}1t#| j| jd t$|1d}$zR|$ di gd d4ddu 
rN|%|$j |%|$j nt| jdI|$j W n   t| jdJ Y n0 t	d 	qt	d g }4t| jdRt"| tt"|D ]}5|D ]}6|6d d! |v
r|6d d! |4v
r|4%|6d d!  d|6d d! d2d3gi}7t#| j| jd t$|7d}$zF|$ di gd d4ddu r^|%|$j nt| jdS|$j W n   t| jdT|$j Y n0 t	d  
q
q
qt	d t| jdUt"| |D ]}8d|8dHd3gi}9t#| j| jd t$|9d}$zR|$ di gd d4ddu r6|%|$j |%|$j nt| jdV|$j W n   t| jdW|$j Y n0 t	d qt	d | j*d| j+dd=}(| j,d>d?})| -|(|) t	d t| j| j| j }|d }dXd |dg D }| jjdkrg }t"|dAk r| jj3r"| jj| jj3krt| jdYdAt"|  g }:tdAt"| D ]};| jjd/v r.|(D ]}<|<d$ }=|<d! }|<dZd}>|<d%d}!|<d# } |<d" }|<d&}|<d'}z<t | j||!pd|pd| pd|=pd||pdd) W n   t| jd[t  Y n0 |<d& d0krd|!rd|d |  krF|d krdn n| |d krdd|!  k rpdk rdn n||:vrd|:%| d|dHd3gi}2t#| j| jd t$|2d}$zF|$ di gd d4ddu r|%|$j nt| jd\|$j W n   t| jd]|$j Y n0 t	d  qqdn| jjdkrL|)rL|)d dZ }?t|)d d^ |)d d_  D ]}<|:%|? d|?dHd3gi}2t4| j| jd t$|2}$zF|$ di gd d4ddu r|%|$j nt| jd\|$j W n   t| jd]|$j Y n0 t	d  qLqjqLt| jd`t"| dat"| dbt"|  | jj3r| jj3| jjkrt| jdc| jj dd| jj3  g }@t| j| j| j }A|Ad }Bded |dg D }C| jjdkrg }Ct"|Cdkr| jj5dk r|BD ]}D|@%|Dd d!  d|Dd d! d2d3gi}7t#| j| jd t$|7d}$z:|$ di gd d4ddu rbnt| jdf|$j W n   t| jdg|$j Y n0 t	d qd@}	n|BD ]}D|Dd d! }E|@%|Dd d!  d|Ed2d3gi}7t#| j| jd t$|7d}$zv|$ di gd d4ddu r nLt| jdf|$jdh | jj0t1 dL|E | jd dM t6| j|E|Dd d'di W n   t| jdg|$j Y n0 t	d q| j  | j j5d7  _5| j  |   }F|Fd }Gt| j| j| j }H|Hd }Idjd |dg D }J| jjdkrg }Jg }|ID ]j}K|Kd d! }L|Kd dZ }M|Kd d%d}N|Kd d.d}"|Kd d" }O|Kd d# }P| jjdkr|Md>krq |Nd1ks|Ndkr|"d1krt| jd7|Kd d8| t| jd9 t	d: | &  | j78dkdl t	d; t
d9n|d |O  kr&|d kr8n n|P|d ks d|Ld2d3gi}9t#| j| jd t$|9d}$t| jdm|dn|Odo|Pdp|$j	 |%|" q t	d | j*d| j+dd=}Q| j,d>d?}R| -|Q|R t	d t| jdq| t| jdr| t	d | j  | j j9t"|7  _9t:; | j_<| j j=t"|8  _=| jj>| j_?t"|G| j_@t"|I| j_(t"|J| j_)| j j'|7  _'| j  dst"|G dat"|I dtt"|Q dut"|R }St | j|S t| j|S |	rt"|Gdkr|	  S |
dk r t| jt"|G dv qn|	  S t"|Gdkr*t"|Idkr* dwS t"|Gdkrt"|IdAkr| jjAr qZqd S )xNzmanage_bought_items startr  Fr  r  r  r$   r   i  zhttps://icanhazip.com/r1   )timeoutztest 2018 resp : z proxies : zexception in test 2018: r   r   r%  r^   r9  r\   r   r8  r*  Tr   r!  c                 S   s   g | ]}|d  qS itemIdr   .0tllr   r   r   
<listcomp>      z:ConsoleTradeRunner.manage_bought_items.<locals>.<listcomp>duplicateItemIdListr3   c                 S   s   g | ]}|d  qS rQ  r   rS  r   r   r   rV    rW  rV   ratingrareflagassetIdlastSalePriceitemTypediscardValueuntradeable)item_id	buy_pricerY  rareasset_id	item_typediscard_valuezsave selling items error : rS   zduplicate items : zunsigned items : r"  r'   playerr&   r'  r(  successzerror on move 6 : zmove result 6 error : z>in trade found item that has more than 5000 price . stop bot. z not qulity list : r_   rP   r;   c                 S   s   g | ]}|d  qS rQ  r   rS  r   r   r   rV    s   )	tradeableplayers_list	get_pagesWL )resource_idrX   _   z'need move from transfer list to club : zerror on move 4 : zmove result 4 error : z(need move unassigned to transfer list : z unassigned items : misctradezerror on move 1 : zmove result 1 error : z untradable item found, remove it/item/headerszcan no quick sell item 2 , zexception : z)item not in trade type , send it to club zneed move unassigned to club : z2duplicate in unassigned , send to transfer list : zerror on move 2 : zmove result 2 error : zduplicate unassigned items : zerror on move 3 : zmove result 3 error : c                 S   s   g | ]}|d  qS rQ  r   rS  r   r   r   rV    rW  z-need move items from club to transfer list , 
resourceIdzsave selling items 2 error : zerror on move 5 : zmove result 5 error : r   untradeableCountz*manage_bought_items middle , unassigned : z , transfer list : z duplicate transfer list : zneed to change quality  from z to c                 S   s   g | ]}|d  qS rQ  r   rS  r   r   r   rV    rW  zerror on move 8 : zmove result 8 error : z , will quick sell)r`  re  c                 S   s   g | ]}|d  qS rQ  r   rS  r   r   r   rV  A  rW  r   r   z<item is not match with current quality , not quality list : z
 rating : zrare flag : z , move result : z move_to_transfer_list_results : zmove to club list results : z'manage_bought_items end , unassigned : z , club players : z , cunsumables : z$ unassigned items found , try again.rY   )Br
   r`   r   r    r   rw   r   r   rq   rr   rs   consoler2   listr   r+  r/  proxiesr   r   r   r,  r-  r   r   rg   rc   bought_items_managedri   	get_itemsr!   r   r   r}   r   r	   r.  r:  fix_conflict_transfer_itemssold_items_countr   r|   get_bronze_club_playersspecial_squad_players_buildget_club_consumablessave_club_player_itemsabshandle_misc_itemsdeleter   remover"   r   change_quality_list_try_countr   ra   r   	win_countr   rk   move_items_from_unassignedr   rz   current_creditunassigned_item_countrx   )Tr   rT   rU   r0  r;  r1  r2  r{  r3  Zbreak_and_return_messageiiiiZmove_transfer_resultsZmove_to_club_resultsZwin_results_1Zunassigned_items_jsonunassigned_itemsZduplicate_transfer_list_idsZduplicate_unassigned_list_idscant_move_items_1Zquality_dataZdddtir`  item_ratingitem_rare_flagZitem_asset_idZitem_last_sale_pricerd  re  Znot_quality_items_pricennttuclub_idrY  	rare_flaglast_sale_pricemarket_min_pricedata_6r7  Ztrade_pile_json_3Ztrade_pile_items_3Zduplicate_transfer_list_ids_3club_playersclub_consumablesZneed_move_to_transfer_countmoved_items_2ZmttmZnttsr6  Zmoved_items_4nnttmdata_1Zdata_5Zmoved_items_0moved_itemscounterZnmmdata_3Zdup_unass_itemdata_2Zmoved_items_3	counter_2Znnnttrc  rl  Zresource_id_3Zmoved_items_5Ztrade_pile_json_4Ztrade_pile_items_4Zduplicate_transfer_list_ids_4Zitem_data_2Z	club_id_3unassigned_items_json_2unassigned_items_2trade_pile_json_2trade_pile_items_2duplicate_transfer_list_ids_2ZttttZ	club_id_2resource_id_2last_sale_price_2Zrating_2Zrare_flag_2Zclub_players_2Zclub_consumables_2Ztext_1r   r   r   r   n  s   
 
	













$








$







$


$
$

$











$
 
$

 $$







2






z&ConsoleTradeRunner.manage_bought_itemsc                 C   s<   t d}|ddddf }t |t j}t d| d S )Nr   i  r%   r7   i:  r?  rL  rM  r   r   r   rD    s    

z3ConsoleTradeRunner.get_transfer_list_cards_positionr  r   c                 C   sj  t | jd|d| tdD ]f}| j  | jtjt	d| jj
 d| ddrV q| jjjdd	 |d
krt | jd  dS q|r|r| jj  | jj|| n| jj  | jj| tdD ]d}| j  | jtjt	d| jj
 ddr q0| jjjdd	 |d
krt | jd  dS q| jj  td | jjdddtdd   d S )Nzsearch_player_price : z -- r   r   z_search_player_icons/z.pngr   r   r   r   z** can not find price **r   z _search_player_icons/max_buy.pngz ** can not find special price **r\   i r&   rP   )r   r    r   ra   r   r   r   r   r   r   r   r   r   r   r   r   r   search_player_select_pricerA  rq   rr   r   r   )r   r   r   r   nmr   r   r   r     s@    


z.ConsoleTradeRunner.special_search_player_pricec                 C   s   t d}|ddddf }t |t j}t d| td | jt	j
td| jj d	ds| jt	j
td| jj d
drdS dS )Nr   r$   i  r   r   zbids_status_line.jpgg?r   z_controls/bid_success_tick.pngz _controls/bid_success_tick_2.pngFT)r  r  r  r	  r
  rq   rr   ra   r   r   r   r   r   r    r   )r   r  Zbid_status_liner   r   r   r     s(    

	z!ConsoleTradeRunner.no_bid_successc           	      C   s  d}| j jt d| || jd d}t| jt dd z| }|d d d	 }d}|d D ] }|d
 |kr`|d	 }|d
 }q`| j jt d| d| jd d}| }|d }d| }t| j | jd |d}t| jd|j	 W n   t| jdt
  Y n0 d S )Nz{"apply":[]}rp  r*  )datarr  z/item/%s)r    linkr!  r   rs  rY  z/playerpicks/item/z/selectrq  rV   z&{"itemData":[{"id":%s,"pile":"club"}]}z5console trade misc item found. send to club result : z;console trade misc item.no need to send to club , error 102)r+  postr   r,  r   r    r-  r	   r   r/  r   r   )	r   r  r  r;  r<  res_id
res_ratingplayer_pick_itemr7  r   r   r   r    s<    

z$ConsoleTradeRunner.handle_misc_itemsc           
      C   s  dd |D }dd |D }dd |D }dd |D }dd |D }d}|D ] }	|	d d	krN|	d
 |	d  }qNt | jddt|dt|dt|dt|dt|d| | j  t|| j_t|| j_t|| j_t|| j_t|| j_	|| j_
| j  d S )Nc                 S   s@   g | ]8}t |d  dkrdt |d   kr4dkrn q|qS )rZ  r\   r   rY  @   r   rT  mmmtr   r   r   rV    s   0z=ConsoleTradeRunner.save_club_player_items.<locals>.<listcomp>c                 S   s@   g | ]8}t |d  dkrdt |d   kr4dkrn q|qS )rZ  r   A   rY  J   r  r  r   r   r   rV    s   0c                 S   s@   g | ]8}t |d  dkrdt |d   kr4dkrn q|qS )rZ  r\   r  rY  r  r  r  r   r   r   rV    s   0c                 S   s@   g | ]8}t |d  dkrdt |d   kr4dkrn q|qS )rZ  r   K   rY  r;   r  r  r   r   r   rV     s   0c                 S   s@   g | ]8}t |d  dkrdt |d   kr4dkrn q|qS )rZ  r\   r  rY  r;   r  r  r   r   r   rV    s   0r   rs  rk  r   rt  zclub players count : z bronze rare = z silver common = z silver rare = z gold common = z gold rare = z position modifier = )r   r    r   rg   rc   club_bronze1_itemsclub_silver0_itemsclub_silver1_itemsclub_gold0_itemsclub_gold1_itemsclub_position_modifier_itemsri   )
r   r  r  Zbronze_rare_club_playersZsilver_common_club_playersZsilver_rare_club_playersZgold_common_club_playersZgold_rare_club_playersZposition_modifier_countr   r   r   r   r    s2    
z)ConsoleTradeRunner.save_club_player_itemsc           	      C   s(  t | j| j| j }|d }|D ]}|d d }|d dd}|d dd}|dksrd|  k rnd	k r"n q"d|d d
 ddgi}t| j| jd t|d}z8| di gd dddu rnt| jd|j	 W n   t| jd|j	 Y n0 t
d q"t| | j| j | jdd d S )Nr   r!  rs  r\  r   r"  r   rk  r&   rV   r'  r(  r*  rg  FTzerror on move 7 : zmove result 7 error : r   r0   )r   r    r+  r,  r-  rw   r	   r.  r   r/  rq   rr   r   r`   ro   )	r   r  r  item_1r  r  r  r  r7  r   r   r   rz    s$     "z.ConsoleTradeRunner.fix_conflict_transfer_items)r   )NF)r7   r   )F)r   r  r   ) __name__
__module____qualname__r~   r   r   r   r   r   r   r   r   r   r   r  r   r   rv   rn   rp   r  rB  rH  rK  r   r   rD  r   r   r  r  rz  r   r   r   r   r      sH   
   9  [1

D.F
L+1/    *%r   )+r-  r   r   rq   r   r  django.utilsr   accounts.modelsr   futplus.settingsr   sbc.public_methodsr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   accounts.web_login_utilsr   sbc.sbc_solverr   ro  r   trade.modelsr   r   r   utils.ea_settingsr   utils.realy_public_methodsr   r   r   r   r   r   <module>   s    D