package Ġcom . tern ary op . tum blr Ċ Ċ import Ġcom . tern ary op . tum blr . T um blr . Companion . get Api Url Ċ import Ġorg . json . JSONException Ċ import Ġjava . io . File Ċ import Ġjava . net . URI Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġd ave Ġon Ġ 1 2 / 0 3 / 1 8 . Ċ Ġ* ĠT um blr Ġphoto ĠAPI Ċ Ġ*/ Ċ fun ĠT um blr . draft Photo Post ( tum blr Name : ĠString , Ġuri : ĠURI , Ġcaption : ĠString , Ġtags : ĠString ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Photo Post ( tum blr Name , Ġuri , Ġcaption , Ġtags , Ġ" draft ") ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠT um blr Exception ( e ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠT um blr . publish Photo Post ( tum blr Name : ĠString , Ġuri : ĠURI , Ġcaption : ĠString , Ġtags : ĠString ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Photo Post ( tum blr Name , Ġuri , Ġcaption , Ġtags , Ġ" published ") ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠT um blr Exception ( e ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠT um blr . create Photo Post ( tum blr Name : ĠString , Ġuri : ĠURI , Ġcaption : ĠString , Ġtags : ĠString , Ġstate : ĠString ): ĠLong Ġ{ ĊĠĠĠ Ġval Ġapi Url Ġ= Ġget Api Url ( tum blr Name , Ġ"/ post ") ĊĠĠĠ Ġval Ġparams Ġ= ĠHashMap < String , ĠAny >() ĊĊĠĠĠ Ġif Ġ( uri . scheme Ġ== Ġ" file ") Ġ{ ĊĠĠĠĠĠĠĠ Ġparams [" data "] Ġ= ĠFile ( uri . path ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġparams [" source "] Ġ= Ġuri . toString () ĊĠĠĠ Ġ} ĊĠĠĠ Ġparams [" state "] Ġ= Ġstate ĊĠĠĠ Ġparams [" type "] Ġ= Ġ" photo " ĊĠĠĠ Ġparams [" caption "] Ġ= Ġcaption ĊĠĠĠ Ġparams [" tags "] Ġ= Ġtags ĊĊĠĠĠ Ġval Ġjson Ġ= Ġconsumer . json From Post ( api Url , Ġparams ) ĊĠĠĠ Ġreturn Ġjson . getJSONObject (" response "). getLong (" id ") Ċ } Ċ Ċ fun ĠT um blr . get Photo Posts ( tum blr Name : ĠString , Ġparams : ĠMap < String , ĠString >): ĠList < T um blr Photo Post > Ġ{ ĊĠĠĠ Ġval Ġapi Url Ġ= Ġget Api Url ( tum blr Name , Ġ"/ posts / photo ") ĊĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < T um blr Photo Post >() ĊĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams With Key Ġ= ĠHashMap ( params ) ĊĠĠĠĠĠĠĠ Ġparams With Key [" api _ key "] Ġ= Ġconsumer . consumer Key ĊĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġconsumer . json From Get ( api Url , Ġparams With Key ) ĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= Ġjson . getJSONObject (" response "). get JSONArray (" posts ") ĊĠĠĠĠĠĠĠ Ġval Ġtotal Posts Ġ= Ġjson . getJSONObject (" response "). opt Long (" total _ posts ", Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġarr . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpost Ġ= ĠT um blr . build ( arr . getJSONObject ( i )) Ġas ĠT um blr Photo Post ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( total Posts Ġ!= Ġ- 1 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost . total Posts Ġ= Ġtotal Posts ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( post ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠT um blr Exception ( e ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġlist Ċ } ĊĊĊ