# # Copyright (c) 2009 Fergus Gallagher, CiteULike.org # All rights reserved. # # This code is derived from software contributed to CiteULike.org # by # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by # CiteULike and its # contributors. # 4. Neither the name of CiteULike nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY CITEULIKE.ORG AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # Each plugin needs a description so the driver can advertise the details # to the users on the site plugin { # Integer version number for the plugin code. When this number is incremented, # CiteULike may reparse all existing articles with the new code. version {1} # The name of the plugin, as displayed on the "CiteULike supports..." page name {Nature Precedings} # The link the front page of this service url {http://precedings.nature.com/} # Any additional information which needs to be displayed to the user. # E.g. "Experimental support" blurb {} # Your name author {Fergus Gallagher} # Your email address email {fergus@citeulike.org} # Language you wrote the plugin in language {python} # Regular expression to match URLs that the plugin is # *potentially* interested in. Any URL matching this regexp # will cause your parser to be invoked. Currently, this will # require fork()ing a process, so you should try to reduce the number # of false positives by making your regexp as restrictive as possible. # # If it is not possible to determine whether or not your plugin is # interested purely on the basis of the URL, you will have a chance # to refine this decision in your code. For now, try to make a reasonable # approximation - like, check for URLs on the right hostname # # Note: Some universities provide mirrors of commericial publishers' sites # with different hostnames, so you should provide some leeway in your # regexp if that applies to you. # # Nature have two styles of URLs for their articles.. they seem to be slowly # moving to the second. regexp {http://precedings.nature.com/documents} use_crossref 1 } # # Linkout formatting # # CiteULike doesn't store URLs for articles. # Instead it stores the raw ingredients required to build the dynamically. # Each plugin is required to define a small procedure which does this formatting # See the HOWTO file for more details. # # The variables following variables are defined for your use # in the function: type ikey_1 ckey_1 ikey_2 ckey_2 # format_linkout NATPRE { return [list {Nature Precedings} "http://precedings.nature.com/documents/${ikey_1}/version/${ckey_1}"] } # # TESTS # # Each plugin MUST provide a set of tests. The motivation behind this is # that web scraping code is inherently fragile, and is likely to break whenever # the provider decides to redisign their site. CiteULike will periodically # run tests to see if anything has broken. # Please provide as comprehensive a set of tests as possible. # If you ever fix a bug in the parser, it is highly recommended that # you add the offending page as a test case. test {http://precedings.nature.com/documents/3496/version/1} { linkout {DOI {} 10.1038/npre.2009.3496.1 {} {}} linkout {NATPRE 3496 1 {} {}} type JOUR doi 10.1038/npre.2009.3496.1 publisher {Nature Publishing Group} formatted_url {DOI http://dx.doi.org/10.1038/npre.2009.3496.1} formatted_url {{Nature Precedings} http://precedings.nature.com/documents/3496/version/1} issue 713 title {Cross-Product Extensions of the Gene Ontology } journal {Nature Precedings} abstract {The Gene Ontology is being normalized and extended to include computable logical definitions. These definitions are partitioned into mutually exclusive cross-product sets, many of which reference other OBO Foundry ontologies. The results can be used to reason over the ontology, and to make cross-ontology queries.} author {Mungall Christopher CJ {Christopher J. Mungall}} author {Bada Michael M {Michael Bada}} author {Berardini Tanya TZ {Tanya Z. Berardini}} author {Deegan Jennifer J {Jennifer Deegan}} author {Ireland Amelia A {Amelia Ireland}} author {Harris Midori MA {Midori A. Harris}} author {Hill David DP {David P. Hill}} author {Lomax Jane J {Jane Lomax}} status ok }