-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcheck_events
64 lines (46 loc) · 1.64 KB
/
check_events
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/usr/bin/env perl
use Modern::Perl;
use Getopt::Std;
use lib qw( lib );
use PubStandards;
my %opt;
getopts( 'v', \%opt );
my $name = shift
// 'london';
my $ps = PubStandards->new();
my $chapter = $ps->get_chapter( $name );
my $events = $chapter->get_all_events_from_upcoming();
foreach my $event ( @$events ) {
my $id = $event->{'id'};
my $event_key = "event_${id}";
my $doc = $ps->get_document( $event_key );
say "-> EVENT $id";
if ( !defined $doc ) {
say " new event ${event_key}";
$event->{'slug'} = $chapter->get_new_slug( $event->{'name'} );
$event->{'chapter_name'} = $name;
$ps->update_document( $event_key, $event );
}
my $photos = $ps->get_event_photos_from_flickr( $id );
foreach my $photo ( @$photos ) {
my $photo_id = $photo->{'id'};
my $photo_key = "photo_${photo_id}";
say " photo ${photo_id}"
if $opt{'v'};
my $details = $ps->get_photo_details( $photo_id );
$details->{'event_document'} = $event_key;
$details->{'chapter_name'} = $name;
$details->{'views'} = sprintf '%08d',
$details->{'views'};
my( $changed, $doc )
= $ps->update_document_if_changed( $photo_key, $details );
say " update document $photo_key"
if $changed;
}
}
my $next = $ps->get_next_pubstandards_date();
my $event = $chapter->get_event_by_date( $next );
if ( !defined $event ) {
say 'Need to create next event...';
}
exit;