orhPddlZddlmZmZmZmZmZddlmZddlm Z ddl m Z ddl m Z e ZddZdd Zdd Zdd Zdd Zd ZdS)N)CONST_NintendoEShopURLCONST_DefaultFilterCONST_DefaultSortCONST_DefaultHeadersCONST_DlcFilter)GameupdateGameDatas) getLogger)get_game_detailsGAMEcd|z}t|t||}t||}|S)NzSearching for the query )loggerinfogetAllResultsFromStoregetGamesListFromStoreResponse) gamesQuery mediaType stringMessage storeResponse gamesLists 2/var/lib/jenkins/jobs/Dev/workspace/StoreHelper.pysearchForGamesr sB.;M KK *:yAAM-mYGGI cd|z}t|t|}t|ddd}t|ddd}t |d||d|d||d |d |dd |d |d |d||}|S)NzWill try to scrape : original_price,.pricefsIddiscount_end_date image_url is_discounteddiscount_percentage publisher gameTitleoffdeviceNsuID description)rrr floatreplacer)rrrgameInformations price_regularprice_discountednewGames rsearchForGamesByScraperr/s+j8M KK ' 33*+;<DDSMMNNM-g6>>s3GGHH#F+J7GH[7\^noz^{~N#O46FG\6]_op{_|JL\]hLik{|LkM#M2M9NNG NrcDd}d}d}g}||krt|||}|d}|d}|d} |}t| } || z }|| z }|| z }dt|zdzt|zdz} t| ||k|S) NrdresponsenumFounddocsz Processing z games out of z...)queryNintendoStorelenstrrr) gameQueryr startIndextargetgamesProcessed allGamesListrresults recordsFoundrcurrentNumberOfGames logMessages rrrsJ FNL 6 ! !*9j)LL  +z* FO "9~~..**  ! "S%8%88;KKcR^N_N__bgg  J 6 ! ! rct}t}|dkrt}n|dkrt}t}||||d}t }d|zdzt |z}t |tj |||d} | } | S)Nr DLC)fqqsortstartzFetching Store API, filter : z - Page : F)headersparamsverify) rrrrrr7rdebugrequestspostjson) queryrFrurlfilterrE querystringrGr@r2 jsonReponses rr5r5/s " "C " "FF$&& e   ""   D5UCCK"$$G069LH3u::UJ LL}S'+eTTTH--//K rc|}g}|D]}|dkr|ddur |d}n|d}d|vr |d}n|d}d|vr |d}nd }t|d |d |d |||d|d ||d|d|d||d|}t||||S)Nr price_has_discount_bFprice_regular_fprice_discounted_fr"image_url_h2x1_sproduct_catalog_description_sfs_idrO pretty_date_sprice_discount_percentage_fr%title nsuid_txt)rrrJappend) rrrgameObjectsListelementdiscounted_pricer"catalog_descriptionr.s rrr?s9IO,,   -.%77#*+<#=  $+,@$A g%%#K0 #$67 .'99&-.M&N##&(#77+WU^W_=UW`brt{}SuT => 7S^K_ahipaqsz|GtH+W5F-GTTG LL ! ! !  " "7 + + + rc$t|dS)Nr )games r registerGamerf^sDr)r )rK constantsrrrrrrDatabaseHelperr LoggerHelperr Scraperr rrr/rr5rrfrrrls{{{{{{{{{{{{{{******""""""$$$$$$     & >r