text: __author__ = 'rolandh'
  
  EDUPERSON_OID = "urn:oid:1.3.6.1.4.1.5923.1.1.1."
  X500ATTR_OID = "urn:oid:2.5.4."
  NOREDUPERSON_OID = "urn:oid:1.3.6.1.4.1.2428.90.1."
  NETSCAPE_LDAP = "urn:oid:2.16.840.1.113730.3.1."
  UCL_DIR_PILOT = 'urn:oid:0.9.2342.19200300.100.1.'
  PKCS_9 = "urn:oid:1.2.840.113549.1.9.1."
  UMICH = "urn:oid:1.3.6.1.4.1.250.1.57."
  
  MAP = {
      "identifier": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
      "fro": {
          EDUPERSON_OID+'2': 'eduPersonNickname',
          EDUPERSON_OID+'9': 'eduPersonScopedAffiliation',
          EDUPERSON_OID+'11': 'eduPersonAssurance',
          EDUPERSON_OID+'10': 'eduPersonTargetedID',
          EDUPERSON_OID+'4': 'eduPersonOrgUnitDN',
          NOREDUPERSON_OID+'6': 'norEduOrgAcronym',
          NOREDUPERSON_OID+'7': 'norEduOrgUniqueIdentifier',
          NOREDUPERSON_OID+'4': 'norEduPersonLIN',
          EDUPERSON_OID+'1': 'eduPersonAffiliation',
          NOREDUPERSON_OID+'2': 'norEduOrgUnitUniqueNumber',
          NETSCAPE_LDAP+'40': 'userSMIMECertificate',
          NOREDUPERSON_OID+'1': 'norEduOrgUniqueNumber',
          NETSCAPE_LDAP+'241': 'displayName',
          UCL_DIR_PILOT+'37': 'associatedDomain',
          EDUPERSON_OID+'6': 'eduPersonPrincipalName',
          NOREDUPERSON_OID+'8': 'norEduOrgUnitUniqueIdentifier',
          NOREDUPERSON_OID+'9': 'federationFeideSchemaVersion',
          X500ATTR_OID+'53': 'deltaRevocationList',
          X500ATTR_OID+'52': 'supportedAlgorithms',
          X500ATTR_OID+'51': 'houseIdentifier',
          X500ATTR_OID+'50': 'uniqueMember',
          X500ATTR_OID+'19': 'physicalDeliveryOfficeName',
          X500ATTR_OID+'18': 'postOfficeBox',
          X500ATTR_OID+'17': 'postalCode',
          X500ATTR_OID+'16': 'postalAddress',
          X500ATTR_OID+'15': 'businessCategory',
          X500ATTR_OID+'14': 'searchGuide',
          EDUPERSON_OID+'5': 'eduPersonPrimaryAffiliation',
          X500ATTR_OID+'12': 'title',
          X500ATTR_OID+'11': 'ou',
          X500ATTR_OID+'10': 'o',
          X500ATTR_OID+'37': 'cACertificate',
          X500ATTR_OID+'36': 'userCertificate',
          X500ATTR_OID+'31': 'member',
          X500ATTR_OID+'30': 'supportedApplicationContext',
          X500ATTR_OID+'33': 'roleOccupant',
          X500ATTR_OID+'32': 'owner',
          NETSCAPE_LDAP+'1': 'carLicense',
          PKCS_9+'1': 'email',
          NETSCAPE_LDAP+'3': 'employeeNumber',
          NETSCAPE_LDAP+'2': 'departmentNumber',
          X500ATTR_OID+'39': 'certificateRevocationList',
          X500ATTR_OID+'38': 'authorityRevocationList',
          NETSCAPE_LDAP+'216': 'userPKCS12',
          EDUPERSON_OID+'8': 'eduPersonPrimaryOrgUnitDN',
          X500ATTR_OID+'9': 'street',
          X500ATTR_OID+'8': 'st',
          NETSCAPE_LDAP+'39': 'preferredLanguage',
          EDUPERSON_OID+'7': 'eduPersonEntitlement',
          X500ATTR_OID+'2': 'knowledgeInformation',
          X500ATTR_OID+'7': 'l',
          X500ATTR_OID+'6': 'c',
          X500ATTR_OID+'5': 'serialNumber',
          X500ATTR_OID+'4': 'sn',
          UCL_DIR_PILOT+'60': 'jpegPhoto',
          X500ATTR_OID+'65': 'pseudonym',
          NOREDUPERSON_OID+'5': 'norEduPersonNIN',
          UCL_DIR_PILOT+'3': 'mail',
          UCL_DIR_PILOT+'25': 'dc',
          X500ATTR_OID+'40': 'crossCertificatePair',
          X500ATTR_OID+'42': 'givenName',
          X500ATTR_OID+'43': 'initials',
          X500ATTR_OID+'44': 'generationQualifier',
          X500ATTR_OID+'45': 'x500UniqueIdentifier',
          X500ATTR_OID+'46': 'dnQualifier',
          X500ATTR_OID+'47': 'enhancedSearchGuide',
          X500ATTR_OID+'48': 'protocolInformation',
          X500ATTR_OID+'54': 'dmdName',
          NETSCAPE_LDAP+'4': 'employeeType',
          X500ATTR_OID+'22': 'teletexTerminalIdentifier',
          X500ATTR_OID+'23': 'facsimileTelephoneNumber',
          X500ATTR_OID+'20': 'telephoneNumber',
          X500ATTR_OID+'21': 'telexNumber',
          X500ATTR_OID+'26': 'registeredAddress',
          X500ATTR_OID+'27': 'destinationIndicator',
          X500ATTR_OID+'24': 'x121Address',
          X500ATTR_OID+'25': 'internationaliSDNNumber',
          X500ATTR_OID+'28': 'preferredDeliveryMethod',
          X500ATTR_OID+'29': 'presentationAddress',
          EDUPERSON_OID+'3': 'eduPersonOrgDN',
          NOREDUPERSON_OID+'3': 'norEduPersonBirthDate',
          UMICH+'57': 'labeledURI',
          UCL_DIR_PILOT+'1': 'uid',
      },
      "to": {
          'roleOccupant': X500ATTR_OID+'33',
          'gn': X500ATTR_OID+'42',
          'norEduPersonNIN': NOREDUPERSON_OID+'5',
          'title': X500ATTR_OID+'12',
          'facsimileTelephoneNumber': X500ATTR_OID+'23',
          'mail': UCL_DIR_PILOT+'3',
          'postOfficeBox': X500ATTR_OID+'18',
          'fax': X500ATTR_OID+'23',
          'telephoneNumber': X500ATTR_OID+'20',
          'norEduPersonBirthDate': NOREDUPERSON_OID+'3',
          'rfc822Mailbox': UCL_DIR_PILOT+'3',
          'dc': UCL_DIR_PILOT+'25',
          'countryName': X500ATTR_OID+'6',
          'emailAddress': PKCS_9+'1',
          'employeeNumber': NETSCAPE_LDAP+'3',
          'organizationName': X500ATTR_OID+'10',
          'eduPersonAssurance': EDUPERSON_OID+'11',
          'norEduOrgAcronym': NOREDUPERSON_OID+'6',
          'registeredAddress': X500ATTR_OID+'26',
          'physicalDeliveryOfficeName': X500ATTR_OID+'19',
          'associatedDomain': UCL_DIR_PILOT+'37',
          'l': X500ATTR_OID+'7',
          'stateOrProvinceName': X500ATTR_OID+'8',
          'federationFeideSchemaVersion': NOREDUPERSON_OID+'9',
          'pkcs9email': PKCS_9+'1',
          'givenName': X500ATTR_OID+'42',
          'givenname': X500ATTR_OID+'42',
          'x500UniqueIdentifier': X500ATTR_OID+'45',
          'eduPersonNickname': EDUPERSON_OID+'2',
          'houseIdentifier': X500ATTR_OID+'51',
          'street': X500ATTR_OID+'9',
          'supportedAlgorithms': X500ATTR_OID+'52',
          'preferredLanguage': NETSCAPE_LDAP+'39',
          'postalAddress': X500ATTR_OID+'16',
          'email': PKCS_9+'1',
          'norEduOrgUnitUniqueIdentifier': NOREDUPERSON_OID+'8',
          'eduPersonPrimaryOrgUnitDN': EDUPERSON_OID+'8',
          'c': X500ATTR_OID+'6',
          'teletexTerminalIdentifier': X500ATTR_OID+'22',
          'o': X500ATTR_OID+'10',
          'cACertificate': X500ATTR_OID+'37',
          'telexNumber': X500ATTR_OID+'21',
          'ou': X500ATTR_OID+'11',
          'initials': X500ATTR_OID+'43',
          'eduPersonOrgUnitDN': EDUPERSON_OID+'4',
          'deltaRevocationList': X500ATTR_OID+'53',
          'norEduPersonLIN': NOREDUPERSON_OID+'4',
          'supportedApplicationContext': X500ATTR_OID+'30',
          'eduPersonEntitlement': EDUPERSON_OID+'7',
          'generationQualifier': X500ATTR_OID+'44',
          'eduPersonAffiliation': EDUPERSON_OID+'1',
          'eduPersonPrincipalName': EDUPERSON_OID+'6',
          'edupersonprincipalname': EDUPERSON_OID+'6',
          'localityName': X500ATTR_OID+'7',
          'owner': X500ATTR_OID+'32',
          'norEduOrgUnitUniqueNumber': NOREDUPERSON_OID+'2',
          'searchGuide': X500ATTR_OID+'14',
          'certificateRevocationList': X500ATTR_OID+'39',
          'organizationalUnitName': X500ATTR_OID+'11',
          'userCertificate': X500ATTR_OID+'36',
          'preferredDeliveryMethod': X500ATTR_OID+'28',
          'internationaliSDNNumber': X500ATTR_OID+'25',
          'uniqueMember': X500ATTR_OID+'50',
          'departmentNumber': NETSCAPE_LDAP+'2',
          'enhancedSearchGuide': X500ATTR_OID+'47',
          'userPKCS12': NETSCAPE_LDAP+'216',
          'eduPersonTargetedID': EDUPERSON_OID+'10',
          'norEduOrgUniqueNumber': NOREDUPERSON_OID+'1',
          'x121Address': X500ATTR_OID+'24',
          'destinationIndicator': X500ATTR_OID+'27',
          'eduPersonPrimaryAffiliation': EDUPERSON_OID+'5',
          'surname': X500ATTR_OID+'4',
          'jpegPhoto': UCL_DIR_PILOT+'60',
          'eduPersonScopedAffiliation': EDUPERSON_OID+'9',
          'edupersonscopedaffiliation': EDUPERSON_OID+'9',
          'protocolInformation': X500ATTR_OID+'48',
          'knowledgeInformation': X500ATTR_OID+'2',
          'employeeType': NETSCAPE_LDAP+'4',
          'userSMIMECertificate': NETSCAPE_LDAP+'40',
          'member': X500ATTR_OID+'31',
          'streetAddress': X500ATTR_OID+'9',
          'dmdName': X500ATTR_OID+'54',
          'postalCode': X500ATTR_OID+'17',
          'pseudonym': X500ATTR_OID+'65',
          'dnQualifier': X500ATTR_OID+'46',
          'crossCertificatePair': X500ATTR_OID+'40',
          'eduPersonOrgDN': EDUPERSON_OID+'3',
          'authorityRevocationList': X500ATTR_OID+'38',
          'displayName': NETSCAPE_LDAP+'241',
          'businessCategory': X500ATTR_OID+'15',
          'serialNumber': X500ATTR_OID+'5',
          'norEduOrgUniqueIdentifier': NOREDUPERSON_OID+'7',
          'st': X500ATTR_OID+'8',
          'carLicense': NETSCAPE_LDAP+'1',
          'presentationAddress': X500ATTR_OID+'29',
          'sn': X500ATTR_OID+'4',
          'domainComponent': UCL_DIR_PILOT+'25',
          'labeledURI': UMICH+'57',
          'uid': UCL_DIR_PILOT+'1'
      }
  }  
  