예제 #1
0
        'Negotiator-compatible output must produce Excel output, hence -X or --output-XLSX must be provided, too'
    )

# Main code

dir = Directory(purgeCaches=args.purgeCaches, debug=args.debug, pp=pp)

log.info('Total biobanks: ' + str(dir.getBiobanksCount()))
log.info('Total collections: ' + str(dir.getCollectionsCount()))

if args.negotiator:
    contactsToCollections = {}
    collectionsToContacts = {}
    contactsToEmails = {}

    for collection in dir.getCollections():
        log.debug("Analyzing collection " + collection['id'])
        collectionId = collection['id']
        biobankId = dir.getCollectionBiobankId(collection['id'])
        biobank = dir.getBiobankById(biobankId)
        if 'contact' in collection:
            contactId = collection['contact']['id']
            contactEmail = collection['contact']['email']
            if contactId not in contactsToEmails:
                contactsToEmails[contactId] = contactEmail
            else:
                if (contactsToEmails[contactId] != contactEmail):
                    log.error(
                        "Contact mismatch for %s: previously provided <%s>, now provided <%s>"
                        %
                        (contactId, contactsToEmails[contactId], contactEmail))