
    ]pKg,                          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Zd dlmZ de	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y)    N)loggerreturnc                  L   	 t        j                  dddid      j                         d   } t        j                  dt        |       z   dz   d	
      j                  }g }|j                         }|D ]z  }|j                  d      d   }|j                  d      d   }|j                  d      d   }|j                  d      d   }	d|z   dz   |	z   dz   |z   dz   |z   }
|j                  |
       | |S # t
        $ r*}t        j                  t        |             g cY d }~S d }~ww xY w)Nz.https://proxy.webshare.io/api/v2/proxy/config/Authorization(wsvwkkpdl6e2zirlyimm1nbkxbrcxf0zr07myh61
   )headerstimeoutproxy_list_download_tokenz5https://proxy.webshare.io/api/v2/proxy/list/download/z/-/any/username/direct/   )r
   :r            zhttp://@)requestsgetjsonstrtext	Exceptionr   error
splitlinessplitappend)dl_token
proxy_listeall_proxiesproxiesproxyhostportusernamepasswordfinal_proxys              -/var/www/highfloat_scraper/HelperFunctions.pygetWebshareProxiesr(      sA   <<<$&PQ
 $&,	. \\C(m'( 	

 $ 	 K##%G ({{3"{{3";;s#A&;;s#A&(*S08;cADH3NQUU;'(   SV	s   AC0 0	D#9DD#D#c                     t        dd      5 }| |j                         v r
	 d d d        y	 d d d        y# 1 sw Y   y xY w)Nzexcluded_skins.txtrTF)openread)skin_name_with_conditionfs     r'   checkIfSkinExcludedr/   +   sD    	"C	( A#qvvx/  	  s   44=c                    d| d   vr$t        | d         }t        | d   d         }d}d}n$t        | d         }| d   d   }| d   d   d   d   }t        |      j                  d	      }t        |d
         dd  }dt        |      z   dz   t        |      z   dz   t        |      z   }d| v r#t        | d         dz  }t        | d         dz  }	n"t        | d         dz  }t        | d         dz  }	||	z   }
t        |
d      }
|||||
|dS )Nmarket_actionsasset	listingidid zZsteam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M%listingid%A%assetid%D0r   link%r   Csteam://rungame/730/76561202255233023/+csgo_econ_action_preview%20MADconverted_priced   converted_feepricefeer   )r6   madr?   high_low)r   r   floatround)listing_inforD   m_parama_paramd_paramfull_inspect_linkspliced_inspect_linkfinal_inspect_linkr?   r@   
full_prices              r'   buildListingInfoListrO   3   sx   |G44 l;/0l7+D12xl;/0w'-(12BCAFvN0177<&r*+AB/GM
g,	
	 g,	 		
 g,	  L(l#456<L12S8 l7+,s2L'(3.Jz1%J #     c           
      \   dg ig}| D ]9  }	 |d   d   j                  dt        |j                               d   d   i       ; |d   S # t        $ r}	 t	        j
                  t        |              t	        j
                  t        t        |j                                            t	        j
                  t        |             t	        j
                  dt        |      z          Y d }~# t        $ r0}t	        j
                  dt        |      z          Y d }~Y d }~d }~ww xY wd }~ww xY w)Nlinksr   r6   zgetSplittedBulkList():zEXCEPT HELL: )r   listvaluesr   r   r   r   )splitted_bulkbulk_inspect_links_listir   s       r'   getSplittedBulkListrX   `   s     '}o 	#A&w/66ahhj)!,V45  #1%%  		S/0Sahhj!123S!89:5A>? _s1v56		s6   6A			D+BC**	D#3!DD&D##D&&D+c                    d}d}d}|sIt        j                  d       	 |j                  |       j                         }|dz  }d|v rd|d   v r)d}|d   S t	        j
                  dt        |       z          q|d	kD  rt        j                  d
d
ddd      }|j                         }d|v r|j                  d|d   f       n|j                  d|d   f       	 |j                         d   }	|j                         }|j                  d|	f       |j                          |dz  }|d	kD  r#d}t	        j
                  dt        |       z          G|sHy y #  Y RxY w# t        $ r' d}t	        j
                  dt        |       z          Y w xY w)NFr   r   r   iteminfofloatidTz7iteminfo not in r_json with single_inspect_server_url:    postgreszBerufsorientierung1!z23.88.122.576432)databaseuserr%   r"   r#   itemidz(SELECT floatid FROM history WHERE a = %srB   z-FLOATID NOT IN AFTER 5 TRIES, GIVING UP WITH z$DELETE FROM items WHERE floatid = %sz-EXECUTED DB QUERY MULTIPLE TIMES, SKIPPING - )timesleepgetRequestNakedr   r   r   r   psycopg2connectcursorexecutefetchone	TypeErrorcommit)
single_inspect_server_url	bulk_at_jrequest_managerend_floatidcounter_floatidcounter_execr_jsonpostgresql_connpostgresql_curr[   s
             r'   floatidNotInBulkru   u   s   KOL

1	$445NOTTVF 	1F:.."j)) LLI/01 Q&..#/#O -335N9$&&>8AT@V &&>3@Q(113A6 -335N""#IG:V""$ALa"C345 s 	B  "C345 s   E E E,FFc                     t         j                  j                  |       }|j                  dd      }|j                  dd      }|S )N%28(%29)urllibparsequotereplacefull_item_nameitem_encodeds     r'   encodeItemNamer      s@    <<%%n5L''s3L''s3LrP   c                     t         j                  j                  |       }|j                  dd      }|j                  dd      }|j                  dd      }|j                  dd      }|S )	Nrw   rx   ry   rz   |z%7C&z%26r{   r   s     r'   encodeAidsItemNamer      sd    <<%%n5L''s3L''s3L''U3L''U3LrP   c                 ^    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   rA   rB   market_links       r'   generateMarketLinkr      sM    9
l
	
	 a&	 		
 a&	  rP   c                     t        |       dk7  r.dt        |       z   dz   t        |      z   dz   t        |      z   }|S dt        |      z   dz   t        |      z   dz   t        |      z   }|S )N0r9   r:   r;   r   )rA   srB   rC   inspect_links        r'   generateInspectLinkr      s    
1v}Q!f !f 	
 !f 	$  R!f !f 	
 !f 	 rP   c                     t        t        |      dd      }|j                  t        j                  | d             |j                  d       |j                          y )NrB   utf-8encodingr\   indent,)r+   r   writer   dumpsclose)single_dictfilenamef_cheaps      r'   writeSingleAnyToFiler      s@    3x=#8GMM$**[34MM#MMOrP   c                     t        ddd      }|j                  t        j                  | d             |j                  d       |j	                          y )Nzcheap_top_skins.txtrB   r   r   r\   r   r   )r+   r   r   r   r   )single_cheap_top_dictr   s     r'   writeSingleCheapSkinToFiler      s>    (#@GMM$**21=>MM#MMOrP   c                     t        j                  d|       }|8|j                         }t        j                  ddt	        |            }|y d|z   S y )Nz"Market_LoadOrderSpread\( [0-9]+ \)z\Dr5   zhhttps://steamcommunity.com/market/itemordershistogram?country=FR&language=german&currency=3&item_nameid=)researchgroupsubr   )listing_source_pagexaidsnameids       r'   manuallyGetNameIDURLr      sZ    
		79LMA}wwyr3t9-> {
 rP   )r   r   rb   urllib.parser|   re   r   LoggingFormatterr   rS   r(   r/   rO   rX   ru   r   r   r   r   r   r   r    rP   r'   <module>r      sc    	       #D @*Z&*=@	0rP   