From 54cfb61f6acb0a8aa2a9e3de68687ac9894dfb23 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 11 Feb 2010 11:21:05 -0800 Subject: [PATCH] Update WeatherData for Moose. --- asset_status.ods | Bin 17130 -> 17150 bytes lib/WebGUI/Asset/Wobject/WeatherData.pm | 110 ++++++++++-------------- 2 files changed, 47 insertions(+), 63 deletions(-) diff --git a/asset_status.ods b/asset_status.ods index 758cbbba764d34dd304a6e551ff013253e185fc5..ee492a8052f9214f468d3d71e83a291988a4555b 100644 GIT binary patch delta 2969 zcmZuzX*d-67oNe$mLh9I3@W5yLW~T?HnwbI-MF9_@fX7V@8JTzh02TlsBh8R> z+>G%MTosQX)#3=&<$pOLWP}C>`)_oz6Hw_F144eQ!S;KIv<@NDf!v2tG82Q!Ayy+9 zl9(87%9~`;I6EuI1=hf%37Z{^tO&8UrMrI=)=2|-x_EM=QSmvg~*~179S(4 z(>I^JiS5=QytOo)alR)aB`h+iEu-pdCn1_W+bPI&B$*yKd>WU;Wh@buRU~dniI6Nx zfM8D8n4^_K6jn#U8^;csUofMddb`dO>TyX6QSt{4merii;J~D;j!|UJiz? zNwu=1^Nl^OegihTXHhCRZ%dSaFFpb7$eFckPgM(Dui#}$s(j*ntj{gu%&{FjL8YP0 zE_Zx7oZRAx{zDLcb=g;g@k2VIWJ)_o)Mq?~f*5h6oa#->rnWNN`Gz*WqtS3quoTP;QvuyBCXSq{qu2-@tAEhuh5nT0w2jgf@iqYe>M|AC-zxL;!c_Py0g?UYi2 zW3d3-SzW5oWbL-RR8MDWasTI4vqqBk|D!OB3C(r>qsV-mbw%#&%=2Y9VLF5Eaq)6s3 znn_{26^+c9z?Y__{j+3W8q-w#LFy$uU;bLgB8G%I02I+v z1P7)8NGNxb`z7j2L!pI@}S0L**H<);I?@wC-NB^X8R|mcn5L*`{ zE4k%^+49x=;Q;{|QxeMor&{7NL=)6gnR`!JQ~hSBcqNINlhhXZA;Z+ku-5pDUHZ^> zTte<3o0Z?JjiU6hhf7tg?z>^VcP+e(Q5ClcKU~!1WR|A9P4uEB)&91u<=1!f>&2#} zfkrZp?1gOe9RzFztJQ?U=u~R;@QKbs_4OR}@R&9OmQQ@$@h8qZ9ECYgW^Toi`$S}y`wUj2fWCyyj8~sRc*-76?;f-S+?5PzR6hu*$=EOj-`d$NNNIe4q07C-*uJ3=2j;gZvoLTiI=K_!&2D5;{R4&P>C@PZY zPwIjcLg2=MFfA6ZPJPrUoZS7ZFblFD#xB2>Zmxt)Kszcx=c#Axdo> zmsWG-!-J@^go|5o8!y8u&3o#M;CL$c7GdX zssJ%N$2Yo+OX#0%9sD5O;GUKVGg?gwJy^$I5Z&=YgPg9VkJiG?F)lYqqiLGkZ@hIU zn_{rO#d%m}ap1M+7Se4>e8m+h>(1v`U$y8a7CeZZFv76|4jhp_@ezSoZJq=ZSaA(K zmd!yQR-Zkbt3%AxNd--xnJATE`D!hdnY(Z3({qDkx}(2H>LC^C!jU_$7ON1SC5X7L zZ9faw5izc`22kwV8Q+8@NtT(H*&t zgWUW{;C+C=3q|G_qc`Ke7e_5kD!D2Ei7usZWSDa@J5+Z`3EGhcZjS+vq! zrW9H@%x=Nftm@zD9KUyJFx|_j3@VKDV`Z-zmH^`@r^93*Y*{8lCerPzywM^|{mg4{ zF~;`zY;NEz8GAbDtBzTa(EHxCGUZwR*%S#vEnPTRC@ij@DA_mD{0`AH{mG3OtHS`@ zbe&(b)4-|7+^Pe)R<%v_+}~kkaNnQn-EZLd$xbPtj$EF`&fZtijTVdW6u@Nr((|U4 zo7IY49l_6g&XVlDwb9TVvSIa&%3j)fLVCD7uX}1FXU2SXmFG&6La8qx>DZfGZdk(1 zTYrPR@DNmU$rm^=B z-=`qs@y{^668D3&NxQALo5aGE?Z#ktTL6L$I;*eg+Mx`8qLR5oh5b<=i3Qz?M|R1j z)0gjX?DV|h@HoYFuG@?bx+}lF=b7Q(@x-{6#2?bJ^Thv{4I?W*@yf_wCspC&3ND32 zd|k*wRSlUJ6@FfuCllI_@^kPUT%KB2I-GvFj=+opMgTxv=-=u8N4!;EN5le;Ci$D% zke5F(th)ITX8rA>sY@QcIW=^S&`JaKPfY7S4iNc^BZD+J{9f|5qqW6AbhvH)%>T@2VXp{txJXRmT7T delta 3014 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 GPyP${b3v8> diff --git a/lib/WebGUI/Asset/Wobject/WeatherData.pm b/lib/WebGUI/Asset/Wobject/WeatherData.pm index 8497b9943..5cdbe4a0f 100644 --- a/lib/WebGUI/Asset/Wobject/WeatherData.pm +++ b/lib/WebGUI/Asset/Wobject/WeatherData.pm @@ -28,64 +28,48 @@ BEGIN { } use WebGUI::International; -use base 'WebGUI::Asset::Wobject'; -use WebGUI::Utility; - -#------------------------------------------------------------------- - -=head2 definition ( ) - -defines wobject properties for WeatherData instances - -=cut - -sub definition { - my $class = shift; - my $session = shift; - my $definition = shift; - my $i18n = WebGUI::International->new($session, "Asset_WeatherData"); - my $properties = { - partnerId => { - fieldType => "text", - tab => "properties", - defaultValue => undef, - hoverHelp => $i18n->get("partnerId help"), - label => $i18n->get("partnerId"), - subtext => ''.$i18n->get("you need a weather.com key").'', - }, - licenseKey => { - fieldType => "text", - tab => "properties", - defaultValue => undef, - hoverHelp => $i18n->get("licenseKey help"), - label => $i18n->get("licenseKey"), - }, - templateId =>{ - fieldType=>"template", - tab=>"display", - defaultValue=>'WeatherDataTmpl0000001', - namespace=>"WeatherData", - hoverHelp=>$i18n->get("Current Weather Conditions Template to use"), - label=>$i18n->get("Template") - }, - locations=>{ - fieldType=>"textarea", - defaultValue=>"Madison, WI\nToronto, Canada\n53536", - tab=>"properties", - hoverHelp=>$i18n->get("Your list of default weather locations"), - label=>$i18n->get("Default Locations") - }, - }; - push(@{$definition}, { - tableName=>'WeatherData', - className=>'WebGUI::Asset::Wobject::WeatherData', - assetName=>$i18n->get("assetName"), - icon=>'weatherData.gif', - autoGenerateForms=>1, - properties=>$properties - }); - return $class->SUPER::definition($session, $definition); +use WebGUI::Definition::Asset; +extends 'WebGUI::Asset::Wobject'; +aspect tableName => 'WeatherData'; +aspect assetName => ["assetName", 'Asset_WeatherData']; +aspect icon => 'weatherData.gif'; +property partnerId => ( + fieldType => "text", + tab => "properties", + default => undef, + hoverHelp => ["partnerId help", 'Asset_WeatherData'], + label => ["partnerId", 'Asset_WeatherData'], + subtext => \&_partnerId_subtext, + ); +sub _partnerId_subtext { + my $session = shift->session; + my $i18n = WebGUI::International->new($session, 'Asset_WeatherData'); + return ''.$i18n->get("you need a weather.com key").''; } +property licenseKey => ( + fieldType => "text", + tab => "properties", + default => undef, + hoverHelp => ["licenseKey help", 'Asset_WeatherData'], + label => ["licenseKey", 'Asset_WeatherData'], + ); +property templateId => ( + fieldType => "template", + tab => "display", + default => 'WeatherDataTmpl0000001', + namespace => "WeatherData", + hoverHelp => ["Current Weather Conditions Template to use", 'Asset_WeatherData'], + label => ["Template", 'Asset_WeatherData'], + ); +property locations => ( + fieldType => "textarea", + default => "Madison, WI\nToronto, Canada\n53536", + tab => "properties", + hoverHelp => ["Your list of default weather locations", 'Asset_WeatherData'], + label => ["Default Locations", 'Asset_WeatherData'], + ); + +use WebGUI::Utility; #------------------------------------------------------------------- @@ -98,11 +82,11 @@ See WebGUI::Asset::prepareView() for details. sub prepareView { my $self = shift; $self->SUPER::prepareView(); - my $template = WebGUI::Asset::Template->new($self->session, $self->get("templateId")); + my $template = WebGUI::Asset::Template->new($self->session, $self->templateId); if (!$template) { WebGUI::Error::ObjectNotFound::Template->throw( error => qq{Template not found}, - templateId => $self->get("templateId"), + templateId => $self->templateId, assetId => $self->getId, ); } @@ -124,11 +108,11 @@ sub view { my %var; my $url = $self->session->url; - if ($self->get("partnerId") ne "" && $self->get("licenseKey") ne "") { - foreach my $location (split("\n", $self->get("locations"))) { + if ($self->partnerId ne "" && $self->licenseKey ne "") { + foreach my $location (split("\n", $self->locations)) { my $weather = Weather::Com::Finder->new({ - 'partner_id' => $self->get("partnerId"), - 'license' => $self->get("licenseKey"), + 'partner_id' => $self->partnerId, + 'license' => $self->licenseKey, 'cache' => '/tmp', }); next unless defined $weather;