| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
9
|
|
|
9
|
|
41
|
use strict; |
|
|
9
|
|
|
|
|
13
|
|
|
|
9
|
|
|
|
|
207
|
|
|
2
|
9
|
|
|
9
|
|
41
|
use warnings; |
|
|
9
|
|
|
|
|
13
|
|
|
|
9
|
|
|
|
|
8239
|
|
|
3
|
|
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
package WebService::Nestoria::Search::Result; |
|
5
|
|
|
|
|
|
|
$WebService::Nestoria::Search::Result::VERSION = '1.022012'; |
|
6
|
|
|
|
|
|
|
=head1 NAME |
|
7
|
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
WebService::Nestoria::Search::Result - Container object for a WebService::Nestoria::Search result. |
|
9
|
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
=head1 VERSION |
|
11
|
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
version 1.022012 |
|
13
|
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
Contains all the information received about a single property listing and many functions for outputting the information. |
|
15
|
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
This package is used by WebService::Nestoria::Search and a Result object should never need to be explicitly created by the user. |
|
17
|
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
=cut |
|
19
|
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
sub new { |
|
21
|
592
|
|
|
592
|
0
|
761
|
my $class = shift; |
|
22
|
592
|
|
|
|
|
612
|
my $self; |
|
23
|
|
|
|
|
|
|
|
|
24
|
592
|
|
|
|
|
1020
|
$self->{data} = shift; |
|
25
|
|
|
|
|
|
|
|
|
26
|
592
|
|
|
|
|
2838
|
return bless $self, $class; |
|
27
|
|
|
|
|
|
|
} |
|
28
|
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
=head1 Functions |
|
30
|
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
=head2 get_* |
|
32
|
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
The get_* functions each return one attribute about the listing. They are |
|
34
|
|
|
|
|
|
|
as follows: |
|
35
|
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
get_latitude |
|
37
|
|
|
|
|
|
|
get_longitude |
|
38
|
|
|
|
|
|
|
get_listing_type |
|
39
|
|
|
|
|
|
|
get_property_type |
|
40
|
|
|
|
|
|
|
get_datasource_name |
|
41
|
|
|
|
|
|
|
get_lister_name |
|
42
|
|
|
|
|
|
|
get_lister_url |
|
43
|
|
|
|
|
|
|
get_price |
|
44
|
|
|
|
|
|
|
get_price_type |
|
45
|
|
|
|
|
|
|
get_price_currency |
|
46
|
|
|
|
|
|
|
get_price_formatted |
|
47
|
|
|
|
|
|
|
get_price_high |
|
48
|
|
|
|
|
|
|
get_price_low |
|
49
|
|
|
|
|
|
|
get_price_coldrent |
|
50
|
|
|
|
|
|
|
get_title |
|
51
|
|
|
|
|
|
|
get_summary |
|
52
|
|
|
|
|
|
|
get_bedroom_number |
|
53
|
|
|
|
|
|
|
get_bathroom_number |
|
54
|
|
|
|
|
|
|
get_room_number |
|
55
|
|
|
|
|
|
|
get_floor |
|
56
|
|
|
|
|
|
|
get_size |
|
57
|
|
|
|
|
|
|
get_size_unit |
|
58
|
|
|
|
|
|
|
get_land_size |
|
59
|
|
|
|
|
|
|
get_land_size_unit |
|
60
|
|
|
|
|
|
|
get_thumb_url |
|
61
|
|
|
|
|
|
|
get_thumb_height |
|
62
|
|
|
|
|
|
|
get_thumb_width |
|
63
|
|
|
|
|
|
|
get_img_url |
|
64
|
|
|
|
|
|
|
get_img_height |
|
65
|
|
|
|
|
|
|
get_img_width |
|
66
|
|
|
|
|
|
|
get_keywords |
|
67
|
|
|
|
|
|
|
get_guid |
|
68
|
|
|
|
|
|
|
get_commission |
|
69
|
|
|
|
|
|
|
get_construction_year |
|
70
|
|
|
|
|
|
|
get_auction_date |
|
71
|
|
|
|
|
|
|
get_updated_in_days |
|
72
|
|
|
|
|
|
|
get_updated_in_days_formatted |
|
73
|
|
|
|
|
|
|
get_location_accuracy |
|
74
|
|
|
|
|
|
|
|
|
75
|
|
|
|
|
|
|
=cut |
|
76
|
|
|
|
|
|
|
|
|
77
|
1
|
|
|
1
|
0
|
856
|
sub get_latitude { shift->{data}{listing}{latitude} } |
|
78
|
1
|
|
|
1
|
0
|
367
|
sub get_longitude { shift->{data}{listing}{longitude} } |
|
79
|
1
|
|
|
1
|
0
|
344
|
sub get_listing_type { shift->{data}{listing}{listing_type} } |
|
80
|
1
|
|
|
1
|
0
|
356
|
sub get_property_type { shift->{data}{listing}{property_type} } |
|
81
|
1
|
|
|
1
|
0
|
361
|
sub get_datasource_name { shift->{data}{listing}{datasource_name} } |
|
82
|
1
|
|
|
1
|
0
|
397
|
sub get_lister_name { shift->{data}{listing}{lister_name} } |
|
83
|
1
|
|
|
1
|
0
|
365
|
sub get_lister_url { shift->{data}{listing}{lister_url} } |
|
84
|
1
|
|
|
1
|
0
|
359
|
sub get_price { shift->{data}{listing}{price} } |
|
85
|
1
|
|
|
1
|
0
|
357
|
sub get_price_type { shift->{data}{listing}{price_type} } |
|
86
|
1
|
|
|
1
|
0
|
380
|
sub get_price_currency { shift->{data}{listing}{price_currency} } |
|
87
|
1
|
|
|
1
|
0
|
358
|
sub get_price_formatted { shift->{data}{listing}{price_formatted}; } |
|
88
|
1
|
|
|
1
|
0
|
358
|
sub get_price_high { shift->{data}{listing}{price_high}; } |
|
89
|
1
|
|
|
1
|
0
|
357
|
sub get_price_low { shift->{data}{listing}{price_low}; } |
|
90
|
1
|
|
|
1
|
0
|
352
|
sub get_price_coldrent { shift->{data}{listing}{price_coldrent}; } |
|
91
|
11
|
|
|
11
|
0
|
3319
|
sub get_title { shift->{data}{listing}{title} } |
|
92
|
1
|
|
|
1
|
0
|
358
|
sub get_summary { shift->{data}{listing}{summary} } |
|
93
|
1
|
|
|
1
|
0
|
396
|
sub get_bedroom_number { shift->{data}{listing}{bedroom_number} } |
|
94
|
1
|
|
|
1
|
0
|
363
|
sub get_bathroom_number { shift->{data}{listing}{bathroom_number} } |
|
95
|
1
|
|
|
1
|
0
|
352
|
sub get_room_number { shift->{data}{listing}{room_number} } |
|
96
|
1
|
|
|
1
|
0
|
354
|
sub get_floor { shift->{data}{listing}{floor} } |
|
97
|
1
|
|
|
1
|
0
|
400
|
sub get_size { shift->{data}{listing}{size} } |
|
98
|
1
|
|
|
1
|
0
|
356
|
sub get_size_unit { shift->{data}{listing}{size_unit} } |
|
99
|
1
|
|
|
1
|
0
|
356
|
sub get_land_size { shift->{data}{listing}{land_size} } |
|
100
|
1
|
|
|
1
|
0
|
392
|
sub get_land_size_unit { shift->{data}{listing}{land_size_unit} } |
|
101
|
1
|
|
|
1
|
0
|
357
|
sub get_thumb_url { shift->{data}{listing}{thumb_url} } |
|
102
|
1
|
|
|
1
|
0
|
358
|
sub get_thumb_height { shift->{data}{listing}{thumb_height} } |
|
103
|
1
|
|
|
1
|
0
|
361
|
sub get_thumb_width { shift->{data}{listing}{thumb_width} } |
|
104
|
1
|
|
|
1
|
0
|
375
|
sub get_img_url { shift->{data}{listing}{img_url} } |
|
105
|
1
|
|
|
1
|
0
|
351
|
sub get_img_height { shift->{data}{listing}{img_height} } |
|
106
|
1
|
|
|
1
|
0
|
356
|
sub get_img_width { shift->{data}{listing}{img_width} } |
|
107
|
1
|
|
|
1
|
0
|
352
|
sub get_keywords { shift->{data}{listing}{keywords} } |
|
108
|
1
|
|
|
1
|
0
|
370
|
sub get_guid { shift->{data}{listing}{guid} } |
|
109
|
1
|
|
|
1
|
0
|
366
|
sub get_updated_in_days { shift->{data}{listing}{updated_in_days} } |
|
110
|
1
|
|
|
1
|
0
|
370
|
sub get_updated_in_days_formatted { shift->{data}{listing}{updated_in_days_formatted} } |
|
111
|
1
|
|
|
1
|
0
|
361
|
sub get_construction_year { shift->{data}{listing}{construction_year} } |
|
112
|
1
|
|
|
1
|
0
|
351
|
sub get_commission { shift->{data}{listing}{commission} } |
|
113
|
1
|
|
|
1
|
0
|
358
|
sub get_auction_date { shift->{data}{listing}{auction_date} } |
|
114
|
1
|
|
|
1
|
0
|
351
|
sub get_location_accuracy { shift->{data}{listing}{location_accuracy} } |
|
115
|
|
|
|
|
|
|
|
|
116
|
|
|
|
|
|
|
=head2 get_hashref |
|
117
|
|
|
|
|
|
|
|
|
118
|
|
|
|
|
|
|
Returns a hashref containing the details of the listing with keys exactly as the list above. For example: |
|
119
|
|
|
|
|
|
|
|
|
120
|
|
|
|
|
|
|
use Data::Dumper; |
|
121
|
|
|
|
|
|
|
print Dumper($result->get_hashref); |
|
122
|
|
|
|
|
|
|
|
|
123
|
|
|
|
|
|
|
$VAR1= { |
|
124
|
|
|
|
|
|
|
'price_currency' => 'GBP', |
|
125
|
|
|
|
|
|
|
'bathroom_number' => '2', |
|
126
|
|
|
|
|
|
|
'price_formatted' => '459,950 GBP', |
|
127
|
|
|
|
|
|
|
'listing_type' => 'buy', |
|
128
|
|
|
|
|
|
|
'keywords' => 'Garden, Loft, Cellar, Reception', |
|
129
|
|
|
|
|
|
|
'summary' => 'In need of complete refurbishment is this four bedroom family home located...', |
|
130
|
|
|
|
|
|
|
'latitude' => '51.4508', |
|
131
|
|
|
|
|
|
|
'lister_url' => 'http://rd.nestoria.co.uk/rd?l=api-sr-title-1&url=...', |
|
132
|
|
|
|
|
|
|
'property_type' => 'house', |
|
133
|
|
|
|
|
|
|
'price_type' => 'fixed', |
|
134
|
|
|
|
|
|
|
'longitude' => '-0.129012', |
|
135
|
|
|
|
|
|
|
'thumb_width' => '60', |
|
136
|
|
|
|
|
|
|
'lister_name' => 'KF&H', |
|
137
|
|
|
|
|
|
|
'thumb_url' => 'http://limg.nestoria.co.uk/f/b/fb67e2b0d76350f7ebcf8fa6488b2ec4.jpg', |
|
138
|
|
|
|
|
|
|
'title' => 'Thornbury Road, Brixton', |
|
139
|
|
|
|
|
|
|
'price' => '459950', |
|
140
|
|
|
|
|
|
|
'bedroom_number' => '4', |
|
141
|
|
|
|
|
|
|
'thumb_height' => '60', |
|
142
|
|
|
|
|
|
|
'datasource_name' => 'PropertyFinder' |
|
143
|
|
|
|
|
|
|
'floor' => '2', |
|
144
|
|
|
|
|
|
|
}; |
|
145
|
|
|
|
|
|
|
|
|
146
|
|
|
|
|
|
|
=cut |
|
147
|
|
|
|
|
|
|
|
|
148
|
|
|
|
|
|
|
sub get_hashref { |
|
149
|
1
|
|
|
1
|
1
|
384
|
my $self = shift; |
|
150
|
1
|
|
|
|
|
5
|
return $self->{data}{listing}; |
|
151
|
|
|
|
|
|
|
} |
|
152
|
|
|
|
|
|
|
|
|
153
|
|
|
|
|
|
|
=head1 Copyright |
|
154
|
|
|
|
|
|
|
|
|
155
|
|
|
|
|
|
|
Copyright (C) 2009 Lokku Ltd. |
|
156
|
|
|
|
|
|
|
|
|
157
|
|
|
|
|
|
|
=head1 Author |
|
158
|
|
|
|
|
|
|
|
|
159
|
|
|
|
|
|
|
Alex Balhatchet (alex@lokku.com) |
|
160
|
|
|
|
|
|
|
|
|
161
|
|
|
|
|
|
|
Patches supplied by Yoav Felberbaum and Alistair Francis. |
|
162
|
|
|
|
|
|
|
|
|
163
|
|
|
|
|
|
|
=cut |
|
164
|
|
|
|
|
|
|
|
|
165
|
|
|
|
|
|
|
1; |