package Ġwatch . craft . scrap ers Ċ Ċ import Ġwatch . craft . Format Ċ import Ġwatch . craft . Format . KE G Ċ import Ġwatch . craft . Offer Ċ import Ġwatch . craft . Sc raper Ċ import Ġwatch . craft . Sc raper . Job . Leaf Ċ import Ġwatch . craft . Sc raper . Sc rap ed Item Ċ import Ġwatch . craft . shop ify . shop ify Items Ċ import Ġwatch . craft . utils .* Ċ import Ġjava . net . URI Ċ Ċ class ĠP ill ars Sc raper Ġ: ĠSc raper Ġ{ ĊĠ Ġoverride Ġval Ġjobs Ġ= Ġfor Root Urls ( ROOT _ URL ) Ġ{ Ġroot Ġ-> ĊĠĠĠ Ġroot ĊĠĠĠĠĠ Ġ. shop ify Items () ĊĠĠĠĠĠ Ġ. map Ġ{ Ġdetails Ġ-> ĊĠĠĠĠĠĠĠ ĠLeaf ( details . title , Ġdetails . url ) Ġ{ Ġdoc Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Parts Ġ= Ġextract Title Parts ( details . title ) ĊĠĠĠĠĠĠĠĠĠ Ġval Ġdesc Parts Ġ= Ġdoc . or Skip (" Couldn 't Ġfind Ġstyle Ġor ĠAB V ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextract From (". product - single __ description ", Ġ" STYLE :\\ s + (. + ?) \\ s + AB V :\\ s +( \\ d \\. \\ d + )% ") ĊĠĠĠĠĠĠĠĠĠ Ġ} Ġ Ġ// ĠIf Ġwe Ġdon 't Ġsee Ġthese Ġfields , Ġassume Ġwe 're Ġnot Ġlooking Ġat Ġa Ġbeer Ġproduct ĊĊĠĠĠĠĠĠĠĠĠ Ġval Ġmixed Ġ= Ġdetails . title . contains (" mixed ", Ġignore Case Ġ= Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠ ĠSc rap ed Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthumbnail Url Ġ= Ġdetails . thumbnail Url , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġtitle Parts . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Ġ= Ġdesc Parts [ 1 ]. to Title Case (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdesc Ġ= Ġdoc . maybe Ġ{ Ġformatted Text From (". product - single __ description ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmixed Ġ= Ġmixed , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġab v Ġ= Ġif Ġ( mixed ) Ġnull Ġelse Ġdesc Parts [ 2 ]. toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġavailable Ġ= Ġdetails . available , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoffers Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOffer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquantity Ġ= Ġtitle Parts . num Items , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Price Ġ= Ġdetails . price , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat Ġ= Ġtitle Parts . format , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ml Ġ= Ġtitle Parts . size Ml ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġdata Ġclass ĠTitle Parts ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġsize Ml : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġnum Items : ĠInt Ġ= Ġ 1 , ĊĠĠĠ Ġval Ġformat : ĠFormat ? Ġ= Ġnull ĊĠ Ġ) ĊĊĠ Ġprivate Ġfun Ġextract Title Parts ( title : ĠString ) Ġ= Ġwhen Ġ{ ĊĠĠĠ Ġtitle . contains (" Case ") Ġ-> Ġ{ ĊĠĠĠĠĠ Ġval Ġparts Ġ= Ġtitle . extract ("( .* ?) ĠCase Ġof Ġ( \\ d + )") ĊĠĠĠĠĠ ĠTitle Parts ( name Ġ= Ġparts [ 1 ], Ġnum Items Ġ= Ġparts [ 2 ]. toInt ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġtitle . contains (" K eg ") Ġ-> Ġ{ ĊĠĠĠĠĠ ĠTitle Parts ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġtitle . extract ("( .* ?) Ġ\\ d + ")[ 1 ], ĊĠĠĠĠĠĠĠ Ġsize Ml Ġ= Ġtitle . size Ml From (), ĊĠĠĠĠĠĠĠ Ġformat Ġ= ĠK EG ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ-> ĠTitle Parts ( name Ġ= Ġtitle ) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġval ĠROOT _ URL Ġ= ĠURI (" https :// shop . pill ars brew ery . com / collections / pill ars - be ers ") ĊĠ Ġ} Ċ } Ċ