"""Database definitions for retrieval of Medline information. """ from Bio.config.DBRegistry import DBGroup, EUtilsDB from _support import * from Martel import * proxy_error_expr = has_expr(Alt(Str("500"), Str("502")) + Str(" Proxy Error")) diagnostic_error_expr = has_str("WWW Error 500 Diagnostic") error_expr = Str("ERROR") ncbi_failures=[ (proxy_error_expr, "proxy error"), (diagnostic_error_expr, "diagnostic error"), (error_expr, "ERROR"), (html_expr, "I got HTML and shouldn't have"), (Str("Please try again later"), "Please try again later"), (Str("The sequence has been intentionally withdrawn"), "Sequence withdrawn"), (blank_expr, "No data returned") ] medline_eutils = EUtilsDB( name = "medline-eutils", doc = "Retrieve Medline data from NCBI using EUtils", delay = 5.0, db = "pubmed", rettype = "medline", failure_cases = ncbi_failures ) medline = DBGroup( name = "medline", behavior = "serial") medline.add(medline_eutils)