Пример #1
0
def _run_personid_gc(paperslist, all_records=False):
#    insert_user_log('daemon', '-1', 'PGC', 'bibsched', 'status',
#                    comment='bibauthorid_daemon, personid_gc (update_personid_from_papers) on '
#                    + str(paperslist))
    if not paperslist and  all_records:
        #update_authornames_tables_from_paper()
        insert_user_log('daemon', '-1', 'PGC', 'bibsched', 'status',
            comment='bibauthorid_daemon, personid_gc (update_personid_from_papers) on all papers')
        update_personID_table_from_paper()
    elif not paperslist:
        last_log = get_user_log(userinfo='daemon', action='PGC', only_most_recent=True)
        if len(last_log) >= 1:
            #select only the most recent papers
            recently_modified, min_date = get_papers_recently_modified(date=last_log[0][2])
            insert_user_log('daemon', '-1', 'PGC', 'bibsched', 'status',
                            comment='bibauthorid_daemon, update_personid_from_papers on '
                            + str([paperslist, all_records, recently_modified]),
                            timestamp=min_date[0][0])

            if not recently_modified:
                bibtask.write_message("update_personID_table_from_paper: "
                                      "All person entities up to date.",
                                      stream=sys.stdout, verbose=0)
            else:
                bibtask.write_message("update_personID_table_from_paper: Running on: " +
                                      str(recently_modified), stream=sys.stdout, verbose=0)
                personid_fast_assign_papers(recently_modified)
        else:
            insert_user_log('daemon', '-1', 'PGC', 'bibsched', 'status',
            comment='bibauthorid_daemon, personid_gc (update_personid_from_papers) on all papers')
            update_personID_table_from_paper()
    else:
        insert_user_log('daemon', '-1', 'PGC', 'bibsched', 'status',
                comment='bibauthorid_daemon, personid_gc (update_personid_from_papers) on '
                + str(paperslist))
        update_authornames_tables_from_paper(paperslist)
        update_personID_table_from_paper(paperslist)
Пример #2
0
def _run_update_personID_table_from_paper(record_ids=None, all_records=False):
    '''
    Runs the update on the papers which have been modified since the last run
    This is removing no-longer existing papers from the personid table.

    @note: Update recommended monthly.
    @warning: quite resource intensive.
    '''
    if not record_ids and not all_records:
        last_log = get_user_log(userinfo='daemon', action='UPITFP', only_most_recent=True)
        if len(last_log) >= 1:
            #select only the most recent papers
            recently_modified, min_date = get_papers_recently_modified(date=last_log[0][2])
            insert_user_log('daemon', '-1', 'UPITFP', 'bibsched', 'status',
                            comment='bibauthorid_daemon, update_personID_table_from_paper',
                            timestamp=min_date[0][0])

            if not recently_modified:
                bibtask.write_message("update_personID_table_from_paper: "
                                      "All person entities up to date.",
                                      stream=sys.stdout, verbose=0)
            else:
                bibtask.write_message("update_personID_table_from_paper: Running on: " +
                                      str(recently_modified), stream=sys.stdout, verbose=0)
                update_personID_table_from_paper(recently_modified)
        else:
            # Should not process all papers, hence authornames population writes
            # the appropriate log. In case the log is missing, process everything.
            recently_modified, min_date = get_papers_recently_modified()
            insert_user_log('daemon', '-1', 'UPITFP', 'bibsched', 'status',
                            comment='bibauthorid_daemon, update_personID_table_from_paper',
                            timestamp=min_date[0][0])
            bibtask.write_message("update_personID_table_from_paper: Running on: "
                                  + str(recently_modified), stream=sys.stdout, verbose=0)
            update_personID_table_from_paper(recently_modified)
    else:
        update_personID_table_from_paper(record_ids)