package Ġcom . con so led is counts . data . stores Ċ Ċ import Ġcom . con so led is counts . data . interfaces . I Html Parser Ċ import Ġcom . con so led is counts . data . interfaces . I URL Download Ċ import Ġcom . con so led is counts . entities . Platform Ċ Ċ class ĠGood s Ru ( url Download : ĠI URL Download , Ġhtml Parser : ĠI Html Parser ) Ġ: ĠHtml Parse Store ( url Download , Ġhtml Parser ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġsupported Platforms Ġ= ĊĠĠĠĠĠĠĠ ĠlistOf ( Platform . PS 4 , ĠPlatform . X box One , ĠPlatform . N int endo Switch ) ĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" GOO DS . RU " ĊĠĠĠ Ġoverride Ġval Ġcurrency Ġ= Ġ"\ u 2 0 BD " ĊĠĠĠ Ġoverride Ġval Ġurl Ġ= Ġ" https :// goods . ru " ĊĠĠĠ Ġoverride Ġval Ġgame Prefix ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . PS 4 Ġto Ġ" Ðĺ Ð³ ÑĢÐ° ĠÐ´Ð»Ñı ĠPlay Station Ġ 4 Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . X box One Ġto Ġ" Ðĺ Ð³ ÑĢÐ° ĠÐ´Ð»Ñı ĠX box ĠOne Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . N int endo Switch Ġto Ġ" Ðĺ Ð³ ÑĢÐ° ĠÐ´Ð»Ñı ĠN int endo ĠSwitch Ġ" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġoverride Ġval Ġpage URL ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . PS 4 Ġto Ġ"$ url / catalog / ig ry - d ly a - play station / set - ig ry - na - ps - 4 / page -${ page . getValue ( Platform . PS 4 )} ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . X box One Ġto Ġ"$ url / catalog / ig ry - d ly a - x box / set - ig ry - na - x box - one / page -${ page . getValue ( Platform . X box One )} ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . N int endo Switch Ġto Ġ"$ url / catalog / ig ry - d ly a - n int endo - switch / page -${ page . getValue ( Platform . N int endo Switch )}" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġoverride Ġval Ġpage Selector Ġ= Ġ" a [ data - page ]" ĊĠĠĠ Ġoverride Ġval Ġgame Name Selector Ġ= Ġ" article . card - prod . card - prod - grid : has ( div . previous - price ) Ġ> Ġheader " ĊĠĠĠ Ġoverride Ġval Ġgame Url Selector Ġ= ĊĠĠĠĠĠĠĠ Ġ" article . card - prod . card - prod - grid : has ( div . previous - price ) Ġ> Ġa . card - prod -- slider [ href ]" ĊĠĠĠ Ġoverride Ġval Ġprice Selector Ġ= Ġ" article . card - prod . card - prod - grid : has ( div . previous - price ) Ġ> Ġdiv . favorite . card - prod -- price " ĊĠĠĠ Ġoverride Ġval Ġposter Selector Ġ= Ġ" article . card - prod . card - prod - grid : has ( div . previous - price ) Ġ> Ġ* Ġspan : nth - child ( 1 ) Ġ> Ġimg [ src ]" ĊĊĠĠĠ Ġoverride Ġfun Ġextract Prices ( s : ĠString ): ĠPair < Double ?, ĠDouble ?> Ġ= ĊĠĠĠĠĠĠĠ Ġ" ([ 0 - 9 ]* ). * \\ ? ([ 0 - 9 ]*) ". to Regex (). find ( s . filter Not Ġ{ Ġit Ġ== Ġ' Ġ' Ġ}) ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . group Values [ 1 ]. toDouble OrNull () Ġto Ġit . group Values [ 2 ]. toDouble OrNull () ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġnull Ġto Ġnull Ċ }