@@ -524,50 +524,53 @@ def main() -> None:
524524 config_key = config_key [9 :]
525525 config [config_key ] = os .environ [env_var ]
526526
527- assert config .get ("rf_username" ), "ResearchFish username not configured"
528- assert config .get ("rf_password" ), "ResearchFish password not configured"
529527 assert config .get ("email" ), "Email not configured"
530528
531529 # Create dictionary of publications indexed by DOI
532530 pubs_with_doi : dict [DOI , dict [str , Any ]] = {}
533531
534532 get_dois_from_old_xml (config .get ("nbiros_pub_export_xml_url" ), pubs_with_doi )
535- log .info (f"Unique publication DOIs: { len (pubs_with_doi )} " )
533+ log .info (f"Unique publication DOIs from NBIROS : { len (pubs_with_doi )} " )
536534
537- # Login to ResearchFish API
538- rf_session = RF_login (config ["rf_username" ], config ["rf_password" ])
539- log .debug ("Successfully logged in to ResearchFish API" )
540-
541- # Get awards
542- # awards = RF_get_paginated(rf_session, f"{BASE_RF_URL}/award")
543- # with open("/tmp/awards.txt", "w") as f:
544- # for award in awards:
545- # print(award["fa_name"], file=f)
546-
547- # Get publication dois
548- params = {
549- "section" : "publications" ,
550- }
551- publications = RF_get_paginated (rf_session , f"{ BASE_RF_URL } /outcome" , params = params , max_pages = args .pages )
552- log .info (f"Total publications on ResearchFish: { len (publications )} " )
553-
554- for p in publications :
555- try :
556- doi = DOI (p ["r1_2_19" ])
557- except ValueError as e :
558- log .warning (
559- "Skipping ResearchFish publication '%s' (doi: '%s'; title '%s'; type '%s'): %s" ,
560- p ["id" ],
561- p ["r1_2_19" ],
562- p ["title" ],
563- p ["r1_2" ],
564- e ,
565- )
566- else :
567- pubs_with_doi .setdefault (doi , {})
568- pubs_with_doi [doi ].setdefault ("rf_entries" , [])
569- pubs_with_doi [doi ]["rf_entries" ].append (p )
570- log .info (f"Unique publication DOIs: { len (pubs_with_doi )} " )
535+ if not config .get ("rf_username" ):
536+ log .warning ("ResearchFish username not configured, skipping ResearchFish publications" )
537+ elif not config .get ("rf_password" ):
538+ log .warning ("ResearchFish password not configured, skipping ResearchFish publications" )
539+ else :
540+ # Login to ResearchFish API
541+ rf_session = RF_login (config ["rf_username" ], config ["rf_password" ])
542+ log .debug ("Successfully logged in to ResearchFish API" )
543+
544+ # Get awards
545+ # awards = RF_get_paginated(rf_session, f"{BASE_RF_URL}/award")
546+ # with open("/tmp/awards.txt", "w") as f:
547+ # for award in awards:
548+ # print(award["fa_name"], file=f)
549+
550+ # Get publication dois
551+ params = {
552+ "section" : "publications" ,
553+ }
554+ publications = RF_get_paginated (rf_session , f"{ BASE_RF_URL } /outcome" , params = params , max_pages = args .pages )
555+ log .info (f"Total publications on ResearchFish: { len (publications )} " )
556+
557+ for p in publications :
558+ try :
559+ doi = DOI (p ["r1_2_19" ])
560+ except ValueError as e :
561+ log .warning (
562+ "Skipping ResearchFish publication '%s' (doi: '%s'; title '%s'; type '%s'): %s" ,
563+ p ["id" ],
564+ p ["r1_2_19" ],
565+ p ["title" ],
566+ p ["r1_2" ],
567+ e ,
568+ )
569+ else :
570+ pubs_with_doi .setdefault (doi , {})
571+ pubs_with_doi [doi ].setdefault ("rf_entries" , [])
572+ pubs_with_doi [doi ]["rf_entries" ].append (p )
573+ log .info (f"Unique publication DOIs from NBIROS and ResearchFish: { len (pubs_with_doi )} " )
571574
572575 # Process publications with a DOI
573576 cr_headers = {
0 commit comments