| 284 | | my $self = shift; |
|---|
| 285 | | my $exif = $self->exif_info->{EXIF}; |
|---|
| 286 | | my ($dt) = |
|---|
| 287 | | grep {$_ and /[^ 0:]/} |
|---|
| 288 | | ($exif->{ 'Shooting Date/Time' }, |
|---|
| 289 | | $exif->{ 'Date/Time Of Digitization' }, |
|---|
| 290 | | $exif->{ 'Date/Time Of Last Modification' }); |
|---|
| 291 | | if (!$dt) { return $self->uploaded } |
|---|
| 292 | | return Time::Piece->strptime($dt, "%Y:%m:%d %T") || $self->uploaded; |
|---|
| 293 | | } |
|---|
| | 298 | my $self = shift; |
|---|
| | 299 | my $dt = $self->_grovel_metadata( |
|---|
| | 300 | 'Shooting Date/Time', |
|---|
| | 301 | 'Date/Time Of Digitization', |
|---|
| | 302 | 'Date/Time Of Last Modification' |
|---|
| | 303 | ); |
|---|
| | 304 | if (!$dt) { return $self->uploaded } |
|---|
| | 305 | return Time::Piece->strptime($dt, "%Y:%m:%d %T") || $self->uploaded; |
|---|
| | 306 | } |
|---|
| | 307 | |
|---|
| | 308 | sub description { |
|---|
| | 309 | shift->_grovel_metadata( |
|---|
| | 310 | 'Description', 'Image Description', 'Caption-Abstract' |
|---|
| | 311 | ); |
|---|
| | 312 | } |
|---|
| | 313 | |
|---|
| | 314 | sub title_exif { shift->_grovel_metadata( 'Headline', 'Title'); } |
|---|
| | 315 | sub license { shift->_grovel_metadata( 'Rights Usage Terms', 'Usage Terms' ) } |
|---|
| | 316 | sub copyright { shift->_grovel_metadata( 'Rights', 'Copyright', 'Copyright Notice') } |
|---|