
    TJg                         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Zd dlZd dl	Z	d dl
m
Z
 d dlZd dlmZ d dlZ G d de      Zy)    N)bluegems)RequestManager)FinalListing)loggerc                       e Zd Zdej                  dej                  fdZd Zd ZdefdZ	d Z
d	 Zd
 Zd Zd Zd Zd Z	 ddefdZd Zd Zd Zd Zy)NewMarketBotlistings_queuecsgofloat_queuec                     || _         || _        t               | _        g | _        g | _        i | _        g | _        || _        || _	        t        ||      | _
        || _        || _        d| _        y )Nzhttp://23.88.122.57:1337/)high_lowweapon_namesetlistings_url_setinspect_links_listlistings_info_listlistings_info_dictbest_or_worst_skinswebshare_ipsextended_scraper   r	   r
   inspect_server_url)selfr   r   r   all_sessionsr   r	   r
   s           */var/www/highfloat_scraper/newMarketBot.py__init__zNewMarketBot.__init__   st     !& #"$"$"$#% (.,\<H,."=    c                 h   d}d}d}| j                   dk(  rd}n| j                   dk(  rd}| j                  dk(  rdj                  |      }ndj                  || j                        }|s	 | j                  j	                  |d	
      }|t        j                  d       9t        |t              r t        j                  |j                        }n|j                         }|dz  }|dk\  r.t        j                   dd      }	t        j                  ||	z         |dkD  rd}t        j                  d       |d k(  rt#        |d         dk(  r|d   |d   k  rd}n+t        j                  t        | j                        dz          |d   D ]  }
d|
d   v sd|
d   v sd|
d   v sd|
d   v sd|
d   v sd|
d   v sd|
d   v sd |
d   v sd!|
d   v sd"|
d   v sd#|
d   v sd$|
d   v sd%|
d   v sd&|
d   v s{d'|
d   v ssd(|
d   v skd)|
d   v scd*|
d   v s[d+|
d   v sSd,|
d   v sKd-|
d   v sCd.|
d   v s;d/|
d   v s3d0|
d   v s+d1|
d   v s#d2|
d   v sd3|
d   v sd4|
d   v sd5|
d   v sd6|
d   v sd7|
d   v sd8|
d   v sd9|
d   v sd:|
d   v sd;|
d   v sd<|
d   v sd=|
d   v sd>|
d   v sd?|
d   v sd@|
d   v sdA|
d   v sdB|
d   v sdC|
d   v sdD|
d   v sdE|
d   v sdF|
d   v sdG|
d   v sdH|
d   v s~dI|
d   v swdJ|
d   v spdK|
d   v sidL|
d   v sbdM|
d   v s[dN|
d   v sTdO|
d   v sMdP|
d   v sFdQ|
d   v s?dR|
d   v s8dS|
d   v s1dT|
d   v s*dU|
d   v s#dV|
d   v sdW|
d   v sdX|
d   v sdY|
d   v sdZ|
d   v r&t        j$                  d[t        |
d         z          |
d\   dk(  r&t        j                  d]t        |
d         z          Cd^t&        j(                  j+                  t        |
d         j-                  d_            z   d`z   }| j.                  j1                  |        |daz  }|s| j                   dk(  rt3        db      5 }t        j4                  |      }| j                  |v r|| j                     D ]}  }t        |d         dcz   t        |d         z   ddz   }d^t&        j(                  j+                  t        |      j-                  d_            z   d`z   }| j.                  j1                  |        d d d        | j                   dk(  rt3        de      5 }t        j4                  |      }| j                  |v r|| j                     D ]}  }t        |d         dcz   t        |d         z   ddz   }d^t&        j(                  j+                  t        |      j-                  d_            z   d`z   }| j.                  j1                  |        d d d        y y # t        $ r,}t        j                  dt        |      z          Y d }~d }~ww xY w# 1 sw Y   xY w# 1 sw Y   y xY w)fNFr   high   lowglovesa  https://steamcommunity.com/market/search/render?currency=3&norender=1/?query=&start={0}&count=100&search_descriptions=0&sort_column=price&sort_dir=asc&appid=730&category_730_ItemSet%5B%5D=any&category_730_ProPlayer%5B%5D=any&category_730_StickerCapsule%5B%5D=any&category_730_TournamentTeam%5B%5D=any&category_730_Weapon%5B%5D=any&category_730_Exterior%5B%5D=tag_WearCategory{1}&category_730_Rarity%5B%5D=tag_Rarity_Ancientaz  https://steamcommunity.com/market/search/render?currency=3&norender=1/?query=&start={1}&count=100&search_descriptions=0&sort_column=price&sort_dir=asc&appid=730&category_730_ItemSet%5B%5D=any&category_730_ProPlayer%5B%5D=any&category_730_StickerCapsule%5B%5D=any&category_730_TournamentTeam%5B%5D=any&category_730_Weapon%5B%5D={1}&category_730_Exterior%5B%5D=tag_WearCategory{2}skins)skins_or_inspect_links   z)Exception in getHashedNameListHighOrLow:             ?g      ?   Tz#json_page failed 20 times, skippingresultstotal_countpagesizez: total_count < pagesizezUSP-S | 027namezM249 | HypnosiszSCAR-20 | Trail BlazerzMP5-SD | StaticszR8 Revolver | TangozDesert Eagle | CalligraffitizAUG | Luxe Trimu   MAC-10 | Saibā OnizDual Berettas | Hydro StrikezM4A4 | TurbinezSSG 08 | Rapid TransitzP90 | Randy RushzUMP-45 | Neo-NoirzP250 | EpicenterzAK-47 | The OutsiderszGlock-18 | Gold ToofzM4A1-S | VaporwavezDesert Eagle | Heat TreatedzM4A1-S | FadezGalil AR | Rainbow SpoonzGlock-18 | AXIAzFive-SeveN | Heat TreatedzUMP-45 | Crimson FoilzMP9 | Arctic Tri-TonezUSP-S | Alpine CamozP250 | Small GamezSSG 08 | ZenozNova | YorkshirezAK-47 | Olive PolycamzMAG-7 | WildwoodzPP-Bizon | Cold CellzMP5-SD | Savannah HalftonezTec-9 | Tiger StencilzFAMAS | Half SleevezAK-47 | B the MonsterzZeus x27 | Dragon SnorezAWP | Crakow!zXM1014 | Monster Meltz#Dual Berettas | Sweet Little AngelszAUG | Eye of Zapemsu   Nova | Wurst HöllezGlock-18 | Teal GrafzGalil AR | Metallic SqueezerzMAC-10 | PipsqueakzFive-SeveN | Midnight PaintoverzMP5-SD | Neon SqueezerzDesert Eagle | TiltedzNegev | Wall BangzM4A1-S | Wash me plzzP90 | Wash mez
AWP | CMYKzDesert Eagle | StarcadezAUG | Lil' PigzM4A4 | PolysoupzP90 | Attack VectorzCZ75-Auto | SlalomzAK-47 | CrossfadezSG 553 | Berry Gel CoatzSCAR-20 | Wild BerryzGalil AR | NVzMP7 | AstrolabezXM1014 | Halftone ShiftzFAMAS | Halftone WashzP2000 | Coral HalftonezSSG 08 | Halftone WhorlzM249 | SpectrogramzSKIPPING NEW SKIN: sell_listingszNO LISTINGS FOR /https://steamcommunity.com/market/listings/730/zutf-8z/render/?query=d   zskins_high_new.jsonz ()zskins_low_new.json)r   r   formatr   getRequestAllAvailableProxiestimesleep
isinstancestrjsonloadstext	Exceptionr   criticalrandomuniformleninfourllibparsequoteencoder   addopenload)r   endcountrepeat_counterwearall_skins_urlresponse	json_pageerandom_timeilistings_urljson_file_high
skins_highskinfull_skin_namejson_file_low	skins_lows                     r   getHashedNameListHighOrLowz'NewMarketBot.getHashedNameListHighOrLow)   sa   ==F"D]]e#Dx'Z [aZ`4[ C DJ64++TD  ..LL!' M  #JJqMh, $

8== 9I (I
 aN"$nnS#6

>K78" EFD 9Y'(A-')J*??D$4$4 58R RSy) P8!QvY.(AfI5/1V9<)QvY6,&	956B(AfI5,&	956B'1V94/1V9<)QvY6*ai7)QvY6.!F);-6:+qy84&	A&!F)31QvY>(AfI52ai?.!F);.!F);,&	9*ai7&!F)3)QvY6.!F);)QvY6-6:3qy@.!F);,&	9.!F);0AfI=&!F)3.!F);<&	I,&	9,&	9-6:56B+qy88AfIE/1V9<.!F);*ai7-6:&!F)3#qy00AfI='1V94(AfI5,&	9+qy8*ai70AfI=-6:&!F)3(AfI50AfI=.!F);/1V9<0AfI=+qy8KK 5AfI FG_%*OO$6QvY$GHEll((QvY)>)>w)GHI'( 
 %%)),7aP8b SLEo r ==F"+, 
@!YY~6
##z1 *4+;+; < @),T!W)<s47|)Kc)QM$ll00^1D1K1KG1TUV/0 %
 --11,?@
@ ==E!*+ 
@} IIm4	##y0 )$*:*: ; @),T!W)<s47|)Kc)QM$ll00^1D1K1KG1TUV/0 %
 --11,?@
@ 
@ "u   KcRSf TU\
@ 
@
@ 
@s9   -4W# "A W# B3X&B3X(#	X,!XXX%(X1c                    t        j                  t        j                  dd             | j                  D ]  }|dk(  s
|d k(  s|dk(  rt        j                  d       )d}d}d}|r2|dz  }|d	k\  r.t        j                  dd
      }t        j                  ||z          |dkD  r#d}t        j                  dt        |      z          t        |      dz   t        |      z   dz   }t        j                  j                  |      j                  j                  d      d
   }t        j                  |      du rd}| j                  |      }|d k(  rt        j                  d	       d|vrt        j                  d	       |d   t        j                  d	       9d}g }		 |d   j!                         D ]P  }
|d   t        |
         }t        j"                  || j$                        }|	j'                  t        |
      |i       R | j(                  j+                  |	g       t        j                  d       |s֐
 y # t,        $ r+}t        j                  dt        |      z          Y d }~7d }~ww xY w)Ng?r&    
zi IS EMPTY????Fr   r$   r%   r      Tz(listings_page_json failed 15 times with z&start=z&count=100&currency=3/listinginfo)listing_infor   zbuildInspectLinksList(): )r2   r3   r;   r<   r   r   r:   r5   r?   r@   urlparsepathsplitHelperFunctionscheckIfSkinExcludedgetInspectLinkskeysbuildListingInfoListr   appendr	   putr9   )r   rO   rF   repeat_counter_overallstartrN   single_listings_urlencoded_market_namelistings_page_jsonlist_for_queue
listing_idr^   
all_paramsrM   s                 r   buildInspectLinksListz"NewMarketBot.buildInspectLinksList   sa   

6>>#s+,&& ;	JABw!t)qDy 01C%&"E&!+&)Q."(..A"6KJJ5CD)B.COO$NQTUVQW$WX FY&U36MM $ '-ll&;&;''$uuSz!'%# #667JKtSC%)%9%9'&" &-JJqM (::JJqM%m4<JJqM!#J&8&G&L&L&N M
'9-'H
O( &5%I%I)5&
 '--s:
.KLM ''++^,<=JJqMe ;	Jx  ! JOO$?#a&$HIIJs   #BI	I6!I11I6rk   c                     | j                   j                  |d      }|y t        |t              rt	        j
                  |      }|S |j	                         }|S )NF)r   r1   r4   r5   r6   r7   )r   rk   rK   rm   s       r   rd   zNewMarketBot.getInspectLinks  s]    &&DD
 h$!%H!5 "! "*!!r   c                    |d k(  st        |      dk(  rt        j                  d       y t        j                  |      }t        |t              r,|d   d k(  r$t        j                  dt        |d         z          |D ]E  }t        |j                               d   | j                  t        |j                               d   <   G d}d}d }d}|sW	 | j                  j                  | j                  dz   |      j!                         }|d k(  rBt        |      dk(  rd
}Sd|v rt%        j&                  d       mt        |      dk(  r|d
}t%        j&                  d       |D ]  }d||   v rd||   vr||   d   dk(  rN| j                  dz   dz   t        ||   d         z   dz   t        ||   d         z   dz   t        ||   d         z   }
||   d   dk(  rN| j                  dz   dz   t        ||   d         z   dz   t        ||   d         z   dz   t        ||   d         z   }
d||   vr%t        j(                  
||   | j                         t        j*                  t        ||   d               }| j-                  ||   |       | j/                  ||   |       | j0                  dk(  r't3        ||   d         |kD  rt3        ||   d         }|}| j0                  dk(  r4|dk(  r||   d   }t3        ||   d         |k  rt3        ||   d         }|}||   } |sW|d k7  rt        j*                  t        |d               }| j                  |d      d   }t        j4                  ||d   |d          }|d   }t        j6                  |d   |d   |d   |d   !      }| j0                  dk(  r| j9                  |||||      	 y | j0                  dk(  r| j;                  |||||      	 y y y t        j                  d"t        |      z          y # t"        $ rA}	t%        j&                  d       t        j                  d	t        |	      z          Y d }	~	d }	~	ww xY w)#Nr   z<getBestOrWorstSkinsBulk(): splitted_bulk is None or len is 0zCException with HelperFunctions.getSplittedBulkList(splitted_bulk): r$   Fbulk)_jsonr#   z&Exception in getBestOrWorstSkinsBulk: Terrorr%   g?ms0zG?url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20MAaDdSfloatid)single_inspect_server_url	bulk_at_jrequest_managerfull_item_namer   
floatvaluer   maxprice)item_encodedrw   r|   )rw   rx   r|   r~   z'LISTING TO CHECK IS NONE, WAT????????? )r=   r   rv   rb   getSplittedBulkListr4   tupler:   r5   listvaluesr   re   r   postRequestNakedr   r6   r9   r2   r3   floatidNotInBulkencodeItemNamecheckForStickerscheckForBluegemr   floatgenerateMarketLinkgenerateInspectLinkcheckForHighRankcheckForLowRank)r   splitted_bulknew_splitted_bulkj
best_floatbest_float_idlisting_to_checkrF   bulk_response_jsonrM   r   r   r   market_linksingle_full_item_namesingle_inspect_links                   r   getBestOrWorstSkinsBulkz$NewMarketBot.getBestOrWorstSkinsBulk*  s^   D C$6!$;LLWX+??N'/ #t+Y+A./0  	MA9=ahhj9I!9LD##DN1$56	M
%)%8%8%I%I++f4<M &J &$& # "T)=!Q&,,

1%&!+CJJsO' 6E033033%a(-4//cd 03C89: 	
 03C89:  03C89: . &a(-4//cd 03C89: 	
 03C89:  03C89: . $6q$99#442K"4Q"7(,(;(;  /==*1-.>?@  %%&8&;\J$$%7%:LI==F*/2<@AJN%*+=a+@+N%O
()==E)!Q%7%:5%A
/2<@AJN%*+=a+@+N%O
()#5m#D m6E7 h t#*99$%567L ++,<S,AB7KE)<<)"3'"3'K
 %55E$F! #2"E"E"3'"3'"3'"3'	# }}&))(-#+   }}%(((-#+    & OO9C<NN  

1 H3q6 QRs   8P 	Q$#6QQ$c           
      4   |d   }|D ]  }d|v s	t        |d         j                  d      s'dt        |d         v s8dt        |      z   dz   t        |d         z   d	z   t        |d
         z   }i }d| j                  |d      d   |g|t        |d         <   t        j                  |d       t        t        |d         t        |      | j                  |d      d   t        d      | j                  |d      d         }| j                  |        y )Nstickersmaterialemskatowice2014Holor+   r-   #buylisting|rw   |730|2|r|   	Stickomatr   r   zstickers.txtlinkr   
market_urlinspect_linkrankr   )r5   
startswithr   rb   writeSingleAnyToFiler   singleCheckForPotentialBuy)r   bulk_response_json_jr   stickistickerr   single_stickifinal_listings           r   r   zNewMarketBot.checkForStickers  sl   %j1  	GGW$wz*+667HIWV_!55M!,/0,- ""6s";<= (	(
 ""6s";<= $ )+' 334H4MNwW'Vc*>?O*P&QR
 (<<)> )5+./CDT/U+V'*;'7)-)@)@ 4S 9*$*& "%[!1"&"9"9:Ns:S"T '#
) 77FA 	Gr   c           	      b   d|v r*|d   dk(  r |d   }t        | j                        t        v rt        |      t        t        | j                           v rdt        |      z   dz   t        |d         z   dz   t        |d         z   }i }d	| j                  |d      d
   |g|t        |d         <   t	        j
                  |d       t        t        |d         t        |      | j                  |d      d   t        d      | j                  |d      d
         }| j                  |       y y y y y )N	item_namezCase Hardened	paintseedr-   r   rw   r   r|   BlueGemr   r   zbluegems.txtr   r   r   )r5   r   r   r   rb   r   r   r   )r   r   r   patternr   single_bluegemr   s          r   r   zNewMarketBot.checkForBluegem  s   ..#K0OC.{;t''(H47|xD4D4D0E'FFM!,/0,- ""6s";<= (	(
 ""6s";<= $ *,% 334H4MNwW'Ws+?@P+Q'RS
 (<<*N )5+./CDT/U+V'*;'7)-)@)@ 4S 9*$*& "%[!1"&"9"9:Ns:S"T '#
) 77F; G 5 D /r   c           	         d|v r"|d   dkD  ry | j                  |      du ry d}|s	 t        j                  t        |            }|+t        j                  d       t        j                  d       Nt        j                  |       t        j                  t        |             d|v rt        j                  t        |             d	|v rVd|d	   v rM|d	   d   d
k  rBt        |t        |      |t        |d	   d         |      }	| j                  |	||d	   d          d}|sy y y # t        $ r)}t        j                  t        |             Y d }~0d }~ww xY w)N	high_rankr#   r   TF&csfloat_iteminfo is None, repeating...r%   rv   iteminfo   r   r   r   r   alreadyCheckedSeleniumExecutorgetItemInfor5   r9   r   r:   rv   r2   r3   r>   r   r   
r   r   r   r   r   r   rF   csfloat_iteminforM   r   s
             r   r   zNewMarketBot.checkForHighRank  sq    **,q0&&;N&OSWW  C!%/?/K/KCPcLd/e, ,3"LL)QR JJqM$$45C(;$<="&66"KK,?(@A%)99*.>z.JJ#3J#?#Lq#P4@7L36{3C5H-01A*1Mk1Z-[.35&M %)$C$C6C5H-=j-I+-V %D %&
 #'C? " +  ) %"OOCF3$%s   D) )	E2EEc           	      8   d|v r|d   dkD  ry | j                  |      du ry d}|s	 t        j                  t        |            }|+t        j                  d       t        j                  d       Nt        j                  |       d|v rVd|d   v rM|d   d   d	k  rBt        |t        |      |t        |d   d         |
      }	| j                  |	||d   d          d}|sy y y # t        $ r(}t        j                  t        |             Y d }~d }~ww xY w)Nlow_rankr#   r   TFr   r%   r   r   r   r   r   r   s
             r   r   zNewMarketBot.checkForLowRank=  sB    ))
+a/&&;N&OSWWC!%/?/K/KCPcLd/e,
 ,3"LL)QR JJqM$$45%)99)-=j-II#3J#?
#Ka#O4@7L36{3C5H-01A*1Mj1Y-Z.35&M %)$C$C6C5H-=j-I*-U %D %&
 #'C7 " *  ) %"OOCF3$%s   C( (	D1DDc                    d}t        j                         5 }|j                  d|f       	 t        |j	                               }|dkD  r$d}t        j                  t        |      dz          n	 d}|j                  d|f       d d d        |S # t        $ rF}t        j                  t        |             t        j                  t        |             Y d }~Td }~ww xY w# t        $ rN}t        j                  t        |             t        j                  t        |             Y d }~d d d        yd }~ww xY w# 1 sw Y   |S xY w)NFz8SELECT inspect_link FROM checked WHERE inspect_link = %sr   Tz already in DB, skipping.z,INSERT INTO checked(inspect_link) VALUES(%s))
topfloatdb	db_cursorexecuter=   fetchallr   r>   r5   r9   rv   rb   writeErrorToLog)r   r   already_in_dbcurretrM   s         r   r   zNewMarketBot.alreadyCheckedj  s   !!# 	sKKN(*
#,,.)7$(MKK$7 8;V VW@(-J02	2  % @SV,'77A??@  SV$//A71	 	*+	2 sS   D:AC /B	C<CC CC  	D7)<D2%D:2D77D::Ec                 >   t        j                         5 }| j                  dk(  r#|j                  d|f       |j	                         }| j                  dk(  r#|j                  d|f       |j	                         }t              dk(  r+t        j                  dt        |      z          	 d d d        y d}|D ]O  }| j                  dk(  r||d   kD  r|c cd d d        S | j                  dk(  r||d   k  r|c cd d d        S |dz  }Q 	 d d d        y# 1 sw Y   yxY w)	Nr   zTSELECT float FROM sih_floats WHERE market_hash_name = %s ORDER BY float DESC LIMIT 5r   zSSELECT float FROM sih_floats WHERE market_hash_name = %s ORDER BY float ASC LIMIT 5r   zNO TOP 5 FLOATS FOUND FOR: r$   9  )	r   r   r   r   r   r=   r   rv   r5   )r   r   r   r   top5_floatsr   topfloats          r   checkDBForFloatzNewMarketBot.checkDBForFloat  s(   !!# 	s}}&j#% "lln}}%i#% "lln;1$:S=PPQ!	 	$ D' ==F*!HQK/#-	 	. ==E)!HQK/#3	 	4 	'	6 7	6 s   BD3!DDDDr   c                 \   i }d}d}|sd}|dz  }	 | j                   j                  dt        j                  |j                        z   dz   dd      }|6|dkD  r0d}t        j                  d	t        |j                        z   d
z          t        j                  |j                        }	|	d k(  rd|	v r&|	d   }|d d }t        |      j                  dd      }n| j                   j                  dt        |j                        z   dd      }|	|j                  }t        j                  |      }|/| j                   j                  |dd      }|Pt        j                  |j                        }t        t        |d               dkD  rt        |d         d d }t        |      j                  dd      }t        |      j                  dd      }	 t!        |j"                        t!        |      dz  k  rjt        |j$                        t        |j"                        t        |j&                        g|t        |j                        <   t        j(                  |       n||dk7  rw|dk(  rr	 t+        j,                  ddddd      }|j/                         }|j1                  d ||f       |j3                          |j5                          |j5                          	 d}|sy y # t        $ r,}
t        j                  dt        |
      z          Y d }
~
d }
~
ww xY w# t        t*        j6                  f$ r(}t        j                  t        |             Y d }~d }~ww xY w# |j5                          w w xY w# t8        $ r$ t        j                  d!t        
      z          Y w xY w)"NFr   r$   zBhttps://steamcommunity.com/market/priceoverview/?market_hash_name=z&appid=730&currency=3r   
   TzCouldn't get price for z! after 10 times, skipping for nowz)Exception in singleCheckForPotentialBuy: lowest_price,.r-   )listing_source_pagelowest_sell_orderr%    rY   z--ry   r#   r   postgreszBerufsorientierung1!z23.88.122.576432)databaseuserpasswordhostportz5INSERT INTO floats(inspect_link, rank) VALUES(%s, %s)z*ValueError in singleCheckForPotentialBuy: )r   r1   rb   encodeAidsItemNamer   r   rv   r5   r6   r7   r8   r9   r:   replacemanuallyGetNameIDURLr=   r   r   r   r   writeSingleCheapSkinToFilepsycopg2connectcursorr   commitcloseDatabaseError
ValueError)r   r   r   r   single_cheap_top_skinrF   rH   r   price_overview_pageprice_overview_jsonrM   rK   r   
nameid_urlalt_responsealt_price_overview_jsonpostgresql_connpostgresql_currv   s                      r   r   z'NewMarketBot.singleCheckForPotentialBuy  s    !#LaN&*&9&9&W&WX%889U9UVW-. 7	'# '.%*"5!-">">?@AB
 &*jj1D1I1I&J#
 #d*!442>B+CR0"<088cB..LLE-66789> '.&.mm#,AA(;
 %#'#6#6#T#T"E7$L $+ .2jj9J9J.K+367JKLMPQQ'*34GH(2( |,44S"=L|,44T3?L"W,,-|1Dq1HHM../M//0M445P)#m.J.J*KL
 $>>?TU#r)ddl8.6.>.>)3%/)?%3%+/O .=-C-C-EN*22 W$0$(!" ,224*002  /: / 5 5 7 C *   KcRSf TUF !*8+A+AB 5"LLU445  /: / 5 5 7  ; W LsSTv UVWsh   A7K* 
K* BM> 1AL" M> *	L3!LL"M#;MM& M##M& &M;;M> >*N+*N+c                     d| _         | j                  j                  d       | j                          | j	                          y )Nr   zdhttps://steamcommunity.com/market/listings/730/SCAR-20%20%7C%20Palm%20(Factory%20New)/render/?query=)r   r   rC   rq   r   r   s    r   testInspectLinkszNewMarketBot.testInspectLinks  s:    !!r	
 	""$$$&r   c                     | j                          t        j                  dt        | j                        z   dz          | j                          t        j                  dt        | j                        z   dz          y )Nz!1/2 Build Listing URLs finished (r/   z'2/2 Build Inspect Links List finished ()rW   r   r>   r5   r   rq   r   s    r   startBotzNewMarketBot.startBot  sb    '')7#d>N>N:OORUUV""$5D<L<L8MMPSS	
r   c                 D   | j                   j                  |       d| _        | j                          t	        j
                  dt        | j                        z   dz          | j                  ||       t	        j
                  dt        | j                        z   dz          y )NTz.2/3 SINGLE Build Inspect Links List finished (r/   z#3/3 SINGLE Get top skins finished ()	r   rC   r   rq   r   r>   r5   r   getSkinsWithDefinedValue)r   rP   greater_than
lower_thans       r   startBotSingleSkinzNewMarketBot.startBotSingleSkin  s    !!,/#""$<$""#$	
 	%%lJ?9C@P@P<QQTWWXr   c                 .    t        j                  |       y )N)r   r:   )r   aidss     r   testFunzNewMarketBot.testFun*  s    r   N)rY   r   )__name__
__module____qualname__queueQueuer   rW   rq   r5   rd   r   r   r   r   r   r   r   r   r   r   r  r  r
   r   r   r   r      s    > > >0q@f>@"3 "Wr"GH"GH0'd+'Z:> BCe)eN'
Yr   r   )r6   urllib.parser?   r2   r;   r   r   rb   r   r  r   r   LoggingFormatterr   r   objectr   r  r   r   <module>r     s:         )    %  # [6 [r   