def get_record_checks(req, recids): if recids == '': return '' recids = recids.split(',') return_val = [] for rid in recids: try: recid = int(rid) rec = get_record(recid) doi = get_doi(rec) record_compl = is_complete_record(recid) return_val.append("""<tr> <td><a href="%s">%i</a></td> <td>%s</td> <td>%s</td> <td><a href="http://dx.doi.org/%s">%s</a></td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> </tr>""" % (join(CFG_SITE_URL, 'record', str(recid)), recid, get_creation_date(recid), get_modification_date(recid), doi, doi, has_or_had_format(recid, '.xml'), has_or_had_format(recid, '.pdf'), has_or_had_format(recid, '.pdf;pdfa'), check_complete_rec(record_compl), get_arxiv(rec), is_compliant(recid, "authors"), is_compliant(recid, "cc"), is_compliant(recid, "scoap3"), str([rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val]))) except: recid = rid return_val.append("""<tr><th colspan="13" align="left"> <h2>%s</h2></th></tr>""" % (recid,)) return_val.append("""<tr> <th>recid</th> <th>cr. date</th> <th>mod. date</th> <th>DOI</th> <th>XML</th> <th>PDF</th> <th>PDF/A</th> <th>Complete record?</th> <th>arXiv number</th> <th>Copyright: authors</th> <th>CC-BY</th> <th>Funded by SCOAP3</th> <th>notes</th> </tr>""") return ''.join(return_val)
def index(req): req.content_type = 'text/csv; charset=utf-8' req.headers_out['content-disposition'] = ('attachment; filename=scoap3_records_info.csv') req.write("SCOAP3 record id; Journal; Creation date; Modification date; Title; Authors; Publication info\n") for key, value in JOURNALS.iteritems(): recids = perform_request_search(c=value) for recid in recids: rec = get_record(recid) title = rec['245'][0][0][0][1].strip() creation_date = get_creation_date(recid) modification_date = get_modification_date(recid) authors = rec['100'][0][0][0][1] if '700' in rec: for author in rec['700']: authors += ' / %s' % (author[0][0][1]) publication_info = '' if '733' in rec: publication_info += "%s %s (%s) %s" % (rec['733'][0][0][0][1], rec['733'][0][0][1][1], rec['733'][0][0][2][1], rec['733'][0][0][3][1]) if '024' in rec: publication_info += " %s" % (rec['024'][0][0][0][1],) if '037' in rec: publication_info += " %s" % (rec['037'][0][0][0][1],) req.writeline("%s; %s; %s; %s; %s; %s; %s\n" % (recid, value, creation_date, modification_date, title, authors, publication_info))
def write_csv(req, dictionary, journal_list, f_date, t_date, created_or_modified_date): return_val = '' for key in journal_list: val = dictionary[key] papers = perform_request_search(p="date%s:%s->%s" % (created_or_modified_date, f_date, t_date), c=val) if papers == []: continue return_val += key + '\n' return_val += ';'.join(['recid', 'cr. date', 'mod. date', 'DOI', 'XML', 'PDF', 'PDF/A', 'Complete record?', 'arXiv number', 'Copyright: authors', 'CC-BY', 'Funded by SCOAP3', 'arXiv category', 'notes', 'First delivery', 'First AB delivery', 'Last modification', 'PDF/A upload', 'DOI registration', 'Delivery diff', 'PDF/A diff']) + '\n' for recid in papers: rec = get_record(recid) doi = get_doi(rec) first_del = None first_ab_del = None last_mod = None doi_reg = None pdfa_del = None first_del, first_ab_del, last_mod, doi_reg, pdfa_del = get_delivery_data(recid, doi) record_compl = is_complete_record(recid) return_val += ';'.join(str(item) for item in [str(recid), get_creation_date(recid), get_modification_date(recid), doi, has_or_had_format(recid, '.xml').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf;pdfa').lstrip('<b>').rstrip('</b>'), str(check_complete_rec(record_compl)), get_arxiv(rec).lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'authors').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'cc').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'scoap3').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'category').lstrip('<b>').rstrip('</b>'), str([rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val]), str(first_del), str(first_ab_del), str(last_mod), str(pdfa_del), str(doi_reg), check_24h_delivery(first_del, doi_reg), check_24h_delivery(pdfa_del, doi_reg) ]) return_val += '\n' return return_val
def get_recids_changes(last_recid, max_recs=10000): search_op = '>' if last_recid == -1: l = list(dbquery.run_sql("SELECT id FROM bibrec ORDER BY creation_date ASC LIMIT 1")) search_op = '>=' else: # let's make sure we have a valid recid (or get the close valid one) l = list(dbquery.run_sql("SELECT id FROM bibrec WHERE id >= %s LIMIT 1", (last_recid,))) if not len(l): return last_recid = l[0][0] # there is not api to get this (at least i haven't found it) mod_date = search_engine.get_modification_date(last_recid, fmt="%Y-%m-%d %H:%i:%S") if not mod_date: return modified_records = list(dbquery.run_sql("SELECT id,modification_date, creation_date FROM bibrec " "WHERE modification_date " + search_op + "%s LIMIT %s", (mod_date, max_recs ))) out = {'DELETED': [], 'CHANGED': [], 'ADDED': []} for recid, mod_date, create_date in modified_records: if mod_date == create_date: out['ADDED'].append(recid) else: rec = search_engine.get_record(recid) status = bibrecord.record_get_field_value(rec, tag='980', code='c') if status == 'DELETED': out['DELETED'].append(recid) else: out['CHANGED'].append(recid) return out
def write_csv(req, dictionary, journal_list, f_date, t_date, created_or_modified_date): return_val = '' for key in journal_list: val = dictionary[key] papers = perform_request_search(p="date%s:%s->%s" % (created_or_modified_date, f_date, t_date), c=val) if papers == []: continue return_val += key + '\n' return_val += ';'.join(['recid', 'cr. date', 'mod. date', 'DOI', 'XML', 'PDF', 'PDF/A', 'Complete record?', 'arXiv number', 'Copyright: authors', 'CC-BY', 'Funded by SCOAP3', 'arXiv category', 'notes', 'First delivery', 'First AB delivery', 'Last modification', 'PDF/A upload', 'DOI registration', 'Delivery diff', 'PDF/A diff']) + '\n' for recid in papers: rec = get_record(recid) doi = get_doi(rec) first_del = None first_ab_del = None last_mod = None doi_reg = None pdfa_del = None first_del, first_ab_del, last_mod, doi_reg, pdfa_del = get_delivery_data(recid, doi) record_compl = is_complete_record(recid) return_val += ';'.join(str(item) for item in [str(recid), get_creation_date(recid), get_modification_date(recid), doi, has_or_had_format(recid, '.xml').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf;pdfa').lstrip('<b>').rstrip('</b>'), str(check_complete_rec(record_compl)), get_arxiv(rec).lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'authors').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'cc').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'scoap3').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'category').lstrip('<b>').rstrip('</b>'), str([rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val]), str(first_del), str(first_ab_del), str(last_mod), str(pdfa_del), str(doi_reg), check_24h_delivery(first_del, doi_reg), check_24h_delivery(pdfa_del, doi_reg) ]) return_val += '\n' return return_val
def get_general_delivery(recid, doi): delivery_data = run_sql("select * from doi where doi='%s'" % (doi,)) if delivery_data: first_del = get_creation_date(recid) first_ab_del = None last_mod = get_modification_date(recid) doi_reg = delivery_data[0][1] pdfa_del = None return (first_del, first_ab_del, last_mod, doi_reg, pdfa_del) else: return None
def get_general_delivery(recid, doi): delivery_data = run_sql("select * from doi where doi='%s'" % (doi,)) if delivery_data: first_del = get_creation_date(recid) first_ab_del = None last_mod = get_modification_date(recid) doi_reg = delivery_data[0][1] pdfa_del = None return (first_del, first_ab_del, last_mod, doi_reg, pdfa_del) else: return None
def format_element(bfo, format='%Y-%m-%d', date_format='%Y-%m-%d'): ''' Get the record modification date. <b>Note:</b> parameter <code>format</code> is deprecated @param date_format: The date format in MySQL syntax ''' _ = gettext_set_language(bfo.lang) recID = bfo.recID return _( "Record created on %(creation_date)s, modified on %(modification_date)s" ) % { 'creation_date': get_creation_date(recID, "%Y-%m-%d"), 'modification_date': get_modification_date(recID, "%Y-%m-%d") }
def write_csv(req, dictionary, journal_list, f_date, t_date, created_or_modified_date): return_val = '' for key in journal_list: val = dictionary[key] papers = perform_request_search(p="date%s:%s->%s" % (created_or_modified_date, f_date, t_date), c=val) if papers == []: continue return_val += key return_val += ','.join(['recid', 'cr. date', 'mod. date', 'DOI', 'XML', 'PDF', 'PDF/A', 'Complete record?', 'arXiv number', 'Copyright: authors', 'CC-BY', 'Funded by SCOAP3', 'notes']) + '\n' for recid in papers: rec = get_record(recid) doi = get_doi(rec) record_compl = is_complete_record(recid) return_val += ','.join(str(item) for item in [str(recid), get_creation_date(recid), get_modification_date(recid), doi, has_or_had_format(recid, '.xml').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf;pdfa').lstrip('<b>').rstrip('</b>'), str(check_complete_rec(record_compl)), get_arxiv(rec).lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'authors').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'cc').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'scoap3').lstrip('<b>').rstrip('</b>'), str([rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val])]) return_val += '\n' return return_val
def index(req): req.content_type = 'text/csv; charset=utf-8' req.headers_out['content-disposition'] = ( 'attachment; filename=scoap3_records_info.csv') req.write( "SCOAP3 record id; Journal; Creation date; Modification date; Title; Authors; Publication info\n" ) for key, value in JOURNALS.iteritems(): recids = perform_request_search(c=value) for recid in recids: rec = get_record(recid) if '245' in rec: title = rec['245'][0][0][0][1].strip() else: title = "" creation_date = get_creation_date(recid) modification_date = get_modification_date(recid) if '100' in rec: authors = rec['100'][0][0][0][1] else: authors = "" if '700' in rec: for author in rec['700']: authors += ' / %s' % (author[0][0][1]) publication_info = '' if '733' in rec: publication_info += "%s %s (%s) %s" % ( rec['733'][0][0][0][1], rec['733'][0][0][1][1], rec['733'][0][0][2][1], rec['733'][0][0][3][1]) if '024' in rec: publication_info += " %s" % (rec['024'][0][0][0][1], ) if '037' in rec: publication_info += " %s" % (rec['037'][0][0][0][1], ) req.write("%s; %s; %s; %s; %s; %s; %s\n" % (recid, value, creation_date, modification_date, title, authors, publication_info))
def csu(req): req.content_type = 'text/csv; charset=utf-8' req.headers_out['content-disposition'] = ( 'attachment; filename=csu_records_info.csv') search_patterns = [ "California Polytechnic State University", "Carson", "Dominguez Hills", "Fresno", "California State University Fullerton", "California State University Long Beach", "California State University, Los Angeles", "Northridge", "California State University, Sacramento", "San Diego State University", "sfsu" ] def special_aff(author): affs = [] au = "" name = "" for i in author: if i[0] == 'v' and value in i[1]: affs.append(i[1]) if i[0] == 'a': name = i[1] if len(affs) > 0: au = name + '(' for aff in affs: au += aff + ', ' au += '), ' return au req.write( "SCOAP3 record id; Journal; Creation date; Modification date; Title; Authors; Publication info\n" ) for value in search_patterns: recids = perform_request_search(p="affiliation:'%s'" % (value, )) # req.write("%s; %s\n" % (value, len(recids) )) for recid in recids: rec = get_record(recid) if '245' in rec: title = rec['245'][0][0][0][1].strip() else: title = "" creation_date = get_creation_date(recid) modification_date = get_modification_date(recid) authors = "" if '100' in rec: authors += special_aff(rec['100'][0][0]) if '700' in rec: for author in rec['700']: authors += special_aff(author[0]) publication_info = '' if '773' in rec: for p in rec['773'][0][0]: if p[0] == 'p': publication_info = p[1] publication_info += " %s" % (rec['024'][0][0][0][1], ) if '037' in rec: publication_info += " %s" % (rec['037'][0][0][0][1], ) req.write("%s; %s; %s; %s; %s; %s; %s\n" % (recid, value, creation_date, modification_date, title, authors, publication_info))
def write_csv(req, dictionary, journal_list, f_date, t_date, created_or_modified_date): return_val = '' for key in journal_list: val = dictionary[key] papers = perform_request_search(p="date%s:%s->%s" % (created_or_modified_date, f_date, t_date), c=val) if papers == []: continue return_val += key return_val += ';'.join(['recid', 'cr. date', 'mod. date', 'DOI', 'XML', 'PDF', 'PDF/A', 'Complete record?', 'arXiv number', 'Copyright: authors', 'CC-BY', 'Funded by SCOAP3', 'notes', 'First delivery', 'First AB delivery', 'Last modification', 'PDF/A upload', 'DOI registration', 'Delivery diff', 'PDF/A diff']) + '\n' for recid in papers: rec = get_record(recid) doi = get_doi(rec) first_del = None first_ab_del = None last_mod = None doi_reg = None pdfa_del = None delivery_data = run_sql("SELECT doi.creation_date AS 'doi_reg', package.name AS 'pkg_name', package.delivery_date AS 'pkg_delivery' FROM doi_package LEFT JOIN doi ON doi_package.doi=doi.doi LEFT JOIN package ON package.id=doi_package.package_id WHERE doi_package.doi=%s ORDER BY package.delivery_date ASC", (doi,), with_dict=True) if delivery_data: first_del = delivery_data[0]['pkg_delivery'] first_ab_del = get_delivery_of_firts_ab_package(delivery_data) last_mod = delivery_data[-1]['pkg_delivery'] doi_reg = delivery_data[0]['doi_reg'] pdfa_del = get_delivery_of_firts_pdfa(delivery_data) record_compl = is_complete_record(recid) return_val += ';'.join(str(item) for item in [str(recid), get_creation_date(recid), get_modification_date(recid), doi, has_or_had_format(recid, '.xml').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf').lstrip('<b>').rstrip('</b>'), has_or_had_format(recid, '.pdf;pdfa').lstrip('<b>').rstrip('</b>'), str(check_complete_rec(record_compl)), get_arxiv(rec).lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'authors').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'cc').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'scoap3').lstrip('<b>').rstrip('</b>'), is_compliant(recid, 'category').lstrip('<b>').rstrip('</b>'), str([rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val]), str(first_del), str(first_ab_del), str(last_mod), str(pdfa_del), str(doi_reg), check_24h_delivery(first_ab_del, doi_reg), check_24h_delivery(pdfa_del, doi_reg) ]) return_val += '\n' return return_val
def get_record_checks(req, recids): if recids == '': return '' recids = recids.split(',') return_val = [] for rid in recids: try: recid = int(rid) rec = get_record(recid) doi = get_doi(rec) delivery_data = run_sql("SELECT doi.creation_date AS 'doi_reg', package.name AS 'pkg_name', package.delivery_date AS 'pkg_delivery' FROM doi_package LEFT JOIN doi ON doi_package.doi=doi.doi LEFT JOIN package ON package.id=doi_package.package_id WHERE doi_package.doi=%s ORDER BY package.delivery_date ASC", (doi,), with_dict=True) first_del = None first_ab_del = None last_mod = None doi_reg = None pdfa_del = None if delivery_data: first_del = delivery_data[0]['pkg_delivery'] first_ab_del = get_delivery_of_firts_ab_package(delivery_data) last_mod = delivery_data[-1]['pkg_delivery'] doi_reg = delivery_data[0]['doi_reg'] pdfa_del = get_delivery_of_firts_pdfa(delivery_data) record_compl = is_complete_record(recid) return_val.append("""<tr> <td><a href="%s">%i</a></td> <td>%s</td> <td>%s</td> <td><a href="http://dx.doi.org/%s">%s</a></td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td %s>%s</td> <td %s>%s</td> </tr>""" % (join(CFG_SITE_URL, 'record', str(recid)), recid, get_creation_date(recid), get_modification_date(recid), doi, doi, has_or_had_format(recid, '.xml'), has_or_had_format(recid, '.pdf'), has_or_had_format(recid, '.pdf;pdfa'), check_complete_rec(record_compl), get_arxiv(rec), is_compliant(recid, "authors"), is_compliant(recid, "cc"), is_compliant(recid, "scoap3"), is_compliant(recid. "category"), str([rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val]), str(first_del), str(first_ab_del), str(last_mod), str(pdfa_del), str(doi_reg), format_24h_delivery(check_24h_delivery(first_del, doi_reg)), check_24h_delivery(first_del, doi_reg), format_24h_delivery(check_24h_delivery(pdfa_del, doi_reg)), check_24h_delivery(pdfa_del, doi_reg))) except Exception: register_exception() recid = rid return_val.append("""<tr><th colspan="13" align="left"> <h2>%s</h2></th></tr>""" % (recid,)) return_val.append("""<tr> <th>recid</th> <th>cr. date</th> <th>mod. date</th> <th>DOI</th> <th>XML</th> <th>PDF</th> <th>PDF/A</th> <th>Complete record?</th> <th>arXiv number</th> <th>Copyright: authors</th> <th>CC-BY</th> <th>Funded by SCOAP3</th> <th>Category</th> <th>notes</th> <th>First delivery</th> <th>First AB delivery</th> <th>Last modification</th> <th>PDF/A upload</th> <th>DOI registration</th> <th>Delivery diff</th> <th>PDF/A diff</th> </tr>""") return ''.join(return_val)
def get_record_checks(req, recids): if recids == '': return '' recids = recids.split(',') return_val = [] for rid in recids: try: recid = int(rid) rec = get_record(recid) doi = get_doi(rec) first_del, first_ab_del, last_mod, doi_reg, pdfa_del, pub_date = get_delivery_data(recid, doi) record_compl = is_complete_record(recid) return_val.append("""<tr> <td><a href="%s">%i</a></td> <td>%s</td> <td>%s</td> <td><a href="http://dx.doi.org/%s">%s</a></td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td %s>%s</td> <td %s>%s</td> <td>%s</td> <td %s>%s</td> </tr>""" % (join(CFG_SITE_URL, 'record', str(recid)), recid, get_creation_date(recid), get_modification_date(recid), doi, doi, has_or_had_format(recid, '.xml'), has_or_had_format(recid, '.pdf'), has_or_had_format(recid, '.pdf;pdfa'), check_complete_rec(record_compl), get_arxiv(rec), is_compliant(recid, "authors"), is_compliant(recid, "cc"), is_compliant(recid, "scoap3"), is_compliant(recid, "category"), str([rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val]), str(first_del), str(first_ab_del), str(last_mod), str(pdfa_del), str(doi_reg), format_24h_delivery(check_24h_delivery(first_del, doi_reg)), check_24h_delivery(first_del, doi_reg), format_24h_delivery(check_24h_delivery(pdfa_del, doi_reg)), check_24h_delivery(pdfa_del, doi_reg), str(pub_date), format_24h_delivery(check_24h_delivery(first_del, pub_date)), check_24h_delivery(first_del, pub_date))) except Exception: register_exception() recid = rid return_val.append("""<tr><th colspan="13" align="left"> <h2>%s</h2></th></tr>""" % (recid,)) return_val.append("""<tr> <th>recid</th> <th>cr. date</th> <th>mod. date</th> <th>DOI</th> <th>XML</th> <th>PDF</th> <th>PDF/A</th> <th>Complete record?</th> <th>arXiv number</th> <th>Copyright: authors</th> <th>CC-BY</th> <th>Funded by SCOAP3</th> <th>arXiv category</th> <th>notes</th> <th>First delivery</th> <th>First AB delivery</th> <th>Last modification</th> <th>PDF/A upload</th> <th>DOI registration</th> <th>Delivery diff</th> <th>PDF/A diff</th> <th>Publication online</th> <th>Pub. online diff</th> </tr>""") return ''.join(return_val)
def csu(req): req.content_type = 'text/csv; charset=utf-8' req.headers_out['content-disposition'] = ('attachment; filename=csu_records_info.csv') search_patterns = ["California Polytechnic State University", "Carson", "Dominguez Hills", "Fresno", "California State University Fullerton", "California State University Long Beach", "California State University, Los Angeles", "Northridge", "California State University, Sacramento", "San Diego State University", "sfsu"] def special_aff(author): affs = [] au = "" name = "" for i in author: if i[0] == 'v' and value in i[1]: affs.append(i[1]) if i[0] == 'a': name = i[1] if len(affs) > 0: au = name + '(' for aff in affs: au += aff + ', ' au += '), ' return au req.write("SCOAP3 record id; Journal; Creation date; Modification date; Title; Authors; Publication info\n") for value in search_patterns: recids = perform_request_search(p="affiliation:'%s'" % (value,)) # req.write("%s; %s\n" % (value, len(recids) )) for recid in recids: rec = get_record(recid) if '245' in rec: title = rec['245'][0][0][0][1].strip() else: title = "" creation_date = get_creation_date(recid) modification_date = get_modification_date(recid) authors = "" if '100' in rec: authors += special_aff(rec['100'][0][0]) if '700' in rec: for author in rec['700']: authors += special_aff(author[0]) publication_info = '' if '773' in rec: for p in rec['773'][0][0]: if p[0] == 'p': publication_info = p[1] publication_info += " %s" % (rec['024'][0][0][0][1],) if '037' in rec: publication_info += " %s" % (rec['037'][0][0][0][1],) req.write("%s; %s; %s; %s; %s; %s; %s\n" % (recid, value, creation_date, modification_date, title, authors, publication_info))
def get_record_checks(req, recids): if recids == '': return '' recids = recids.split(',') return_val = [] for rid in recids: try: recid = int(rid) rec = get_record(recid) doi = get_doi(rec) first_del, first_ab_del, last_mod, doi_reg, pdfa_del, pub_date = get_delivery_data( recid, doi) record_compl = is_complete_record(recid) return_val.append( """<tr> <td><a href="%s">%i</a></td> <td>%s</td> <td>%s</td> <td><a href="http://dx.doi.org/%s">%s</a></td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td>%s</td> <td %s>%s</td> <td %s>%s</td> <td>%s</td> <td %s>%s</td> </tr>""" % (join(CFG_SITE_URL, 'record', str(recid)), recid, get_creation_date(recid), get_modification_date(recid), doi, doi, has_or_had_format( recid, '.xml'), has_or_had_format( recid, '.pdf'), has_or_had_format(recid, '.pdf;pdfa'), check_complete_rec(record_compl), get_arxiv(rec), is_compliant(recid, "authors"), is_compliant( recid, "cc"), is_compliant( recid, "scoap3"), is_compliant(recid, "category"), str([ rec_key for rec_key, rec_val in record_compl.iteritems() if not rec_val ]), str(first_del), str(first_ab_del), str(last_mod), str(pdfa_del), str(doi_reg), format_24h_delivery(check_24h_delivery(first_del, doi_reg)), check_24h_delivery(first_del, doi_reg), format_24h_delivery(check_24h_delivery(pdfa_del, doi_reg)), check_24h_delivery(pdfa_del, doi_reg), str(pub_date), format_24h_delivery(check_24h_delivery(first_del, pub_date)), check_24h_delivery(first_del, pub_date))) except Exception: register_exception() recid = rid return_val.append("""<tr><th colspan="13" align="left"> <h2>%s</h2></th></tr>""" % (recid, )) return_val.append("""<tr> <th>recid</th> <th>cr. date</th> <th>mod. date</th> <th>DOI</th> <th>XML</th> <th>PDF</th> <th>PDF/A</th> <th>Complete record?</th> <th>arXiv number</th> <th>Copyright: authors</th> <th>CC-BY</th> <th>Funded by SCOAP3</th> <th>arXiv category</th> <th>notes</th> <th>First delivery</th> <th>First AB delivery</th> <th>Last modification</th> <th>PDF/A upload</th> <th>DOI registration</th> <th>Delivery diff</th> <th>PDF/A diff</th> <th>Publication online</th> <th>Pub. online diff</th> </tr>""") return ''.join(return_val)