def load_publications(): try: with open(app.config['PUBLICATIONS_FILE'], 'r') as publication_data_file: publications = Publications.from_yaml(publication_data_file.read()) logging.info("Loaded publications from %s" % app.config['PUBLICATIONS_FILE']) except IOError: logging.warning("Could not open %s to read publications" % app.config['PUBLICATIONS_FILE']) publications = Publications([]) except Exception as e: logging.error("There was a problem parsing publications from %s" % app.config['PUBLICATIONS_FILE'], exc_info=e) publications = Publications([]) return publications
def publications_page(): global publications if request.method == 'POST': publication_ids = parse_pubmed_ids(request.form['pubmed_ids']) logging.debug("Request to add publications: %s" % "; ".join(map(str, publication_ids))) new_publications = Publications.from_pubmed_ids(publication_ids) for publication in new_publications.values(): publication.update_authors(users) logging.debug("Found %s potential authors for %s" % (len(publication.most_likely_affiliated_authors()), publication.pubmed_id)) flash(message_about_new_publications(new_publications)) publications = Publications.merge(publications, new_publications) return redirect(url_for('publications_page')) return render_template('affiliated.html', publications=publications.not_denied(), users=users, user_title="All affiliated publications", download_link=url_for('download'))
def publications_page(): global publications if request.method == 'POST': publication_ids = parse_pubmed_ids(request.form['pubmed_ids']) logging.debug("Request to add publications: %s" % "; ".join(map(str, publication_ids))) new_publications = Publications.from_pubmed_ids(publication_ids) for publication in new_publications.values(): publication.update_authors(users) logging.debug("Found %s potential authors for %s" % (len(publication.most_likely_affiliated_authors()), publication.pubmed_id)) flash(message_about_new_publications(new_publications)) publications = Publications.merge(publications, new_publications) return redirect(url_for('publications_page')) return render_template('affiliated.html', publications=publications.not_denied(), users=users, user_title="All affiliated publications", download_link=url_for('download'))
def user_page(user_id): if not user_id in users: return render_template('affiliated.html', publications=Publications(), users=users, user_title="Unknown user", download_link='#'), 404 return render_template( 'affiliated.html', publications=publications.filter_by_user_id(user_id), users=users, user_title="Publications for %s" % users[user_id].full_name(), download_link=url_for('download', user_id=user_id))
def load_publications(): try: with open(app.config['PUBLICATIONS_FILE'], 'r') as publication_data_file: publications = Publications.from_yaml(publication_data_file.read()) logging.info("Loaded publications from %s" % app.config['PUBLICATIONS_FILE']) except IOError: logging.warning("Could not open %s to read publications" % app.config['PUBLICATIONS_FILE']) publications = Publications([]) except Exception as e: logging.error("There was a problem parsing publications from %s" % app.config['PUBLICATIONS_FILE'], exc_info=e) publications = Publications([]) return publications
def missing(): """Hidden URL for missing publications I've intentionally not publicised this feature because it makes lots of HTTP requests to the Sanger website and I probably only want me / administrators to use it on an infrequent basis. This endpoint lists all of the publicatons which are currently not in the Sanger Library's dataset""" library_pubmed_ids = set(LibrarySearcher.get_pubmed_ids()) possible_pubmed_ids = set(publications.not_denied().keys()) missing_pubmed_ids = possible_pubmed_ids.difference(library_pubmed_ids) missing_publications = Publications( [publications[pubmed_id] for pubmed_id in missing_pubmed_ids]) return render_template('affiliated.html', publications=missing_publications, users=users, user_title="Publications not in the Sanger Library")
logging.basicConfig(level=logging.WARN) if do_exit: print"Exiting" print sys.exit(1) if __name__=="__main__": (options, args)=main() check_command_line() try: with open(options.publicationsfile, 'r') as publications_input: publications = Publications.from_yaml(publications_input.read()) except IOError: # The file is missing logging.info("Could not load existing publications from %s, skipping" % options.publicationsfile) publications={} users={} with open(options.usersfile, "r") as usersfile: users = User.from_yaml(usersfile.read()) users_count = len(users) logging.info("Loaded %s users from %s" % (users_count, options.usersfile)) pubmed_ids = set() logging.info("Searching pubmed for publications") for user in users.values():
logging.basicConfig(level=logging.WARN) if do_exit: print "Exiting" print sys.exit(1) if __name__ == "__main__": (options, args) = main() check_command_line() try: with open(options.publicationsfile, 'r') as publications_input: publications = Publications.from_yaml(publications_input.read()) except IOError: # The file is missing logging.info("Could not load existing publications from %s, skipping" % options.publicationsfile) publications = {} users = {} with open(options.usersfile, "r") as usersfile: users = User.from_yaml(usersfile.read()) users_count = len(users) logging.info("Loaded %s users from %s" % (users_count, options.usersfile)) pubmed_ids = set() logging.info("Searching pubmed for publications") for user in users.values():