
    eMV                     z    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 Zd Zde j	        fdZ
d Zde j	        fdZd ZdS )	    Nc	                    d|t          |                   v sd|v rdS d}	t          j        |t          |                   d         |t          |                   d         |t          |                   d         |t          |                   d                   }
d| v r)t          j        ||t          |                             }nd }	 t          j        ||t          |                             }n3# t
          $ r&}t          t          |                     Y d }~nd }~ww xY wt          | |t          |                   |          }d	}d
| v rt          |t          |                   d                   dk    r|t          |                   d         D ]Q}	 |t          |d                   dz   z  }# t
          $ r&}t          t          |                     Y d }~Jd }~ww xY wt          |          d d         }d }d| v rt          | |t          |                   |||          }||d         }|d         }||}||}|du r|t          j
        |t          |                   d         |t          |                   d         |t          |                   d         |
|||||||            |5  |	dz  }	d d d            n# 1 swxY w Y   n|du rt          j
        |t          |                   d         |t          |                   d         |t          |                   d         t          |
          |||d |||            |5  |	dz  }	d d d            n# 1 swxY w Y   |	S )Nerrorr   msadprice)result_jsoniteminfor	    stickerpanelstickersnamez, rank   Tfull_item_name
floatvalue	paintseed)strHelperFunctionsgenerateInspectLinkgetPricegetPage	ExceptionprintcheckFilterslencheckForRankhandleDBInsert)r
   inspect_link_listbulk_responseskin
ReqManagersteamidqueryidrelockfound_skinsgenerated_inspect_linkr	   pageeall_filters_matchstickertextstickerr   	rank_list	high_ranklow_ranks                        ?/home/alex/cs2snipeproduction/cs2snipe/MarketBot/FilterSkins.pythreadedFilterSkinsr4      s=    -D		***g.F.FqK,@c$ii %c$ii %c$ii %c$ii %	  +():M#d))<TUU&'8-D		:RSS   c!ff %s4yy)   K$$}SYY'
344q88(T3J?  3wv#7#7$#>>KK    #a&&MMMHHHH k**3B3/KD mCII.F
TXZ\]]	 !!I |H  $$)9*c$ii()9:c$ii(6c$ii(5&    ! !q ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! $$*c$ii()9:c$ii(6c$ii(5*++    ! !q ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! sT   (C4 4
D$>DD$F88
G(G##G(9KKKM%%M),M)c                 	   t          j                    }t          j        ddddd          }t	          j        |          }d}	d}
|	sd}|D ]|}|d	z  }|d
k    rd}		 |                    |dz   |                                          }nG# t          $ r:}t          t          |                     t          j        d	           Y d }~|d }~ww xY wd| v rmd}|D ]}	 d|t          |                   v rZt          |t          |                   d                   dk    s,t          |t          |                   d                   dk    rsnun3# t          $ r&}t          t          |                     Y d }~d }~ww xY w|t          |                   d         }t          |t          |                   |||            |D ]{}	 d|t          |                   v rZt          |t          |                   d                   dk    s,t          |t          |                   d                   dk    rtnvn3# t          $ r&}t          t          |                     Y d }~d }~ww xY w	 |t          |                   d         |k    r@t          |t          |                   |||           |t          |                   d         }# t          $ r5 t          d           t          |t          |                              Y Jt          $ r'}t          t          |                     Y d }~ud }~ww xY wt          j                            d          5 }g }|D ]9}|                    |                    t(          | ||||||||
  
                   :t          j                            |          D ]}|                                 	 |
t/          |                    d
                    z  }
nu# t2          $ r& t          d           Y |                                 mt          $ r:}t          t          |                     Y d }~|                                 d }~ww xY w	 |                                 # |                                 w xY wt          d           d d d            n# 1 swxY w Y   ~|
S d S )Nz46.101.132.132i  TalexzMargarethe1!)hostportdecode_responsesusernamepasswordFr   r   
   bulkr   aids	item_nameGamma DopplerDopplerr   z	FUCKED UP   )max_workers)	r
   r!   r"   r#   r$   r%   r&   r'   r(   )timeoutzTimed out, continuezThreadpool Done)	threadingLockredisRedisr   
bulkActionpostRequestNakedjsonr   r   r   timesleep
checkRedisKeyError
concurrentfuturesThreadPoolExecutorappendsubmitr4   as_completedacquireintresultTimeoutErrorrelease)r
   r!   inspect_server_urlr$   r%   r&   r(   r'   bulk_inspect_link_listsendr)   repeat_counter	bulk_listr"   r,   
first_name
skin_firstr#   executorrQ   futures                        r3   filterSkinsrd   k   s    >D	
 
 
B .89JKK
CK Y0 V	) V	)IaN"" * ; ;&/! !$&&     c!ff
1 $$#
"/  J!&-J*HHH"=Z#A+#NOOSbbbfijwx{  }G  yH  yH  kI  JU  kV  gW  gW  [d  gd  gd ( gd % gd % ! ! !c!ff ! "/s:!?@P!QJ}S__=z4QSTTT) ! !D!&-D		*BBB"=T#;K#HII_\\`cdqruvzr{r{d|  ~I  eJ  aK  aK  OX  aX  aX ( aX % aX % ! ! !c!ff !!(T34DESS&}SYY'?TSUVVV)6s4yy)ABR)SJ# ! ! !k***mCII6777 $ ! ! !c!ff ! #6626FF !)()  DNN /(3.?*7!%'1$+$+!!% (      )0==gFF ' 'FLLNNN'#s6===+D+D'E'EE' ! ! !3444   % ! ! !c!ff ! $ '(((C!) !) !) !) !) !) !) !) !) !) !) !) !) !) !)D sY Ys   +B		
C0CCA/EE
E?E::E?	A/H<9H<<
I,I''I,0AK;L?	L?L::L?"A4R=&O>=R	>Q0	R	R=-	Q0	6Q+	R	R=+Q0	0R	4R=	R	R==S	S	r'   c                    | d         }| d         }dt          | d                   v rd}| d         dk    rd}| d         d	k    s| d         d
k    rd}t          |          dz   t          |          z   dz   t          |          z   }|5  |                    |          }|{t          d           d}	|	se	 |                    dt          |          z   dz   t          |          z             }
n3# t          $ r&}t          t          |                     Y d }~hd }~ww xY wt          j        |
          }|dury|d         }d}|D ]I}|d         |k    r;|d         |k    r/d}|d         }|                    t          |          |            nJ|du rt          d           d}		 d d d            dS |t          d           	 d d d            dS dt          |          z   dz   t          |          z   dz   }dt          |          z   dz   t          |          z   dz   }t          |          dz   t          |          z   dz   }t          |          dz   t          |          z   dz   }|                    |          }|t          d           	 |                    |                                          }
d|
v rUdg i}|
d         D ]%}|d         	                    d|d         i           &|                    |t          |                     n4# t          $ r'}t          t          |                     Y d }~d }~ww xY w|                    |          }|	 |                    |                                          }
d|
v rUdg i}|
d         D ]%}|d         	                    d|d         i           &|                    |t          |                     n4# t          $ r'}t          t          |                     Y d }~[d }~ww xY wd}	|	enMd}	|	sHdt          |          z   dz   t          |          z   dz   }dt          |          z   dz   t          |          z   dz   }t          |          dz   t          |          z   dz   }t          |          dz   t          |          z   dz   }|                    |          }|t          d           	 |                    |                                          }
d|
v rUdg i}|
d         D ]%}|d         	                    d|d         i           &|                    |t          |                     n4# t          $ r'}t          t          |                     Y d }~qd }~ww xY w|                    |          }|	 |                    |                                          }
d|
v rUdg i}|
d         D ]%}|d         	                    d|d         i           &|                    |t          |                     n4# t          $ r'}t          t          |                     Y d }~>d }~ww xY wd}	|	Hd d d            d S # 1 swxY w Y   d S ) Nweapon_typer?   StatTrakr   r   quality_nameSouvenir   Unique   ★   _zSKINPORT ID IS NONEFz5https://float.skinport.com/api/items?limit=30&search= | dataweaponpaintkitTidz,SKIN NOT IN SKINPORT FLOATDB, RETURNING 13379  z5https://float.skinport.com/api/assets?page=1&item_id=z&category_id=z&sort=high_floatz&sort=low_float_high_lowzREDIS RANKS NONEfloat)
r   getr   getRequestNakedr   r   validateSkinportSearchsetrK   rS   )r   r$   r(   r'   rf   r?   skinport_typeredis_skinport_id_lookupskinport_idr]   rr,   skinport_search_jsonresults_listweapon_foundrX   url_highurl_lowredis_ranks_highredis_ranks_lowredis_ranks_high_entrynew_rentryredis_ranks_low_entrys                           r3   rN   rN      sm   =)K%IS"234444:--8++x/G5/P/PK3Y/#5M8J8JJ  
 H Hff566'(((C R	"22Ok**+  i..) AA !   #a&&MMMHHHH
 (7'Ma'P'P$'u44#7#?L#(L". % %"8,;; &z 2i ? ?+/L*0,KFF3'?#@#@+NNN!E %#u,,LMMM"#MH H H H H H H HP &HIIIUH H H H H H H HZ L+&&'%& -(() )	)  L+&&'%& -(() (	(  $'{#3#3c#9C<N<N#NQX#X "%k"2"2S"83};M;M"MPV"V)+0@)A)A&)1,---	!&66x@@EEGG!Q;;%+RLE)*6 P P %f 4 4guW~5N O O O OFF#3SZZ@@@$ ! ! !c!ff ! )+(?(?%(0	!&66w??DDFF!Q;;%+RLE)*6 P P %f 4 4guW~5N O O O OFF?CJJ???$ ! ! !c!ff ! e  Rh C -K+&&'%& -(() )	)  L+&&'%& -(() (	(  $'{#3#3c#9C<N<N#NQX#X "%k"2"2S"83};M;M"MPV"V)+0@)A)A&)1,---	!&66x@@EEGG!Q;;%+RLE)*6 P P %f 4 4guW~5N O O O OFF#3SZZ@@@$ ! ! !c!ff ! )+(?(?%(0	!&66w??DDFF!Q;;%+RLE)*6 P P %f 4 4guW~5N O O O OFF?CJJ???$ ! ! !c!ff ! [  -wH H H H H H H H H H H H H H H H H Hs   	-Y778C0/Y70
D :DY7D  BY74Y7C Y7B LY7
MM;Y7MY7!B O"!Y7"
P,PY7PCY7#B U$#Y7$
V.V
Y7VY70B X10Y71
Y";YY7Y""Y77Y;>Y;c                    t          j        |d         |d         |d         |d                   }dt          |          z   }d}|sv|                    |          }|d d gS 	 |                                }n3# t
          $ r&}t          t          |                     Y d }~nd }~ww xY wd}|d d gS d|v rd d gS |vd	|v r|d	         d
         dk    rR|d	         d
         Dt          |d	         d
                   }	|	dk     rd d gS t          |	          }	|	| d         k    rd |	gS |d	         d         dk    rR|d	         d         Dt          |d	         d                   }
|
dk     rd d gS t          |
          }
|
| d         k    rd |
gS d d gS )Nr   r   r   r   z-https://floats.steaminventoryhelper.com/?url=FTr   r   globalRatingPosnullr   r   localRatingPos)	r   r   r   getIPRoyalRequestrK   r   r   rw   rW   )r
   r   r$   inspect_linkfull_urlr]   responseresponse_jsonr,   global_rank
local_ranks              r3   checkForLowFloatSIHRankr   o  s   "6x}hsmU]^aUbdlmpdqrrL>\ARARRH
C  //99$<	$MMOOMM 	 	 	#a&&MMMMMMMM	 $<m##$<   < ]""$%676AAmT^F_`qFrF~j 9:K LMMKQd|#
 "+..+f"555 +.. $%56&@@]S]E^_oEpE|}Z89IJKKJA~~ d|# __
V!444 *--$<s   "A7 7
B'B""B'c                    |d         }|d         }t          |          dk    st          |          dk    rd S d d g}dt          |d                   v rd}|d         d	k    rd
}|d         dk    s|d         dk    rd}t          |          dz   t          |          z   dz   t          |          z   }	|                    |	          }
d}t          |
          dz   t          |          z   dz   }t          |
          dz   t          |          z   dz   }|sa	 t          j        t          |                    |                                        dd                    }n# t
          $ r}t          t          |                     |                    |          t          d|d         z              t          ||||          }|dk    r8t          t          |          dz   t          |          z   dz              Y d }~d S t          j	        d           Y d }~Y d }~nd }~ww xY w	 t          d| d                   D ].}|d         |         d         }|d         |k    r|dz   }||d<    n/n4# t
          $ r'}t          t          |                     Y d }~d }~ww xY wt          j        t          |                    |                                        dd                    }	 t          d| d                   D ].}|d         |         d         }|d         |k     r|dz   }||d<    n/n4# t
          $ r'}t          t          |                     Y d }~Nd }~ww xY wd}|d d gk    rd S |S d S ) Nrf   r?   r@   rA   rg   r   r   rh   ri   rj   rk   rl   rm   rn   Fru   rv   '"u   SCHEIß IS NONE )r   r$   r(   r'   rt   ro   z not in skinportdb yet...   r   r   rp   rw   r   T)r   rx   rK   loadsreplacer   r   rN   rL   rM   range)r
   r   r$   r(   r'   rf   r?   r0   r|   r}   r~   r]   r   r   r   r,   checkir   possible_high_rankpossible_low_ranks                        r3   r   r     s   =)K%I
9~~((C	NNi,G,Gt tI S"234444:--8++x/G5/P/PK3Y/#5M8J8JJ  &&122K
C;''#-M0B0BBWL+&&,s=/A/AAFJO *	
3rvv&67788@@cJJKKAA 		 		 		#a&&MMMvv&''/(84D+EEFFF"HRV[]^^^D==#k**U2S^^CFaabbb44444
1 0////				1k&122  vYq\'2
L)J66)*Q&#5IaLE 7  	 	 	#a&&MMMHHHH	 Js266/2233;;CEEFF		1k&122  vYq\'2
L)J66()A%#4IaLE 7  	 	 	#a&&MMMHHHH	 t$$4 U* *sR   AE! !
H)+BH$H$$H)-AI3 3
J$=JJ$0AL6 6
M' M""M'c                    i }| d         dk    rd|d<   t          t          | d                             t          t          |d                             k    r2t          | d                   t          |d                   k    rd|d<   nHt          t          |d                   d d                   }t          | d                   |k    rd|d<   | d         dk    r| d         dk    rEd|d<   t          |d                                       t          | d	                             rd|d<   | d         d
k    r6d|d
<   t          | d	                   t          |d                   k     rd|d
<   | d         dk    r6d|d<   t          | d	                   t          |d                   k    rd|d<   d| v r6d|d<   t	          | d                   t	          |d                   k    rd|d<   d| v r0d|d<   t          |          t          | d                   k    rd|d<   d| v rd|d<   | d         }g }|d         }g }|D ]*}	|                    t          |	d                              +|D ]*}	|                    t          |	d                              +d}
|D ]}|D ]}||k    r|
dz  }
t          |          |
k    rd|d<   |D ]}||         du r dS dS )Nfilter_optionsexact_floatFr   Tfloat_restrictionsstarts_withfloat_for_restriction	is_bigger
is_smallerpatternr   r	   r   r   r/   r   r   r   )r   r   rw   
startswithrW   rS   )r
   r   r	   filters_dictcut_iteminfo_floatstickerlist_wantedstickerlist_wanted_names_onlystickerlist_receivedstickerlist_received_names_onlyr/   matching_sticker_countwanted_stickercurrent_stickerfs                 r3   r   r     s   L#$55&+]#s;}-..//3s8L;Q7R7R3S3SSS[/00E(<:P4Q4QQQ.2]+!&s8L+A'B'B3B3'G!H!H [/004FFF.2]+#$(<<<+,==*/L'8L)**55K 7899  3 /3]++,;;(-L%[!89::U&> >   -1[)+,<<).L&[!89::U&> >   .2\*K"'Y{9%&&#h{.C*D*DDD&*L#+ %W<<5W!56666$(L!$$#(Z (8(*%'
3*,') 	J 	JG)00WY5G1H1HIIII+ 	I 	IG+223wv3G3GHHHH!"; 	0 	0N#B 0 0!_44*a/*0 ,--1GGG'+L$  ?e##55 $ 4    )rG   concurrent.futuresrP   r   rE   rL   rK   r4   rd   rH   rN   r   r   r    r   r3   <module>r      s                  \ \ \~h h hVWu{ W W W Wr= = =FIek I I I IXI I I I Ir   