]> git.donarmstrong.com Git - bin.git/commitdiff
select by pmid as well
authorDon Armstrong <don@donarmstrong.com>
Sat, 8 Feb 2014 00:56:11 +0000 (16:56 -0800)
committerDon Armstrong <don@donarmstrong.com>
Sat, 8 Feb 2014 00:56:11 +0000 (16:56 -0800)
bibtex_to_paper

index 5ac334ea9c086167fd5d260c9b9ece64cc6fa3f7..181f9cf1fbd7b04665c4431e12c07f763a09aaed 100755 (executable)
@@ -247,6 +247,12 @@ sub open_entry{
     return unless defined $entry and ref $entry and keys %{$entry};
     if (defined $entry->{file_name} and length $entry->{file_name}) {
         my $paper = select_one($dbh,$sth->{select_papers_by_name},$entry->{file_name});
+        if (not defined $paper) {
+            my ($pmid) = $entry->{file_name} =~ /pmid_(\d+)/;
+            if (defined $pmid and length $pmid) {
+                $paper = select_one($dbh,$sth->{select_papers_by_pmid},'%pmid_'.$pmid.'.%');
+            }
+        }
         p $paper if $DEBUG;
         print STDERR $entry->{file_name} if $DEBUG;
         if (defined $paper) {
@@ -391,6 +397,9 @@ INSERT OR REPLACE INTO bibtex (bibtex_key,file_name,doi,html) VALUES (?,?,?,?);
 EOF
          select_papers_by_name => <<'EOF',
 SELECT * FROM papers WHERE file_name = ?;
+EOF
+         select_papers_by_pmid => <<'EOF',
+SELECT * FROM papers WHERE file_name LIKE ?;
 EOF
          select_papers_by_path => <<'EOF',
 SELECT * FROM papers WHERE path = ?;