/* Ċ Ġ* ĠProject : Ġme te o Ċ Ġ* ĠFile : ĠNews Downloader . kt Ċ Ġ* Ċ Ġ* ĠCreated Ġby Ġfat ta zz o Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠG ian luc a ĠF att ar si . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . gmail . fat ta zz o . me te o . data . news Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġcom . gmail . fat ta zz o . me te o . Config Ċ import Ġorg . js oup . J soup Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ author Ġfat ta zz o Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġ< p /> Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġdate : Ġ 3 0 / 0 9 / 1 9 Ċ Ġ*/ Ċ class ĠNews Downloader Ġ{ ĊĊĠĠĠ Ġ@ Suppress Lint (" Default Locale ") ĊĠĠĠ Ġfun Ġget Av vis i (): ĠList < News > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġav vis i Ġ= Ġmutable ListOf < News >() ĊĊĠĠĠĠĠĠĠ Ġval Ġdoc Ġ= ĠJ soup . connect ( Config . AV VIS I _ URL ). get () ĊĊĠĠĠĠĠĠĠ Ġval Ġelements Ul Ġ= Ġdoc . getElementsBy Class (" elen co _ no _ p unto ") ĊĊĠĠĠĠĠĠĠ Ġval Ġelements Li Ġ= Ġelements Ul . select (" li ") ĊĊĠĠĠĠĠĠĠ Ġelements Li . forEach Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspan Data Ġ= Ġit . select (" span [ class = test o ]") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Ġ= Ġit . select (" a ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġf om ato Ġdata : Ġ"( Ġdd ĠM MMM Ġy yyy Ġn nn Ġkb Ġ)" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Split Ġ= Ġspan Data [ 0 ]. text (). split (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate String Ġ= Ġ"${ data Split [ 1 ]} Ġ${ data Split [ 2 ]. capitalize ()} Ġ${ data Split [ 3 ]}" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdownload Url Ġ= Ġ" http :// docs . google . com / g view ? embedded = true & url =" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" http :// av vis i . pro te z ion ec iv ile . tn . it " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink [ 0 ]. attr (" onclick "). substring After ("' "). substring Before ("' ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnews Ġ= ĠNews ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat (" dd ĠM MMM Ġy yyy ", ĠLocale . IT ALI AN ). parse ( date String ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Av vis i Ġe Ġall erte ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink [ 0 ]. text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdownload Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNews Av vis i Type . AV VIS I _ ALL ER TE . ordinal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġav vis i . add ( news ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġav vis i ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SimpleDateFormat ") ĊĠĠĠ Ġfun Ġget News (): ĠList < News > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnews Nu ove Ġ= Ġmutable ListOf < News >() ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠJ soup . connect ( Config . NE WS _ URL ). execute () ĊĊĠĠĠĠĠĠĠ Ġval Ġdoc Ġ= ĠJ soup . parse ( response . body ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġelements Ġ= Ġdoc . getElementsBy Class (" elen co _ img ") ĊĊĠĠĠĠĠĠĠ Ġelements . forEach Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspan Data Ġ= Ġit . select (" span . bold . ver de ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Ġ= Ġit . select (" a ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspan Category Ġ= Ġit . select (" span [ class = ver de ]") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnews Ġ= ĠNews ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat (" dd . M . yyyy "). parse ( span Data [ 0 ]. text ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Category [ 0 ]. text (). replace (" (", Ġ""). replace (" )", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink [ 0 ]. text (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink [ 0 ]. attr (" href "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNews Av vis i Type . NE WS . ordinal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnews Nu ove . add ( news ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnews Nu ove ĊĠĠĠ Ġ} Ċ }