
    e=                        d dl Z d dlm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Zd dlZej        	                    ej        
                    d                     dej        d<   d dlZ ej                     d dlmZ d dlmZ d dlmZ d d	lmZ d dlZd d
lmZ d Zd Zdej        fdZdej        fdZdefdZdej        fdZdej        fdZd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)dS )    N)datetimez/home/alex/cs2sniperzcs2sniper.settingsDJANGO_SETTINGS_MODULE)cs2snipe_queries)cs2snipe_found)cs2snipe_users)timezone)RequestManagerc                    g }| d         }d}d}t          |          D ]}|du r nd}d}	|s|dz  }
|	dz  }	|	dk    rd}t          |          dz   t          |
          z   d	z   t          |          z   d
z   }d}d}	 |dz   dz  }|dz  }|dk    r#t          dt          |          z              g c S |                    ||          }t	          |          }|$t          d           t          j        d           	 t          |          }|%t          d           t          j        d           |du r;d}t          d           t          |d                    t          |d                    t          |d                   dk    r^|d         	                                D ]C}|d         t          |                   }t          ||          }|                    |           Dd}|Đ|S )Npagesd   FTr      
   z&start=z&count=z&currency=3      z Couldn't get page for 20 times: )responsez)Response Validation failed, trying again.response_jsonz%This was the last page, will end now.starttotal_countlistinginfo)listing_infopage)rangestrprint
getRequestvalidateResponseInspectListtimesleepnoMorePageslenkeysbuildListingInfoListappend)result_jsonlisting
ReqManagerlisting_info_listr   count	last_pager   endrepeat_counterr   single_listings_urlget_alternatorget_counterr   r   no_more_pages
listing_idr   
all_paramss                       C/home/alex/cs2snipeproduction/cs2snipe/MarketBot/HelperFunctions.pysingleBuildInspectListr4   #   st    EE Ie ; ;E 4	3JEaN""Ge**  e**	
      NK"01"4!9q ##<sCV?W?WWXXXIII%001DnUU ;X N N N (EFFFJqMMM'mDDDM$ABBB
1$$ 	=>>>mG,---mM2333=/00144"/">"C"C"E"E 9 9J#0#?J#PL!5<VZ![![![J%,,Z8888Ci  4	j     c                    dg ig}d}d}| D ]}|dk    r|dz  }|                     dg i           d}	 ||         d                              dt          |                                          d         i           |dz  }u# t          $ r5}t	          |            t	          t          |                     Y d }~d }~ww xY w|S )Nlinksr   c   r   link)r$   listvalues	Exceptionr   r   )inspect_link_listbulk_inspect_link_listsplitted_list_indexinspect_link_counterinspect_linkes         r3   
bulkActionrC   h   s   &m_)  "$$1$"))7B-888#$ 	"#67@GGl113344Q78   !A%   	 	 	#$$$#a&&MMMHHHH	 "!s   AB
C +B;;C r   c                     | dS 	 |                                  }n4# t          $ r'}t          t          |                     Y d }~dS d }~ww xY wd|vrdS t	          |d                   dk    rdS |S )NFdatar   jsonr<   r   r   r!   r   r   rB   s      r3   validateSkinportSearchrI   }   s    u    c!ffuuuuu ]""u
= !!Q&&u    
AAAc                    | d S 	 |                                  }n4# t          $ r'}t          t          |                     Y d }~d S d }~ww xY w|d S d|v r|d         dk    rd S d|v rt	          |d                   dk    rd S |S )Nr   r   resultsrF   rH   s      r3   validateResponseHashedNameListrM      s    t    c!ffttttt t%%'1,,4M!!}Y'((A--4rJ   r   c                 b    d| v r*d| v r&t          | d                   dz   | d         k    rdS dS d S )Nr   r   r   TF)intr   s    r3   r    r       sJ     %%']*B*B}W%&&,m0LLL45tr5   c                    | d S | j         dk    rd S 	 |                                 }n4# t          $ r'}t          t	          |                     Y d }~d S d }~ww xY w|d S |d         |d         k    r|S d|v r|d         du s|d         dk    rd S d|v r|d         dk    rt          |           rd S |S d|vrd S t          |d                   dk    rd S |S )	Nnullr   pagesizesuccessFfalser   r   )textrG   r<   r   r   safetyCheckStockr!   rH   s      r3   r   r      s2   t}t    c!ffttttt t]#}Z'@@@M!!#u,,i0HG0S0S4%%'1,,)) %t %$M))t
='((A--ts   ( 
AAAc                    	 t          | j                                      d          dd         d         }|                    d          r|                    d          d         }dt          |                    d	          d                             d
          d                   z   }|                    d          d                             d          d         }n|                    d          r|                    d          d         }dt          |                    d	          d                             d
          d                   z   }|                    d          d                             d          d         }nJ|                    d          rt          |                    d          d                                       dd          }dt          |                    d	          d                             d
          d                   z   }n|                    d          rP|                    d          d         }|                    d	          d                             d
          d         }nO|                    d	          d                             d
          d         }|                    d          d         }dt          |          z   dz   t          |          z   }t                      }|                    |                                          }t          |d         d         d                   dk    rdS |d         d         d         d         d         d         dk    rFd|d         d         d         d         vrdS |d         d         d         d         d         }|dk    rdS dS # t          $ r6}	t          t          |	                     t          d           Y d }	~	d S d }	~	ww xY w)N/r   StatTrakzStatTrak%E2%84%A2%20r   z	StatTrak-%28%29z%20%28SouvenirzSouvenir%20z	Souvenir-z %E2%98%85%20StatTrak%E2%84%A2%20 z%E2%98%85%20z)https://api.skinscout.net/api/items?name=z
&exterior=)urlitemitem_selectedmarket_dataFmarketplacenameSteamstockTu#   AUAUAUAUAUU SORRY FÜR MÜLLSCHEIß)r   r`   split
startswithreplacer	   getRequestNakedrG   r!   r<   r   )
r   	full_namemarket_hash_nameexterior	name_onlyr`   reqrrg   rB   s
             r3   rV   rV      s   !5%%++C0026r:	
++ 	5(/EFFqI"S)9)?)?)F)Fq)I)O)OPU)V)VWX)Y%Z%ZZH!(>??BHHRRSTUII!!*-- 	5(}==a@"S)9)?)?)F)Fq)I)O)OPU)V)VWX)Y%Z%ZZH!66q9??II!LII!!"DEE 	5IOOH55a899AABXZ\]]I"S)?)?)B)H)H)O)OPQ)R%S%SSHH!!.11 	5!11!4I u--a066u==a@HH u--a066u==a@H!11!4I9C	NNJ\Y\_`h\i\iiC((--//qy)-899Q>>5V9_%m4Q7FvNRYYYai8GJJJufIo.}=a@IEqyytu 5 5 5c!ff34444444445s%   MO	 AO	 &O	 	
P	+PP	c                    t          t          |                     }t          |                              d          d         }t          t          |                              d          d                   dd          }t          t          |                              d          d                             d          d                   }t          |||          }t	          t          |                              dd                    }t          | |||||dz   t          j        t          j
                              |		          }|                                 |j        }|
d
         dk    s|
d
         dk    r4t          j                            |                              |           d|
v r4t          j                            |                              |           d|
v r7|5t          j                            |                              ||           d|
v rCt!          |           t          j                            |                              |           d S )Nz%20r   Ar   D'r_   )tz)skinpricerA   
market_urlsteamidr   pub_datefoundskins_id_idfilter_optionsexact_floatfloat_restrictionspk)floatpattern)r   rank)r   r   stickerpanel)stickers)encodeItemNamer   rh   generateMarketLinkrO   rj   r   r   nowr   get_default_timezonesaver   objectsfilterupdater   )full_item_name
floatvalue	paintseedrA   rx   r   stickertextr   rz   queryidr%   item_encodedall_market_paramsm_parama_paramry   int_steamid	new_query
current_pks                      r3   handleDBInsertr      sI    "#n"5"566LL))//66q9#'((..s33A677;G#'((..s33A6<<SAA!DEEG#L'7CCJc'll**33344K!AX!>!@!@AAA 	 	 	I NNJ 	$%66'(,@@@%%%44;;*;MMMK%%%44;;I;NNN!1%%%44;;Z;XXX $$k%%%44;;[;QQQ4r5   c                 r    t           j                            |                               |||           d S )Nr   )query_failedmessagequery_status)r   r   r   r   )r   r   r   query_messages       r3   updateQueryr   *  sD    ##w#//66!=| 7     r5   c                    t          | d                   }| d         d         }d| d         vrd S | d         d         d         d         }t          |                              d          }t          |d                   d	d          }d
t          |          z   dz   t          |          z   dz   t          |          z   }d| v r1t          | d                   dz  }t          | d                   dz  }	n0t          | d                   dz  }t          | d                   dz  }	||	z   }
t          |
d          }
||||||
dS )N	listingidassetidmarket_actionsr   r9   %rZ   r   Csteam://rungame/730/76561202255233023/+csgo_econ_action_preview%20Mrs   rt   converted_pricer   converted_feerx   fee   )r9   madr   rx   )r   rh   r   round)r   r   r   r   full_inspect_linkspliced_inspect_linkd_paramfinal_inspect_linkrx   r   
full_prices              r3   r#   r#   1  s}   ,{+,,G7#D)G|G444t$W-.>?B6J01177<<&r*++ABB/GM
g,,	
	 g,,	 		
 g,,	  L((l#4566<L122S8 l7+,,s2L'((3.Jz1%%J #  r5   c                     t           j                            |           }|                    dd          }|                    dd          }|S )Nr\   (r]   ))urllibparsequoterj   )r   r   s     r3   r   r   W  sG    <%%n55L''s33L''s33Lr5   c                     d }| D ] }|d         |d         k    r|d         }|c S !|d k    r!t          dt          |          z              dS d S )Nr   rx   NO PRICE WITH: r   writeErrorToLogr   )listings_info_listbulk_response_json_on_jrx   is       r3   getPricer   ^  sv    E  S6,S111gJELLL 2 }})C0G,H,HHIIIq }r5   c                     d }| D ] }|d         |d         k    r|d         }|c S !|d k    r!t          dt          |          z              dS d S )Nr   r   r   r   r   )r   r   r   r   s       r3   getPager   i  sv    D  S6,S111V9DKKK 2 t||)C0G,H,HHIIIq |r5   c                     d }| D ] }|d         |d         k    r|d         }|c S !|d k    r!t          dt          |          z              d S d S )Nr   r9   zNO INSPECT LINK WITH: r   )r   r   rA   r   s       r3   getRealInspectLinkr   t  s|    L    S6,S111V9L 2 t037N3O3OOPPPt r5   c                 v    dt          |           z   dz   t          |          z   dz   t          |          z   }|S )Nz/https://steamcommunity.com/market/listings/730/z#buylisting|z|730|2|r   )r   r   r   market_links       r3   r   r     sT    9
l

	
	 a&&	 		
 a&&	  r5   c                    t          |           dk    r9dt          |           z   dz   t          |          z   dz   t          |          z   }n8dt          |          z   dz   t          |          z   dz   t          |          z   }|S )N0r   rs   rt   r   )r   sr   r   rA   s        r3   generateInspectLinkr     s    
1vv}}Q!ff !ff 	
 !ff 	 R!ff !ff 	
 !ff 	 r5   c                 ^   t          j                    }|                    d          }t          ddd          }|                    t          |          dz   t          |           z              |                    d           |                                 t          j        d           d S )	Nz%d/%m/%Y %H:%M:%Sz
errors.txtr   utf-8encodingz: 
g      ?)	r   r   strftimeopenwriter   closer   r   )errorr   	dt_stringfs       r3   r   r     s    
,..C011I\3111AGGC	NNT!CJJ.///GGDMMMGGIIIJsOOOOOr5   c                     t          t          |           dd          }|                    t          |          dz              |                                 d S )Nr   r   r   r   )r   r   r   r   )filenamelogr   s      r3   writeAnythingToAnyFiler     sI    S]]C'222AGGCHHtOGGIIIIIr5   )*rG   r   r   urllib.parser   loggingossyspathr$   abspathenvirondjangosetupsniper.modelsr   r   r   django.utilsr   requestsr	   r4   rC   ResponserI   rM   r   r    r   rV   r   r   r#   r   r   r   r   r   r   r   r    r5   r3   <module>r      s~                       				 



  677 8 8 8';
# $   * * * * * * ( ( ( ( ( ( ( ( ( ( ( ( ! ! ! ! ! !  ) ) ) ) ) )C C CJ" " "*X%6     X->    &
s 
 
 
 
"(*; " " " "L"5x0 "5 "5 "5 "5H0 0 0f  # # #L        	 	 	  0      r5   