]> git.donarmstrong.com Git - bin.git/commitdiff
fix N days ago support for dates
authorDon Armstrong <don@donarmstrong.com>
Fri, 19 Feb 2016 21:18:52 +0000 (13:18 -0800)
committerDon Armstrong <don@donarmstrong.com>
Fri, 19 Feb 2016 21:18:52 +0000 (13:18 -0800)
jobs_to_org

index 83511bc42449202fb974a523facfb0bdf5c1fa1d..fcdfd35345aab2e61ffc34d3591c0414c6961ad8 100755 (executable)
@@ -56,6 +56,7 @@ use vars qw($DEBUG);
 use Data::Printer;
 use Text::Wrap;
 use POSIX qw(strftime);
+use DateTime;
 
 tie my $uuid, 'OSSP::uuid::tie';
 $uuid= ["v1"];
@@ -99,7 +100,7 @@ my %sites =
                 job_selector => [url_regex => qr{^/naturejobs/science/jobs/\d+-.+}],
                 university => [href => qr{^/naturejobs/science/employer-directory/\d+$}],
                 description => [class=>"job-description"],
-                date => [content => qr/\d+\s+days\s+ago$/],
+                date => [_tag => 'dd', sub {$_[0]->as_text() =~ qr/\d+\s+days\s+ago$/},],
                 position => [class=>'job-title heading'],
                },
      vitae => {url => 'https://chroniclevitae.com/job_search?job_search%5Bdistance_from_zip%5D=10&job_search%5Bemployment_type%5D=Full-time&job_search%5Bposition_type%5D=63',
@@ -145,10 +146,10 @@ sub get_jobs {
             eval {
                 $date = $m->tree->look_down(@{$s->{date}})->as_text() // $todays_date if
                     @{$s->{date}};
-                if ($date =~ /(\d+)\s+days ago$/) {
+                if ($date =~ /^\s*(\d+)\s*days\s*ago\s*$/) {
                     $date = strftime('%Y-%m-%d %H:%M:%S',
                                      localtime((DateTime->now() -
-                                      DateTime::Duration->new(days=>$1))->epoch));
+                                                DateTime::Duration->new(days=>$1))->epoch));
                 }
             };
             my $description = 'unknown';