diff --git a/manage.py b/manage.py index fd677a96b..da2943a20 100755 --- a/manage.py +++ b/manage.py @@ -2,7 +2,7 @@ import os import sys -if __name__ == "__main__": +if __name__ == '__main__': config_file = False argv = sys.argv[1:] @@ -13,7 +13,7 @@ if __name__ == "__main__": if config_file: os.environ['AUTHENTIC2_SETTINGS_FILE'] = config_file - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "authentic2.settings") + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'authentic2.settings') from django.core.management import execute_from_command_line diff --git a/merge-coverage.py b/merge-coverage.py index 5cb135c71..7abcf3678 100755 --- a/merge-coverage.py +++ b/merge-coverage.py @@ -13,63 +13,63 @@ from optparse import OptionParser # parse arguments newline = 10 * '\t' parser = OptionParser( - usage="%prog [options] [file1 file2 ... filen]", - version="%prog 1.0", - epilog="If no files are specified all xml files in current directory will be selected. \n" - + "Useful when there is not known precise file name only location", + usage='%prog [options] [file1 file2 ... filen]', + version='%prog 1.0', + epilog='If no files are specified all xml files in current directory will be selected. \n' + + 'Useful when there is not known precise file name only location', ) parser.add_option( - "-o", - "--output", - dest="filename", - default="coverage-merged.xml", - help="output file xml name", - metavar="FILE", + '-o', + '--output', + dest='filename', + default='coverage-merged.xml', + help='output file xml name', + metavar='FILE', ) parser.add_option( - "-p", "--path", dest="path", default="./", help="xml location, default current directory", metavar="FILE" + '-p', '--path', dest='path', default='./', help='xml location, default current directory', metavar='FILE' ) parser.add_option( - "-l", "--log", dest="loglevel", default="DEBUG", help="Log level DEBUG, INFO, WARNING, ERROR, CRITICAL" + '-l', '--log', dest='loglevel', default='DEBUG', help='Log level DEBUG, INFO, WARNING, ERROR, CRITICAL' ) parser.add_option( - "-f", - "--filteronly", - dest="filteronly", + '-f', + '--filteronly', + dest='filteronly', default=False, action='store_true', - help="If set all files will be filtered by keep rules otherwise " - + "all given files will be merged and filtered.", + help='If set all files will be filtered by keep rules otherwise ' + + 'all given files will be merged and filtered.', ) parser.add_option( - "-s", - "--suffix", - dest="suffix", + '-s', + '--suffix', + dest='suffix', default='', - help="Additional suffix which will be added to filtered files so they original files can be preserved", + help='Additional suffix which will be added to filtered files so they original files can be preserved', ) parser.add_option( - "-k", - "--keep", - dest="packagefilters", + '-k', + '--keep', + dest='packagefilters', default=None, - metavar="NAME", - action="append", - help="preserves only specific packages. e.g.: " + metavar='NAME', + action='append', + help='preserves only specific packages. e.g.: ' + newline + "'python merge.py -k src.la.*'" + newline - + "will keep all packgages in folder " - + "src/la/ and all subfolders of this folders. " + + 'will keep all packgages in folder ' + + 'src/la/ and all subfolders of this folders. ' + newline - + "There can be mutiple rules e.g.:" + + 'There can be mutiple rules e.g.:' + newline + "'python merge.py -k src.la.* -k unit_tests.la.'" + newline - + "Format of the rule is simple dot (.) separated names with wildcard (*) allowed, e.g: " + + 'Format of the rule is simple dot (.) separated names with wildcard (*) allowed, e.g: ' + newline - + "package.subpackage.*", + + 'package.subpackage.*', ) (options, args) = parser.parse_args() @@ -129,7 +129,7 @@ def merge_xml(xmlfile1, xmlfile2, outputfile): merge(packages1root, packages1, packages2, 'name', merge_packages) # write result to output file - xml1.write(outputfile, encoding="UTF-8", xml_declaration=True) + xml1.write(outputfile, encoding='UTF-8', xml_declaration=True) def filter_xml(xmlfile): @@ -265,7 +265,7 @@ if filteronly: xml = ET.parse(xmlfile) filter_xml(xml) logging.debug(f'{currfile}/{totalfiles} filtering: {xmlfile}') - xml.write(xmlfile + filtersuffix, encoding="UTF-8", xml_declaration=True) + xml.write(xmlfile + filtersuffix, encoding='UTF-8', xml_declaration=True) currfile += 1 else: # merge all given files @@ -278,7 +278,7 @@ else: xmlfile = xmlfiles.pop(0) xml = ET.parse(xmlfile) filter_xml(xml) - xml.write(finalxml, encoding="UTF-8", xml_declaration=True) + xml.write(finalxml, encoding='UTF-8', xml_declaration=True) sys.exit(0) currfile = 1 diff --git a/setup.py b/setup.py index 23ba8b120..3a1b9e67e 100755 --- a/setup.py +++ b/setup.py @@ -99,7 +99,7 @@ class sdist(_sdist): sub_commands = [('compile_translations', None)] + _sdist.sub_commands def run(self): - print("creating VERSION file") + print('creating VERSION file') if os.path.exists('VERSION'): os.remove('VERSION') version = get_version() @@ -107,7 +107,7 @@ class sdist(_sdist): version_file.write(version) version_file.close() _sdist.run(self) - print("removing VERSION file") + print('removing VERSION file') if os.path.exists('VERSION'): os.remove('VERSION') @@ -146,15 +146,15 @@ def get_version(): setup( - name="authentic2", + name='authentic2', version=get_version(), - license="AGPLv3+", - description="Authentic 2, a versatile identity management server", - url="http://dev.entrouvert.org/projects/authentic/", + license='AGPLv3+', + description='Authentic 2, a versatile identity management server', + url='http://dev.entrouvert.org/projects/authentic/', author="Entr'ouvert", - author_email="authentic@listes.entrouvert.com", - maintainer="Benjamin Dauvergne", - maintainer_email="bdauvergne@entrouvert.com", + author_email='authentic@listes.entrouvert.com', + maintainer='Benjamin Dauvergne', + maintainer_email='bdauvergne@entrouvert.com', scripts=('manage.py',), packages=find_packages('src'), package_dir={ @@ -193,9 +193,9 @@ setup( ], zip_safe=False, classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Web Environment", - "Framework :: Django", + 'Development Status :: 5 - Production/Stable', + 'Environment :: Web Environment', + 'Framework :: Django', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', @@ -203,10 +203,10 @@ setup( 'Intended Audience :: Legal Industry', 'Intended Audience :: Science/Research', 'Intended Audience :: Telecommunications Industry', - "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Topic :: System :: Systems Administration :: Authentication/Directory", + 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', + 'Operating System :: OS Independent', + 'Programming Language :: Python', + 'Topic :: System :: Systems Administration :: Authentication/Directory', ], cmdclass={ 'build': build, diff --git a/src/authentic2/a2_rbac/admin.py b/src/authentic2/a2_rbac/admin.py index eacf520cb..244fe14d9 100644 --- a/src/authentic2/a2_rbac/admin.py +++ b/src/authentic2/a2_rbac/admin.py @@ -53,7 +53,7 @@ class RoleAdmin(admin.ModelAdmin): 'service', ) readonly_fields = ('uuid',) - prepopulated_fields = {"slug": ("name",)} + prepopulated_fields = {'slug': ('name',)} filter_horizontal = ('members', 'permissions') list_display = ('__str__', 'slug', 'ou', 'service', 'admin_scope') list_select_related = True @@ -77,7 +77,7 @@ class OrganizationalUnitAdmin(admin.ModelAdmin): 'colour', ) readonly_fields = ('uuid',) - prepopulated_fields = {"slug": ("name",)} + prepopulated_fields = {'slug': ('name',)} list_display = ('name', 'slug') diff --git a/src/authentic2/a2_rbac/context_processors.py b/src/authentic2/a2_rbac/context_processors.py index 927dcb103..17591d735 100644 --- a/src/authentic2/a2_rbac/context_processors.py +++ b/src/authentic2/a2_rbac/context_processors.py @@ -11,7 +11,7 @@ class PermAnyLookupDict: def __iter__(self): # I am large, I contain multitudes. - raise TypeError("PermAnyLookupDict is not iterable.") + raise TypeError('PermAnyLookupDict is not iterable.') def __getitem__(self, perm_name): return self.user.has_perm_any('%s.%s' % (self.app_label, perm_name)) @@ -29,7 +29,7 @@ class PermAnyWrapper: def __iter__(self): # I am large, I contain multitudes. - raise TypeError("PermAnyWrapper is not iterable.") + raise TypeError('PermAnyWrapper is not iterable.') def __bool__(self): raise TypeError('PermAnyWrapper has not boolean value') diff --git a/src/authentic2/a2_rbac/models.py b/src/authentic2/a2_rbac/models.py index 99a14ff4c..851b3f691 100644 --- a/src/authentic2/a2_rbac/models.py +++ b/src/authentic2/a2_rbac/models.py @@ -87,9 +87,9 @@ class OrganizationalUnit(AbstractBase): ) USER_CAN_RESET_PASSWD_CHOICES = ( - (None, _("System default")), - (True, _("Yes")), - (False, _("No")), + (None, _('System default')), + (True, _('Yes')), + (False, _('No')), ) PolicyValue = namedtuple( @@ -292,10 +292,10 @@ class Permission(models.Model): def export_json(self): return { - "operation": self.operation.natural_key_json(), - "ou": self.ou and self.ou.natural_key_json(), + 'operation': self.operation.natural_key_json(), + 'ou': self.ou and self.ou.natural_key_json(), 'target_ct': self.target_ct.natural_key_json(), - "target": self.target.natural_key_json(), + 'target': self.target.natural_key_json(), } @classmethod diff --git a/src/authentic2/admin.py b/src/authentic2/admin.py index 26059bb05..a6a4e4a57 100644 --- a/src/authentic2/admin.py +++ b/src/authentic2/admin.py @@ -51,7 +51,7 @@ class CleanupAdminMixin(admin.ModelAdmin): @admin.register(Nonce) class NonceModelAdmin(admin.ModelAdmin): - list_display = ("value", "context", "not_on_or_after") + list_display = ('value', 'context', 'not_on_or_after') class AttributeValueAdmin(admin.ModelAdmin): @@ -190,11 +190,11 @@ class UserRealmListFilter(admin.SimpleListFilter): class UserChangeForm(BaseUserForm): error_messages = { - 'missing_credential': _("You must at least give a username or an email to your user"), + 'missing_credential': _('You must at least give a username or an email to your user'), } password = ReadOnlyPasswordHashField( - label=_("Password"), + label=_('Password'), help_text=_( "Raw passwords are not stored, so there is no way to see this user's password, but you can change" " the password using this form." @@ -215,7 +215,7 @@ class UserChangeForm(BaseUserForm): # Regardless of what the user provides, return the initial value. # This is done here, rather than on the field, because the # field does not have access to the initial value - return self.initial["password"] + return self.initial['password'] def clean(self): if not self.cleaned_data.get('username') and not self.cleaned_data.get('email'): @@ -236,22 +236,22 @@ class UserCreationForm(BaseUserForm): error_messages = { 'password_mismatch': _("The two password fields didn't match."), - 'missing_credential': _("You must at least give a username or an email to your user"), + 'missing_credential': _('You must at least give a username or an email to your user'), } - password1 = forms.CharField(label=_("Password"), widget=forms.PasswordInput) + password1 = forms.CharField(label=_('Password'), widget=forms.PasswordInput) password2 = forms.CharField( - label=_("Password confirmation"), + label=_('Password confirmation'), widget=forms.PasswordInput, - help_text=_("Enter the same password as above, for verification."), + help_text=_('Enter the same password as above, for verification.'), ) class Meta: model = User - fields = ("username",) + fields = ('username',) def clean_password2(self): - password1 = self.cleaned_data.get("password1") - password2 = self.cleaned_data.get("password2") + password1 = self.cleaned_data.get('password1') + password2 = self.cleaned_data.get('password2') if password1 and password2 and password1 != password2: raise forms.ValidationError( self.error_messages['password_mismatch'], @@ -268,7 +268,7 @@ class UserCreationForm(BaseUserForm): def save(self, commit=True): user = super().save(commit=False) - user.set_password(self.cleaned_data["password1"]) + user.set_password(self.cleaned_data['password1']) if commit: user.save() return user diff --git a/src/authentic2/api_views.py b/src/authentic2/api_views.py index 18a007268..4019f911a 100644 --- a/src/authentic2/api_views.py +++ b/src/authentic2/api_views.py @@ -528,12 +528,12 @@ class BaseUserSerializer(serializers.ModelSerializer): try: hasher = identify_hasher(attrs.get('hashed_password')) except ValueError: - errors['hashed_password'] = "unknown hash format" + errors['hashed_password'] = 'unknown hash format' else: try: hasher.safe_summary(attrs.get('hashed_password')) except Exception: - errors['hashed_password'] = "hash format error" + errors['hashed_password'] = 'hash format error' if errors: raise serializers.ValidationError(errors) return attrs @@ -779,7 +779,7 @@ class UsersAPI(api_mixins.GetOrCreateMixinView, HookMixin, ExceptionHandlerMixin if self.request.user.has_ou_perm(perm, ou): allowed_ous.append(ou) if not allowed_ous: - raise PermissionDenied("You do not have permission to perform this action.") + raise PermissionDenied('You do not have permission to perform this action.') queryset = queryset.filter(ou__in=allowed_ous) return queryset diff --git a/src/authentic2/custom_user/management/commands/changepassword.py b/src/authentic2/custom_user/management/commands/changepassword.py index 38662f25b..fe5c5c713 100644 --- a/src/authentic2/custom_user/management/commands/changepassword.py +++ b/src/authentic2/custom_user/management/commands/changepassword.py @@ -40,10 +40,10 @@ class Command(BaseCommand): help='Specifies the database to use. Default is "default".', ) - def _get_pass(self, prompt="Password: "): + def _get_pass(self, prompt='Password: '): p = getpass.getpass(prompt=force_str(prompt)) if not p: - raise CommandError("aborted") + raise CommandError('aborted') return p def handle(self, *args, **options): @@ -87,9 +87,9 @@ class Command(BaseCommand): p1, p2 = 1, 2 # To make them initially mismatch. while p1 != p2 and count < MAX_TRIES: p1 = self._get_pass() - p2 = self._get_pass("Password (again): ") + p2 = self._get_pass('Password (again): ') if p1 != p2: - self.stdout.write("Passwords do not match. Please try again.\n") + self.stdout.write('Passwords do not match. Please try again.\n') count = count + 1 if count == MAX_TRIES: diff --git a/src/authentic2/custom_user/management/commands/fix-attributes.py b/src/authentic2/custom_user/management/commands/fix-attributes.py index 879247816..e5afc70be 100644 --- a/src/authentic2/custom_user/management/commands/fix-attributes.py +++ b/src/authentic2/custom_user/management/commands/fix-attributes.py @@ -21,7 +21,7 @@ from authentic2.custom_user.models import User class Command(BaseCommand): - help = "Fix user attributes" + help = 'Fix user attributes' requires_system_checks = [] diff --git a/src/authentic2/custom_user/managers.py b/src/authentic2/custom_user/managers.py index 61bd1a0ed..ff9815c2b 100644 --- a/src/authentic2/custom_user/managers.py +++ b/src/authentic2/custom_user/managers.py @@ -172,7 +172,7 @@ class UserQuerySet(models.QuerySet): def set_trigram_similarity_threshold(self, threshold=None): with connection.cursor() as cursor: cursor.execute( - "SET pg_trgm.similarity_threshold = %f" % (threshold or app_settings.A2_FTS_THRESHOLD) + 'SET pg_trgm.similarity_threshold = %f' % (threshold or app_settings.A2_FTS_THRESHOLD) ) def get_by_email(self, email): diff --git a/src/authentic2/custom_user/migrations/0024_index_email_by_trigrams.py b/src/authentic2/custom_user/migrations/0024_index_email_by_trigrams.py index 5c1b27fba..f8d1d10b3 100644 --- a/src/authentic2/custom_user/migrations/0024_index_email_by_trigrams.py +++ b/src/authentic2/custom_user/migrations/0024_index_email_by_trigrams.py @@ -60,8 +60,8 @@ class Migration(migrations.Migration): TrigramExtension(), RunSQLIfExtension( sql=[ - "CREATE INDEX IF NOT EXISTS custom_user_user_email_trgm_idx ON custom_user_user USING gist" - " (LOWER(email) public.gist_trgm_ops)" + 'CREATE INDEX IF NOT EXISTS custom_user_user_email_trgm_idx ON custom_user_user USING gist' + ' (LOWER(email) public.gist_trgm_ops)' ], reverse_sql=['DROP INDEX custom_user_user_email_trgm_idx'], ), diff --git a/src/authentic2/custom_user/models.py b/src/authentic2/custom_user/models.py index 772f6336d..e59871200 100644 --- a/src/authentic2/custom_user/models.py +++ b/src/authentic2/custom_user/models.py @@ -230,16 +230,16 @@ class User(AbstractBaseUser): 'The groups this user belongs to. A user will get all permissions granted to each of his/her' ' group.' ), - related_name="user_set", - related_query_name="user", + related_name='user_set', + related_query_name='user', ) user_permissions = models.ManyToManyField( to=AuthPermission, verbose_name=_('user permissions'), blank=True, help_text=_('Specific permissions for this user.'), - related_name="user_set", - related_query_name="user", + related_name='user_set', + related_query_name='user', ) # events dates @@ -277,7 +277,7 @@ class User(AbstractBaseUser): """ permissions = set() for backend in auth.get_backends(): - if hasattr(backend, "get_group_permissions"): + if hasattr(backend, 'get_group_permissions'): permissions.update(backend.get_group_permissions(self, obj)) return permissions @@ -329,7 +329,7 @@ class User(AbstractBaseUser): def filter_by_perm(self, perm_or_perms, qs): results = [] for backend in auth.get_backends(): - if hasattr(backend, "filter_by_perm"): + if hasattr(backend, 'filter_by_perm'): results.append(backend.filter_by_perm(self, perm_or_perms, qs)) if results: return functools.reduce(operator.__or__, results) @@ -342,7 +342,7 @@ class User(AbstractBaseUser): return True for backend in auth.get_backends(): - if hasattr(backend, "has_perm_any"): + if hasattr(backend, 'has_perm_any'): if backend.has_perm_any(self, perm_or_perms): return True return False @@ -353,7 +353,7 @@ class User(AbstractBaseUser): return True for backend in auth.get_backends(): - if hasattr(backend, "has_ou_perm"): + if hasattr(backend, 'has_ou_perm'): if backend.has_ou_perm(self, perm, ou): return True return False @@ -369,7 +369,7 @@ class User(AbstractBaseUser): return full_name.strip() or self.username or self.email def get_short_name(self): - "Returns the short name for the user." + 'Returns the short name for the user.' return self.first_name or self.username or self.email or self.uuid[:6] def email_user(self, subject, message, from_email=None): @@ -379,7 +379,7 @@ class User(AbstractBaseUser): send_mail(subject, message, from_email, [self.email]) def get_username(self): - "Return the identifying username for this User" + 'Return the identifying username for this User' return self.username or self.email or self.get_full_name() or self.uuid def roles_and_parents(self): diff --git a/src/authentic2/data_transfer.py b/src/authentic2/data_transfer.py index 409dd43fd..ad540e2a9 100644 --- a/src/authentic2/data_transfer.py +++ b/src/authentic2/data_transfer.py @@ -228,7 +228,7 @@ class RoleDeserializer: ou = get_default_ou() else: name = self._role_d.get('name') or self._role_d.get('slug') or self._role_d.get('uuid') - raise ValidationError(_("Missing Organizational Unit for role: %s") % name) + raise ValidationError(_('Missing Organizational Unit for role: %s') % name) obj = search_role(self._role_d, ou=self._import_context.set_ou) @@ -292,7 +292,7 @@ class RoleDeserializer: for parent_d in self._parents: parent = search_role(parent_d) if not parent: - raise ValidationError(_("Could not find parent role: %s") % parent_d) + raise ValidationError(_('Could not find parent role: %s') % parent_d) created.append(RoleParenting.objects.create(child=self._obj, direct=True, parent=parent)) return created, deleted @@ -347,13 +347,13 @@ class ImportResult: self._bulk_update('permissions', created, deleted) def to_str(self, verbose=False): - res = "" + res = '' for attr in ('roles', 'ous', 'parentings', 'permissions', 'attributes'): data = getattr(self, attr) for status in ('created', 'updated', 'deleted'): if status in data: s_data = data[status] - res += "%s %s %s\n" % (len(s_data), attr, status) + res += '%s %s %s\n' % (len(s_data), attr, status) return res @@ -408,13 +408,13 @@ def import_site(json_d, import_context=None): if import_context.ou_delete_orphans: raise ValidationError( - _("Unsupported context value for ou_delete_orphans : %s") % (import_context.ou_delete_orphans) + _('Unsupported context value for ou_delete_orphans : %s') % (import_context.ou_delete_orphans) ) if import_context.role_delete_orphans: # FIXME : delete each role that is in DB but not in the export raise ValidationError( - _("Unsupported context value for role_delete_orphans : %s") + _('Unsupported context value for role_delete_orphans : %s') % (import_context.role_delete_orphans) ) diff --git a/src/authentic2/disco_service/disco_responder.py b/src/authentic2/disco_service/disco_responder.py index 95e051b57..3d9893b74 100644 --- a/src/authentic2/disco_service/disco_responder.py +++ b/src/authentic2/disco_service/disco_responder.py @@ -99,7 +99,7 @@ def get_disco_return_url_from_metadata(entity_id): value = int(endpoint.attributes['index'].value) ep = endpoint if not ep: - logger.warning("get_disco_return_url_from_metadata: no valid endpoint for %s", entity_id) + logger.warning('get_disco_return_url_from_metadata: no valid endpoint for %s', entity_id) return None logger.debug('get_disco_return_url_from_metadata: found endpoint with index %s', value) @@ -132,13 +132,13 @@ def add_param_to_url(url, param_name, value): def disco(request): - if not request.method == "GET": + if not request.method == 'GET': message = _('HTTP verb not supported %s' % request.method) return error_page(request, message, logger=logger) entityID = None _return = None - policy = ("urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol:single",) + policy = ('urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol:single',) returnIDParam = None isPassive = False @@ -151,7 +151,7 @@ def disco(request): if not is_known_idp(idp_selected): message = 'The idp is unknown.' - logger.warning("disco: Unknown selected idp %s", idp_selected) + logger.warning('disco: Unknown selected idp %s', idp_selected) save_key_values(request, entityID, _return, policy, returnIDParam, isPassive) return HttpResponseRedirect(reverse(idp_selection)) diff --git a/src/authentic2/forms/passwords.py b/src/authentic2/forms/passwords.py index 66ae078d6..04d1387ee 100644 --- a/src/authentic2/forms/passwords.py +++ b/src/authentic2/forms/passwords.py @@ -44,7 +44,7 @@ logger = logging.getLogger(__name__) class PasswordResetForm(HoneypotForm): next_url = forms.CharField(widget=forms.HiddenInput, required=False) - email = ValidatedEmailField(label=_("Email"), required=False) + email = ValidatedEmailField(label=_('Email'), required=False) phone = PhoneField( label=_('Phone number'), @@ -246,13 +246,13 @@ class NotifyOfPasswordChange: 'user': user, 'password': self.cleaned_data['new_password1'], } - utils_misc.send_templated_mail(user, "authentic2/password_change", ctx) + utils_misc.send_templated_mail(user, 'authentic2/password_change', ctx) return user class SetPasswordForm(NotifyOfPasswordChange, PasswordResetMixin, auth_forms.SetPasswordForm): - new_password1 = NewPasswordField(label=_("New password")) - new_password2 = CheckPasswordField(label=_("New password confirmation")) + new_password1 = NewPasswordField(label=_('New password')) + new_password2 = CheckPasswordField(label=_('New password confirmation')) def __init__(self, user, *args, **kwargs): super().__init__(user, *args, **kwargs) @@ -271,7 +271,7 @@ class PasswordChangeForm( ): old_password = PasswordField(label=_('Old password')) new_password1 = NewPasswordField(label=_('New password')) - new_password2 = CheckPasswordField(label=_("New password confirmation")) + new_password2 = CheckPasswordField(label=_('New password confirmation')) old_password.widget.attrs.update({'autocomplete': 'current-password'}) diff --git a/src/authentic2/forms/profile.py b/src/authentic2/forms/profile.py index f92cc804c..27f30f8af 100644 --- a/src/authentic2/forms/profile.py +++ b/src/authentic2/forms/profile.py @@ -36,7 +36,7 @@ class EmailChangeFormNoPassword(forms.Form): class EmailChangeForm(EmailChangeFormNoPassword): - password = forms.CharField(label=_("Password"), widget=forms.PasswordInput) + password = forms.CharField(label=_('Password'), widget=forms.PasswordInput) def clean_email(self): email = self.cleaned_data['email'] @@ -45,7 +45,7 @@ class EmailChangeForm(EmailChangeFormNoPassword): return email def clean_password(self): - password = self.cleaned_data["password"] + password = self.cleaned_data['password'] if not self.user.check_password(password): raise forms.ValidationError( _('Incorrect password.'), @@ -63,7 +63,7 @@ class PhoneChangeFormNoPassword(forms.Form): class PhoneChangeForm(PhoneChangeFormNoPassword): - password = forms.CharField(label=_("Password"), widget=forms.PasswordInput) + password = forms.CharField(label=_('Password'), widget=forms.PasswordInput) def __init__(self, *args, **kwargs): self.authenticator = kwargs.pop('password_authenticator') @@ -80,7 +80,7 @@ class PhoneChangeForm(PhoneChangeFormNoPassword): return phone def clean_password(self): - password = self.cleaned_data["password"] + password = self.cleaned_data['password'] if not self.user.check_password(password): raise forms.ValidationError( _('Incorrect password.'), @@ -91,7 +91,7 @@ class PhoneChangeForm(PhoneChangeFormNoPassword): class BaseUserForm(LockedFieldFormMixin, forms.ModelForm): error_messages = { - 'duplicate_username': _("A user with that username already exists."), + 'duplicate_username': _('A user with that username already exists.'), } def __init__(self, *args, **kwargs): diff --git a/src/authentic2/forms/registration.py b/src/authentic2/forms/registration.py index a4b141355..a345572eb 100644 --- a/src/authentic2/forms/registration.py +++ b/src/authentic2/forms/registration.py @@ -169,7 +169,7 @@ class RegistrationCompletionFormNoPassword(profile_forms.BaseUserForm): class RegistrationCompletionForm(RegistrationCompletionFormNoPassword): password1 = NewPasswordField(label=_('Password')) - password2 = CheckPasswordField(label=_("Password (again)")) + password2 = CheckPasswordField(label=_('Password (again)')) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/src/authentic2/forms/widgets.py b/src/authentic2/forms/widgets.py index bdebf092c..e397531ca 100644 --- a/src/authentic2/forms/widgets.py +++ b/src/authentic2/forms/widgets.py @@ -150,7 +150,7 @@ class PickerWidgetMixin: def render(self, name, value, attrs=None, renderer=None): attrs = attrs or {} final_attrs = self.build_attrs(attrs) - final_attrs['class'] = "controls input-append date" + final_attrs['class'] = 'controls input-append date' rendered_widget = super().render(name, value, attrs=final_attrs, renderer=renderer) # if not set, autoclose have to be true. @@ -159,9 +159,9 @@ class PickerWidgetMixin: # Build javascript options out of python dictionary options_list = [] for key, value in iter(self.options.items()): - options_list.append("%s: %s" % (key, json.dumps(value))) + options_list.append('%s: %s' % (key, json.dumps(value))) - js_options = ",\n".join(options_list) + js_options = ',\n'.join(options_list) # Use provided id or generate hex to avoid collisions in document id = final_attrs.get('id', uuid.uuid4().hex) @@ -318,7 +318,7 @@ class CheckPasswordInput(PasswordInput): class ProfileImageInput(ClearableFileInput): - template_name = "authentic2/profile_image_input.html" + template_name = 'authentic2/profile_image_input.html' def __init__(self, *args, **kwargs): attrs = kwargs.pop('attrs', {}) diff --git a/src/authentic2/hashers.py b/src/authentic2/hashers.py index 62e6230ae..a7ef74995 100644 --- a/src/authentic2/hashers.py +++ b/src/authentic2/hashers.py @@ -32,7 +32,7 @@ class Drupal7PasswordHasher(hashers.BasePasswordHasher): Secure password hashing using the algorithm used by Drupal 7 (recommended) """ - algorithm = "drupal7_sha512" + algorithm = 'drupal7_sha512' iterations = 10000 digest = hashlib.sha512 alphabet = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' @@ -85,7 +85,7 @@ class Drupal7PasswordHasher(hashers.BasePasswordHasher): password = password.encode() for dummy in range(iterations + 1): h = self.digest(h + password).digest() - return "%s$%d$%s$%s" % (self.algorithm, iterations, salt, self.b64encode(h)[:43]) + return '%s$%d$%s$%s' % (self.algorithm, iterations, salt, self.b64encode(h)[:43]) def verify(self, password, encoded): algorithm, iterations, salt, dummy = encoded.split('$', 3) @@ -118,7 +118,7 @@ class CommonPasswordHasher(hashers.BasePasswordHasher): assert password assert '$' not in salt hash = self.digest(force_bytes(salt + password)).hexdigest() - return "%s$%s$%s" % (self.algorithm, salt, hash) + return '%s$%s$%s' % (self.algorithm, salt, hash) def verify(self, password, encoded): algorithm, salt, dummy_hash = encoded.split('$', 2) @@ -173,7 +173,7 @@ class OpenLDAPPasswordHasher(CommonPasswordHasher): assert b'$' not in salt hash = self.digest(force_bytes(password + salt)).hexdigest() salt = force_str(hexlify(salt), encoding='ascii') - return "%s$%s$%s" % (self.algorithm, salt, hash) + return '%s$%s$%s' % (self.algorithm, salt, hash) def verify(self, password, encoded): algorithm, salt, hash = encoded.split('$', 2) @@ -224,7 +224,7 @@ class JoomlaPasswordHasher(CommonPasswordHasher): assert b'$' not in salt hash = self.digest(force_bytes(password) + salt).hexdigest() salt = force_str(hexlify(force_bytes(salt)), encoding='ascii') - return "%s$md5$%s$%s" % (self.algorithm, salt, hash) + return '%s$md5$%s$%s' % (self.algorithm, salt, hash) def verify(self, password, encoded): algorithm, dummy_subalgo, salt, dummy_hash = encoded.split('$', 3) @@ -272,7 +272,7 @@ class PloneSHA1PasswordHasher(hashers.SHA1PasswordHasher): Plone uses `password + salt`, Django has `salt + password`. """ - algorithm = "plonesha1" + algorithm = 'plonesha1' _prefix = '{SSHA}' def encode(self, password, salt): @@ -283,7 +283,7 @@ class PloneSHA1PasswordHasher(hashers.SHA1PasswordHasher): salt = force_bytes(salt) hashed = base64.b64encode(hashlib.sha1(password + salt).digest() + salt) - return "%s$%s%s" % (self.algorithm, self._prefix, force_str(hashed)) + return '%s$%s%s' % (self.algorithm, self._prefix, force_str(hashed)) def verify(self, password, encoded): """Verify the given password against the encoded string.""" diff --git a/src/authentic2/idp/interactions.py b/src/authentic2/idp/interactions.py index c16e52281..33f4f3cec 100644 --- a/src/authentic2/idp/interactions.py +++ b/src/authentic2/idp/interactions.py @@ -23,7 +23,7 @@ from django.shortcuts import render def consent_federation(request, nonce='', provider_id=None): """On a GET produce a form asking for consentment, On a POST handle the form and redirect to next""" - if request.method == "GET": + if request.method == 'GET': return render( request, 'interaction/consent_federation.html', diff --git a/src/authentic2/idp/saml/backend.py b/src/authentic2/idp/saml/backend.py index be773fe14..3af2c02a4 100644 --- a/src/authentic2/idp/saml/backend.py +++ b/src/authentic2/idp/saml/backend.py @@ -97,9 +97,9 @@ class SamlBackend: def logout_list(self, request): all_sessions = models.LibertySession.objects.filter(django_session_key=request.session.session_key) - self.logger.debug("all_sessions %r", all_sessions) + self.logger.debug('all_sessions %r', all_sessions) provider_ids = {s.provider_id for s in all_sessions} - self.logger.debug("provider_ids %r", provider_ids) + self.logger.debug('provider_ids %r', provider_ids) result = [] for provider_id in provider_ids: name = provider_id diff --git a/src/authentic2/idp/saml/saml2_endpoints.py b/src/authentic2/idp/saml/saml2_endpoints.py index 3fa27552e..d05278aaf 100644 --- a/src/authentic2/idp/saml/saml2_endpoints.py +++ b/src/authentic2/idp/saml/saml2_endpoints.py @@ -513,7 +513,7 @@ def sso(request): For SOAP a session must be established previously through the login page. No authentication through the SOAP request is supported. """ - if request.method == "GET": + if request.method == 'GET': logger.debug('called by GET') consent_answer = request.GET.get('consent_answer', '') if consent_answer: @@ -544,14 +544,14 @@ def sso(request): extra={'request': request}, ) return HttpResponseBadRequest( - _("SAMLv2 Single Sign On: invalid message for WebSSO profile with HTTP-Redirect binding"), + _('SAMLv2 Single Sign On: invalid message for WebSSO profile with HTTP-Redirect binding'), content_type='text/plain', ) except lasso.ProfileInvalidProtocolprofileError: log_info_authn_request_details(login) message = _( - "SAMLv2 Single Sign On: the request cannot be answered because no valid protocol binding" - " could be found" + 'SAMLv2 Single Sign On: the request cannot be answered because no valid protocol binding' + ' could be found' ) logger.warning('the request cannot be answered because no valid protocol binding could be found') return HttpResponseBadRequest(message, content_type='text/plain') @@ -689,7 +689,7 @@ def need_consent_for_federation(request, login, nid_format): def continue_sso(request): consent_answer = None consent_attribute_answer = None - if request.method == "GET": + if request.method == 'GET': logger.debug('called by GET') consent_answer = request.GET.get('consent_answer', '') if consent_answer: diff --git a/src/authentic2/management/commands/clean-unused-accounts.py b/src/authentic2/management/commands/clean-unused-accounts.py index 5ec2ab4fc..17ad4cb26 100644 --- a/src/authentic2/management/commands/clean-unused-accounts.py +++ b/src/authentic2/management/commands/clean-unused-accounts.py @@ -49,7 +49,7 @@ class Command(BaseCommand): } def add_arguments(self, parser): - parser.add_argument("--fake", action='store_true', help='do nothing', default=False) + parser.add_argument('--fake', action='store_true', help='do nothing', default=False) def handle(self, *args, **options): self.fake = options['fake'] diff --git a/src/authentic2/management/commands/import_site.py b/src/authentic2/management/commands/import_site.py index 31d4f3936..5ea992f1c 100644 --- a/src/authentic2/management/commands/import_site.py +++ b/src/authentic2/management/commands/import_site.py @@ -68,7 +68,7 @@ class Command(BaseCommand): def handle(self, filename, **options): translation.activate(settings.LANGUAGE_CODE) dry_run = options['dry_run'] - msg = "Dry run\n" if dry_run else "Real run\n" + msg = 'Dry run\n' if dry_run else 'Real run\n' c_kwargs = create_context_args(options) try: with open(filename) as f: @@ -80,5 +80,5 @@ class Command(BaseCommand): except DryRunException: pass sys.stdout.write(result.to_str()) - sys.stdout.write("Success\n") + sys.stdout.write('Success\n') translation.deactivate() diff --git a/src/authentic2/management/commands/load-ldif.py b/src/authentic2/management/commands/load-ldif.py index 6977b3885..5ebaa4319 100644 --- a/src/authentic2/management/commands/load-ldif.py +++ b/src/authentic2/management/commands/load-ldif.py @@ -111,7 +111,7 @@ class Command(BaseCommand): '''Load LDAP ldif file''' can_import_django_settings = True - requires_system_checks = "__all__" + requires_system_checks = '__all__' help = 'Load/update LDIF files as users' def add_arguments(self, parser): diff --git a/src/authentic2/management/commands/resetpassword.py b/src/authentic2/management/commands/resetpassword.py index 5018c28fe..a3a5b7651 100644 --- a/src/authentic2/management/commands/resetpassword.py +++ b/src/authentic2/management/commands/resetpassword.py @@ -41,10 +41,10 @@ class Command(BaseCommand): help='Specifies the database to use. Default is "default".', ) - def _get_pass(self, prompt="Password: "): + def _get_pass(self, prompt='Password: '): p = getpass.getpass(prompt=prompt) if not p: - raise CommandError("aborted") + raise CommandError('aborted') return p def handle(self, *args, **options): diff --git a/src/authentic2/manager/forms.py b/src/authentic2/manager/forms.py index fb59b8476..fc0acb71c 100644 --- a/src/authentic2/manager/forms.py +++ b/src/authentic2/manager/forms.py @@ -145,8 +145,8 @@ class ChooseUserAuthorizationsForm(CssClass, forms.Form): class UserEditForm(LimitQuerysetFormMixin, CssClass, BaseUserForm): - css_class = "user-form" - form_id = "id_user_edit_form" + css_class = 'user-form' + form_id = 'id_user_edit_form' def __init__(self, *args, **kwargs): request = kwargs.get('request') @@ -193,8 +193,8 @@ class UserChangePasswordForm(CssClass, forms.ModelForm): require_password = True def clean_password2(self): - password1 = self.cleaned_data.get("password1") - password2 = self.cleaned_data.get("password2") + password1 = self.cleaned_data.get('password1') + password2 = self.cleaned_data.get('password2') if password1 and password2 and password1 != password2: raise forms.ValidationError( self.error_messages['password_mismatch'], @@ -232,7 +232,7 @@ class UserChangePasswordForm(CssClass, forms.ModelForm): new_password = generate_password() self.cleaned_data['send_mail'] = True elif self.cleaned_data.get('password1'): - new_password = self.cleaned_data["password1"] + new_password = self.cleaned_data['password1'] if new_password: user.set_password(new_password) @@ -252,8 +252,8 @@ class UserChangePasswordForm(CssClass, forms.ModelForm): return user generate_password = forms.BooleanField(initial=False, label=_('Generate new password'), required=False) - password1 = NewPasswordField(label=_("Password"), required=False) - password2 = CheckPasswordField(label=_("Confirmation"), required=False) + password1 = NewPasswordField(label=_('Password'), required=False) + password2 = CheckPasswordField(label=_('Confirmation'), required=False) send_mail = forms.BooleanField(initial=False, label=_('Send informations to user'), required=False) def __init__(self, **kwargs): @@ -266,8 +266,8 @@ class UserChangePasswordForm(CssClass, forms.ModelForm): class UserAddForm(UserChangePasswordForm, UserEditForm): - css_class = "user-form" - form_id = "id_user_add_form" + css_class = 'user-form' + form_id = 'id_user_add_form' require_password = False notification_template_prefix = 'authentic2/manager/new-account-notification' @@ -417,7 +417,7 @@ class OUSearchForm(FormWithRequest): # get possible OUs from this list related_query_name = self.queryset.model._meta.get_field('ou').related_query_name() objects_ou_qs = OrganizationalUnit.objects.filter( - **{"%s__in" % related_query_name: self.queryset} + **{'%s__in' % related_query_name: self.queryset} ).distinct() # to combine queryset with distinct, each queryset must have the distinct flag self.ou_qs = self.ou_qs.distinct() | objects_ou_qs diff --git a/src/authentic2/manager/role_views.py b/src/authentic2/manager/role_views.py index f626ba0da..e15baa29e 100644 --- a/src/authentic2/manager/role_views.py +++ b/src/authentic2/manager/role_views.py @@ -816,8 +816,8 @@ class UserOrRoleSelect2View(DetailView): return JsonResponse( { - "results": [self.get_choice(obj) for obj in list(role_page) + list(user_page)], - "more": has_next, + 'results': [self.get_choice(obj) for obj in list(role_page) + list(user_page)], + 'more': has_next, } ) diff --git a/src/authentic2/manager/tables.py b/src/authentic2/manager/tables.py index b2b09dca6..8230a7f11 100644 --- a/src/authentic2/manager/tables.py +++ b/src/authentic2/manager/tables.py @@ -36,7 +36,7 @@ TABLES_MAJOR_VERSION = int(tables.__version__.split('.', maxsplit=1)[0]) class Table(tables.Table): class Meta: - row_attrs = {"data-pk": lambda record: record.pk} + row_attrs = {'data-pk': lambda record: record.pk} class PermissionLinkColumn(tables.LinkColumn): @@ -98,12 +98,12 @@ class UserTable(Table): args=[A('pk')], order_by=('last_name', 'first_name', 'email', 'username'), text=lambda record: record.get_full_name(), - attrs={"td": {"class": "link"}}, + attrs={'td': {'class': 'link'}}, ) username = tables.Column( attrs={ - "td": {"class": "username"}, - "th": {"class": "username orderable"}, + 'td': {'class': 'username'}, + 'th': {'class': 'username orderable'}, } ) email = VerifiableEmailColumn() @@ -119,18 +119,18 @@ class UserTable(Table): class RoleMembersTable(UserTable): direct = tables.BooleanColumn( - verbose_name=_('Direct member'), orderable=False, attrs={"td": {"class": "direct"}} + verbose_name=_('Direct member'), orderable=False, attrs={'td': {'class': 'direct'}} ) via = tables.TemplateColumn( '{% for role in record.via %}{{ role' ' }}{% if not forloop.last %}, {% endif %}{% endfor %}', verbose_name=_('Inherited from'), orderable=False, - attrs={"td": {"class": "via"}}, + attrs={'td': {'class': 'via'}}, ) class Meta(UserTable.Meta): - row_attrs = {"data-pk": lambda record: 'user-%s' % record.pk} + row_attrs = {'data-pk': lambda record: 'user-%s' % record.pk} class UserOrRoleColumn(UserLinkColumn): @@ -146,13 +146,13 @@ class MixedUserRoleTable(Table): verbose_name=_('Members'), text=str, orderable=False, - attrs={"td": {"class": "name"}}, + attrs={'td': {'class': 'name'}}, ) class Meta(Table.Meta): attrs = {'class': 'main clickable-rows', 'id': 'user-table'} row_attrs = { - "data-pk": lambda record: '%s-%s' % ('user' if isinstance(record, User) else 'role', record.pk) + 'data-pk': lambda record: '%s-%s' % ('user' if isinstance(record, User) else 'role', record.pk) } @@ -162,12 +162,12 @@ class RoleTable(Table): kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label'), - attrs={"td": {"class": "name"}}, + attrs={'td': {'class': 'name'}}, ) ou = tables.Column() - slug = tables.Column(attrs={"td": {"class": "slug"}}) + slug = tables.Column(attrs={'td': {'class': 'slug'}}) member_count = tables.Column( - verbose_name=_('Direct member count'), orderable=False, attrs={"td": {"class": "member_count"}} + verbose_name=_('Direct member count'), orderable=False, attrs={'td': {'class': 'member_count'}} ) def render_name(self, record, bound_column): @@ -192,10 +192,10 @@ class OUTable(Table): kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label'), - attrs={"td": {"class": "name"}}, + attrs={'td': {'class': 'name'}}, ) - slug = tables.Column(attrs={"td": {"class": "slug"}}) - default = tables.BooleanColumn(attrs={"td": {"class": "default"}}) + slug = tables.Column(attrs={'td': {'class': 'slug'}}) + default = tables.BooleanColumn(attrs={'td': {'class': 'default'}}) class Meta(Table.Meta): model = OrganizationalUnit @@ -210,13 +210,13 @@ class OuUserRolesTable(Table): kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label'), - attrs={"td": {"class": "name"}}, + attrs={'td': {'class': 'name'}}, ) via = tables.TemplateColumn( '''{% for rel in record.via %}{{ rel.child }} {% if not forloop.last %}, {% endif %}{% endfor %}''', verbose_name=_('Inherited from'), orderable=False, - attrs={"td": {"class": "via"}}, + attrs={'td': {'class': 'via'}}, ) member = tables.TemplateColumn( '{%% load i18n %%}', verbose_name='', - attrs={"td": {"class": "member"}}, + attrs={'td': {'class': 'member'}}, ) class Meta(Table.Meta): diff --git a/src/authentic2/manager/user_export.py b/src/authentic2/manager/user_export.py index 23d206da9..e8743c2f2 100644 --- a/src/authentic2/manager/user_export.py +++ b/src/authentic2/manager/user_export.py @@ -51,9 +51,9 @@ def get_user_dataset(qs): return '' if hasattr(rec, 'strftime'): if isinstance(rec, datetime.datetime): - _format = "%Y-%m-%d %H:%M:%S" + _format = '%Y-%m-%d %H:%M:%S' else: - _format = "%Y-%m-%d" + _format = '%Y-%m-%d' return rec.strftime(_format) return rec diff --git a/src/authentic2/manager/views.py b/src/authentic2/manager/views.py index fce7fdc71..772e2c7a3 100644 --- a/src/authentic2/manager/views.py +++ b/src/authentic2/manager/views.py @@ -129,7 +129,7 @@ class PermissionMixin: return self.permission_model.objects.get(pk=self.kwargs[self.permission_pk_url_kwarg]) except self.permission_model.DoesNotExist: raise Http404( - gettext("No %(verbose_name)s found matching the query") + gettext('No %(verbose_name)s found matching the query') % {'verbose_name': self.permission_model._meta.verbose_name} ) elif hasattr(self, 'get_object') and ( @@ -751,7 +751,7 @@ homepage = HomepageView.as_view() class TechnicalInformationView(TitleMixin, MediaMixin, TemplateView): template_name = 'authentic2/manager/tech_info.html' - title = _("Technical information") + title = _('Technical information') def get(self, request, *args, **kwargs): if not request.user.is_superuser: diff --git a/src/authentic2/middleware.py b/src/authentic2/middleware.py index fae155f1a..199023fd7 100644 --- a/src/authentic2/middleware.py +++ b/src/authentic2/middleware.py @@ -208,7 +208,7 @@ class XForwardedForMiddleware(MiddlewareMixin): def process_request(self, request): if 'x-forwarded-for' in request.headers: - request.META['REMOTE_ADDR'] = request.headers['X-Forwarded-For'].split(",")[0].strip() + request.META['REMOTE_ADDR'] = request.headers['X-Forwarded-For'].split(',')[0].strip() return None diff --git a/src/authentic2/migrations/0001_initial.py b/src/authentic2/migrations/0001_initial.py index 2d5256fac..2e605aa2d 100644 --- a/src/authentic2/migrations/0001_initial.py +++ b/src/authentic2/migrations/0001_initial.py @@ -157,7 +157,7 @@ class Migration(migrations.Migration): default=300, help_text=( "if iframe logout is used, it's the time between the onload event for this iframe" - " and the moment we consider its loading to be really finished" + ' and the moment we consider its loading to be really finished' ), verbose_name='iframe logout timeout (ms)', ), diff --git a/src/authentic2/migrations/0028_trigram_unaccent_index.py b/src/authentic2/migrations/0028_trigram_unaccent_index.py index 900c005b2..e018fd096 100644 --- a/src/authentic2/migrations/0028_trigram_unaccent_index.py +++ b/src/authentic2/migrations/0028_trigram_unaccent_index.py @@ -11,18 +11,18 @@ class Migration(migrations.Migration): operations = [ migrations.RunSQL( sql=[ - "CREATE EXTENSION IF NOT EXISTS unaccent SCHEMA public", - "CREATE EXTENSION IF NOT EXISTS pg_trgm SCHEMA public", - "CREATE OR REPLACE FUNCTION public.immutable_unaccent(text) RETURNS varchar AS $$ SELECT" + 'CREATE EXTENSION IF NOT EXISTS unaccent SCHEMA public', + 'CREATE EXTENSION IF NOT EXISTS pg_trgm SCHEMA public', + 'CREATE OR REPLACE FUNCTION public.immutable_unaccent(text) RETURNS varchar AS $$ SELECT' " public.unaccent('public.unaccent',$1::text); $$ LANGUAGE 'sql' IMMUTABLE", - "CREATE INDEX custom_user_name_gist_idx ON custom_user_user USING gist" + 'CREATE INDEX custom_user_name_gist_idx ON custom_user_user USING gist' " (LOWER(public.immutable_unaccent(first_name || ' ' || last_name)) public.gist_trgm_ops)", ], reverse_sql=[ - "DROP INDEX IF EXISTS custom_user_name_gist_idx", - "DROP FUNCTION IF EXISTS public.immutable_unaccent(text)", - "DROP EXTENSION IF EXISTS pg_trgm", - "DROP EXTENSION IF EXISTS unaccent", + 'DROP INDEX IF EXISTS custom_user_name_gist_idx', + 'DROP FUNCTION IF EXISTS public.immutable_unaccent(text)', + 'DROP EXTENSION IF EXISTS pg_trgm', + 'DROP EXTENSION IF EXISTS unaccent', ], ), ] diff --git a/src/authentic2/migrations/0030_clean_admin_tools_tables.py b/src/authentic2/migrations/0030_clean_admin_tools_tables.py index 7ccff853c..719b9764d 100644 --- a/src/authentic2/migrations/0030_clean_admin_tools_tables.py +++ b/src/authentic2/migrations/0030_clean_admin_tools_tables.py @@ -11,7 +11,7 @@ def clean_admin_tools_tables(apps, schema_editor): try: with schema_editor.connection.cursor() as cursor: cursor.execute( - "SELECT table_name FROM information_schema.tables WHERE table_schema = current_schema() AND" + 'SELECT table_name FROM information_schema.tables WHERE table_schema = current_schema() AND' " table_name LIKE 'admin_tools%'" ) rows = cursor.fetchall() diff --git a/src/authentic2/migrations/__init__.py b/src/authentic2/migrations/__init__.py index 5b7ae5ded..eead52e24 100644 --- a/src/authentic2/migrations/__init__.py +++ b/src/authentic2/migrations/__init__.py @@ -86,7 +86,7 @@ class CreatePartialIndexes(Operation): schema_editor.execute('DROP INDEX IF EXISTS "%s_%s"' % (self.index_name, i)) def describe(self): - return "Create partial indexes" + return 'Create partial indexes' class DropPartialIndexes(CreatePartialIndexes): @@ -102,4 +102,4 @@ class DropPartialIndexes(CreatePartialIndexes): super().database_forwards(app_label, schema_editor, from_state, to_state) def describe(self): - return "Drop partial indexes" + return 'Drop partial indexes' diff --git a/src/authentic2/saml/common.py b/src/authentic2/saml/common.py index a3c109693..9f1bb76a9 100644 --- a/src/authentic2/saml/common.py +++ b/src/authentic2/saml/common.py @@ -42,15 +42,15 @@ from authentic2.utils.cache import RequestCache from .. import nonce -AUTHENTIC_STATUS_CODE_NS = "http://authentic.entrouvert.org/status_code/" +AUTHENTIC_STATUS_CODE_NS = 'http://authentic.entrouvert.org/status_code/' AUTHENTIC_SAME_ID_SENTINEL = 'urn:authentic.entrouvert.org:same-as-provider-entity-id' -AUTHENTIC_STATUS_CODE_UNKNOWN_PROVIDER = AUTHENTIC_STATUS_CODE_NS + "UnknownProvider" -AUTHENTIC_STATUS_CODE_MISSING_NAMEID = AUTHENTIC_STATUS_CODE_NS + "MissingNameID" -AUTHENTIC_STATUS_CODE_MISSING_SESSION_INDEX = AUTHENTIC_STATUS_CODE_NS + "MissingSessionIndex" -AUTHENTIC_STATUS_CODE_UNKNOWN_SESSION = AUTHENTIC_STATUS_CODE_NS + "UnknownSession" -AUTHENTIC_STATUS_CODE_MISSING_DESTINATION = AUTHENTIC_STATUS_CODE_NS + "MissingDestination" -AUTHENTIC_STATUS_CODE_INTERNAL_SERVER_ERROR = AUTHENTIC_STATUS_CODE_NS + "InternalServerError" -AUTHENTIC_STATUS_CODE_UNAUTHORIZED = AUTHENTIC_STATUS_CODE_NS + "Unauthorized" +AUTHENTIC_STATUS_CODE_UNKNOWN_PROVIDER = AUTHENTIC_STATUS_CODE_NS + 'UnknownProvider' +AUTHENTIC_STATUS_CODE_MISSING_NAMEID = AUTHENTIC_STATUS_CODE_NS + 'MissingNameID' +AUTHENTIC_STATUS_CODE_MISSING_SESSION_INDEX = AUTHENTIC_STATUS_CODE_NS + 'MissingSessionIndex' +AUTHENTIC_STATUS_CODE_UNKNOWN_SESSION = AUTHENTIC_STATUS_CODE_NS + 'UnknownSession' +AUTHENTIC_STATUS_CODE_MISSING_DESTINATION = AUTHENTIC_STATUS_CODE_NS + 'MissingDestination' +AUTHENTIC_STATUS_CODE_INTERNAL_SERVER_ERROR = AUTHENTIC_STATUS_CODE_NS + 'InternalServerError' +AUTHENTIC_STATUS_CODE_UNAUTHORIZED = AUTHENTIC_STATUS_CODE_NS + 'Unauthorized' logger = logging.getLogger(__name__) @@ -542,7 +542,7 @@ def soap_fault(request, faultcode='soap:Client', faultstring=None): ''' % locals() ) - return HttpResponse(content, content_type="text/xml") + return HttpResponse(content, content_type='text/xml') @RequestCache diff --git a/src/authentic2/saml/fields.py b/src/authentic2/saml/fields.py index b46c73a9f..cdab69061 100644 --- a/src/authentic2/saml/fields.py +++ b/src/authentic2/saml/fields.py @@ -128,7 +128,7 @@ class MultiSelectFormField(forms.MultipleChoiceField): class MultiSelectField(models.Field): def get_internal_type(self): - return "CharField" + return 'CharField' def get_choices_default(self): return self.get_choices(include_blank=False) @@ -153,7 +153,7 @@ class MultiSelectField(models.Field): if isinstance(value, str): return value elif isinstance(value, list): - return ",".join(value) + return ','.join(value) def validate(self, value, model_instance): out = set() @@ -170,7 +170,7 @@ class MultiSelectField(models.Field): return value if not value: return [] - return value.split(",") + return value.split(',') def from_db_value(self, value, expression, connection): return self.to_python(value) @@ -181,6 +181,6 @@ class MultiSelectField(models.Field): def func(self, fieldname=name, choicedict=None): choicedict = choicedict or dict(self.choices) - return ",".join([choicedict.get(value, value) for value in getattr(self, fieldname)]) + return ','.join([choicedict.get(value, value) for value in getattr(self, fieldname)]) setattr(cls, 'get_%s_display' % self.name, func) diff --git a/src/authentic2/saml/forms.py b/src/authentic2/saml/forms.py index 36b111d62..8344a6a7f 100644 --- a/src/authentic2/saml/forms.py +++ b/src/authentic2/saml/forms.py @@ -33,7 +33,7 @@ from .models import LibertyProvider, LibertyServiceProvider class AddLibertyProviderFromUrlForm(forms.Form): name = forms.CharField(max_length=140, label=_('Name')) slug = forms.SlugField( - max_length=140, label=_('Shortcut'), help_text=_("Internal nickname for the service provider") + max_length=140, label=_('Shortcut'), help_text=_('Internal nickname for the service provider') ) url = forms.URLField(label=_("Metadata's URL")) ou = forms.ModelChoiceField( diff --git a/src/authentic2/saml/management/commands/mapping.py b/src/authentic2/saml/management/commands/mapping.py index e51fe73f4..e78d173e4 100644 --- a/src/authentic2/saml/management/commands/mapping.py +++ b/src/authentic2/saml/management/commands/mapping.py @@ -66,2012 +66,2012 @@ def get_def_name_from_alias(alias): return key -ATTRIBUTE_NAMESPACES = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims",) +ATTRIBUTE_NAMESPACES = ('http://schemas.xmlsoap.org/ws/2005/05/identity/claims',) ATTRIBUTE_MAPPING = { # Extracted from openldap system schema - "top": { - "oid": "2.5.6.0", - "display_name": "top", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'top': { + 'oid': '2.5.6.0', + 'display_name': 'top', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "extensibleObject": { - "oid": "1.3.6.1.4.1.1466.101.120.111", - "display_name": "extensibleObject", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'extensibleObject': { + 'oid': '1.3.6.1.4.1.1466.101.120.111', + 'display_name': 'extensibleObject', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "alias": { - "oid": "2.5.6.1", - "display_name": "alias", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'alias': { + 'oid': '2.5.6.1', + 'display_name': 'alias', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "referral": { - "oid": "2.16.840.1.113730.3.2.6", - "display_name": "referral", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'referral': { + 'oid': '2.16.840.1.113730.3.2.6', + 'display_name': 'referral', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "OpenLDAProotDSE": { - "oid": "1.3.6.1.4.1.4203.1.4.1", - "display_name": "OpenLDAProotDSE LDAProotDSE", - "alias": ['LDAProotDSE'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'OpenLDAProotDSE': { + 'oid': '1.3.6.1.4.1.4203.1.4.1', + 'display_name': 'OpenLDAProotDSE LDAProotDSE', + 'alias': ['LDAProotDSE'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "subentry": { - "oid": "2.5.17.0", - "display_name": "subentry", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'subentry': { + 'oid': '2.5.17.0', + 'display_name': 'subentry', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "subschema": { - "oid": "2.5.20.1", - "display_name": "subschema", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'subschema': { + 'oid': '2.5.20.1', + 'display_name': 'subschema', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "collectiveAttributeSubentry": { - "oid": "2.5.17.2", - "display_name": "collectiveAttributeSubentry", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'collectiveAttributeSubentry': { + 'oid': '2.5.17.2', + 'display_name': 'collectiveAttributeSubentry', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "dynamicObject": { - "oid": "1.3.6.1.4.1.1466.101.119.2", - "display_name": "dynamicObject", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'dynamicObject': { + 'oid': '1.3.6.1.4.1.1466.101.119.2', + 'display_name': 'dynamicObject', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "glue": { - "oid": "1.3.6.1.4.1.4203.666.3.4", - "display_name": "glue", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'glue': { + 'oid': '1.3.6.1.4.1.4203.666.3.4', + 'display_name': 'glue', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "syncConsumerSubentry": { - "oid": "1.3.6.1.4.1.4203.666.3.5", - "display_name": "syncConsumerSubentry", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'syncConsumerSubentry': { + 'oid': '1.3.6.1.4.1.4203.666.3.5', + 'display_name': 'syncConsumerSubentry', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "syncProviderSubentry": { - "oid": "1.3.6.1.4.1.4203.666.3.6", - "display_name": "syncProviderSubentry", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'syncProviderSubentry': { + 'oid': '1.3.6.1.4.1.4203.666.3.6', + 'display_name': 'syncProviderSubentry', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "objectClass": { - "oid": "2.5.4.0", - "display_name": "objectClass", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'objectClass': { + 'oid': '2.5.4.0', + 'display_name': 'objectClass', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap system schema - "structuralObjectClass": { - "oid": "2.5.21.9", - "display_name": "structuralObjectClass", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'structuralObjectClass': { + 'oid': '2.5.21.9', + 'display_name': 'structuralObjectClass', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap system schema - "createTimestamp": { - "oid": "2.5.18.1", - "display_name": "createTimestamp", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.24", + 'createTimestamp': { + 'oid': '2.5.18.1', + 'display_name': 'createTimestamp', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.24', }, # Extracted from openldap system schema - "modifyTimestamp": { - "oid": "2.5.18.2", - "display_name": "modifyTimestamp", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.24", + 'modifyTimestamp': { + 'oid': '2.5.18.2', + 'display_name': 'modifyTimestamp', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.24', }, # Extracted from openldap system schema - "creatorsName": { - "oid": "2.5.18.3", - "display_name": "creatorsName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'creatorsName': { + 'oid': '2.5.18.3', + 'display_name': 'creatorsName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "modifiersName": { - "oid": "2.5.18.4", - "display_name": "modifiersName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'modifiersName': { + 'oid': '2.5.18.4', + 'display_name': 'modifiersName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "hasSubordinates": { - "oid": "2.5.18.9", - "display_name": "hasSubordinates", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.7", + 'hasSubordinates': { + 'oid': '2.5.18.9', + 'display_name': 'hasSubordinates', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.7', }, # Extracted from openldap system schema - "subschemaSubentry": { - "oid": "2.5.18.10", - "display_name": "subschemaSubentry", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'subschemaSubentry': { + 'oid': '2.5.18.10', + 'display_name': 'subschemaSubentry', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "collectiveAttributeSubentries": { - "oid": "2.5.18.12", - "display_name": "collectiveAttributeSubentries", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'collectiveAttributeSubentries': { + 'oid': '2.5.18.12', + 'display_name': 'collectiveAttributeSubentries', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "collectiveExclusions": { - "oid": "2.5.18.7", - "display_name": "collectiveExclusions", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'collectiveExclusions': { + 'oid': '2.5.18.7', + 'display_name': 'collectiveExclusions', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap system schema - "entryDN": { - "oid": "1.3.6.1.1.20", - "display_name": "entryDN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'entryDN': { + 'oid': '1.3.6.1.1.20', + 'display_name': 'entryDN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "entryUUID": { - "oid": "1.3.6.1.1.16.4", - "display_name": "entryUUID", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.1.16.1", + 'entryUUID': { + 'oid': '1.3.6.1.1.16.4', + 'display_name': 'entryUUID', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.1.16.1', }, # Extracted from openldap system schema - "entryCSN": { - "oid": "1.3.6.1.4.1.4203.666.1.7", - "display_name": "entryCSN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.666.11.2.1{64}", + 'entryCSN': { + 'oid': '1.3.6.1.4.1.4203.666.1.7', + 'display_name': 'entryCSN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.666.11.2.1{64}', }, # Extracted from openldap system schema - "namingCSN": { - "oid": "1.3.6.1.4.1.4203.666.1.13", - "display_name": "namingCSN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.666.11.2.1{64}", + 'namingCSN': { + 'oid': '1.3.6.1.4.1.4203.666.1.13', + 'display_name': 'namingCSN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.666.11.2.1{64}', }, # Extracted from openldap system schema - "superiorUUID": { - "oid": "1.3.6.1.4.1.4203.666.1.11", - "display_name": "superiorUUID", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.1.16.1", + 'superiorUUID': { + 'oid': '1.3.6.1.4.1.4203.666.1.11', + 'display_name': 'superiorUUID', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.1.16.1', }, # Extracted from openldap system schema - "syncreplCookie": { - "oid": "1.3.6.1.4.1.4203.666.1.23", - "display_name": "syncreplCookie", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.40", + 'syncreplCookie': { + 'oid': '1.3.6.1.4.1.4203.666.1.23', + 'display_name': 'syncreplCookie', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.40', }, # Extracted from openldap system schema - "contextCSN": { - "oid": "1.3.6.1.4.1.4203.666.1.25", - "display_name": "contextCSN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.666.11.2.1{64}", + 'contextCSN': { + 'oid': '1.3.6.1.4.1.4203.666.1.25', + 'display_name': 'contextCSN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.666.11.2.1{64}', }, # Extracted from openldap system schema - "syncTimestamp": { - "oid": "1.3.6.1.4.1.4203.666.1.26", - "display_name": "syncTimestamp", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.24", + 'syncTimestamp': { + 'oid': '1.3.6.1.4.1.4203.666.1.26', + 'display_name': 'syncTimestamp', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.24', }, # Extracted from openldap system schema - "altServer": { - "oid": "1.3.6.1.4.1.1466.101.120.6", - "display_name": "altServer", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'altServer': { + 'oid': '1.3.6.1.4.1.1466.101.120.6', + 'display_name': 'altServer', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap system schema - "namingContexts": { - "oid": "1.3.6.1.4.1.1466.101.120.5", - "display_name": "namingContexts", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'namingContexts': { + 'oid': '1.3.6.1.4.1.1466.101.120.5', + 'display_name': 'namingContexts', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "supportedControl": { - "oid": "1.3.6.1.4.1.1466.101.120.13", - "display_name": "supportedControl", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'supportedControl': { + 'oid': '1.3.6.1.4.1.1466.101.120.13', + 'display_name': 'supportedControl', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap system schema - "supportedExtension": { - "oid": "1.3.6.1.4.1.1466.101.120.7", - "display_name": "supportedExtension", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'supportedExtension': { + 'oid': '1.3.6.1.4.1.1466.101.120.7', + 'display_name': 'supportedExtension', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap system schema - "supportedLDAPVersion": { - "oid": "1.3.6.1.4.1.1466.101.120.15", - "display_name": "supportedLDAPVersion", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'supportedLDAPVersion': { + 'oid': '1.3.6.1.4.1.1466.101.120.15', + 'display_name': 'supportedLDAPVersion', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap system schema - "supportedSASLMechanisms": { - "oid": "1.3.6.1.4.1.1466.101.120.14", - "display_name": "supportedSASLMechanisms", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'supportedSASLMechanisms': { + 'oid': '1.3.6.1.4.1.1466.101.120.14', + 'display_name': 'supportedSASLMechanisms', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap system schema - "supportedFeatures": { - "oid": "1.3.6.1.4.1.4203.1.3.5", - "display_name": "supportedFeatures", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'supportedFeatures': { + 'oid': '1.3.6.1.4.1.4203.1.3.5', + 'display_name': 'supportedFeatures', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap system schema - "monitorContext": { - "oid": "1.3.6.1.4.1.4203.666.1.10", - "display_name": "monitorContext", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'monitorContext': { + 'oid': '1.3.6.1.4.1.4203.666.1.10', + 'display_name': 'monitorContext', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "configContext": { - "oid": "1.3.6.1.4.1.4203.1.12.2.1", - "display_name": "configContext", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'configContext': { + 'oid': '1.3.6.1.4.1.4203.1.12.2.1', + 'display_name': 'configContext', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "vendorName": { - "oid": "1.3.6.1.1.4", - "display_name": "vendorName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'vendorName': { + 'oid': '1.3.6.1.1.4', + 'display_name': 'vendorName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap system schema - "vendorVersion": { - "oid": "1.3.6.1.1.5", - "display_name": "vendorVersion", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'vendorVersion': { + 'oid': '1.3.6.1.1.5', + 'display_name': 'vendorVersion', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap system schema - "administrativeRole": { - "oid": "2.5.18.5", - "display_name": "administrativeRole", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'administrativeRole': { + 'oid': '2.5.18.5', + 'display_name': 'administrativeRole', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap system schema - "subtreeSpecification": { - "oid": "2.5.18.6", - "display_name": "subtreeSpecification", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.45", + 'subtreeSpecification': { + 'oid': '2.5.18.6', + 'display_name': 'subtreeSpecification', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.45', }, # Extracted from openldap system schema - "dITStructureRules": { - "oid": "2.5.21.1", - "display_name": "dITStructureRules", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.17", + 'dITStructureRules': { + 'oid': '2.5.21.1', + 'display_name': 'dITStructureRules', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.17', }, # Extracted from openldap system schema - "dITContentRules": { - "oid": "2.5.21.2", - "display_name": "dITContentRules", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.16", + 'dITContentRules': { + 'oid': '2.5.21.2', + 'display_name': 'dITContentRules', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.16', }, # Extracted from openldap system schema - "matchingRules": { - "oid": "2.5.21.4", - "display_name": "matchingRules", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.30", + 'matchingRules': { + 'oid': '2.5.21.4', + 'display_name': 'matchingRules', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.30', }, # Extracted from openldap system schema - "attributeTypes": { - "oid": "2.5.21.5", - "display_name": "attributeTypes", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.3", + 'attributeTypes': { + 'oid': '2.5.21.5', + 'display_name': 'attributeTypes', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.3', }, # Extracted from openldap system schema - "objectClasses": { - "oid": "2.5.21.6", - "display_name": "objectClasses", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.37", + 'objectClasses': { + 'oid': '2.5.21.6', + 'display_name': 'objectClasses', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.37', }, # Extracted from openldap system schema - "nameForms": { - "oid": "2.5.21.7", - "display_name": "nameForms", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.35", + 'nameForms': { + 'oid': '2.5.21.7', + 'display_name': 'nameForms', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.35', }, # Extracted from openldap system schema - "matchingRuleUse": { - "oid": "2.5.21.8", - "display_name": "matchingRuleUse", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.31", + 'matchingRuleUse': { + 'oid': '2.5.21.8', + 'display_name': 'matchingRuleUse', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.31', }, # Extracted from openldap system schema - "ldapSyntaxes": { - "oid": "1.3.6.1.4.1.1466.101.120.16", - "display_name": "ldapSyntaxes", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.54", + 'ldapSyntaxes': { + 'oid': '1.3.6.1.4.1.1466.101.120.16', + 'display_name': 'ldapSyntaxes', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.54', }, # Extracted from openldap system schema - "aliasedObjectName": { - "oid": "2.5.4.1", - "display_name": "aliasedObjectName aliasedEntryName", - "alias": ['aliasedEntryName'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'aliasedObjectName': { + 'oid': '2.5.4.1', + 'display_name': 'aliasedObjectName aliasedEntryName', + 'alias': ['aliasedEntryName'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "ref": { - "oid": "2.16.840.1.113730.3.1.34", - "display_name": "ref", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'ref': { + 'oid': '2.16.840.1.113730.3.1.34', + 'display_name': 'ref', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap system schema - "entry": { - "oid": "1.3.6.1.4.1.4203.1.3.1", - "display_name": "entry", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.1.1.1", + 'entry': { + 'oid': '1.3.6.1.4.1.4203.1.3.1', + 'display_name': 'entry', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.1.1.1', }, # Extracted from openldap system schema - "children": { - "oid": "1.3.6.1.4.1.4203.1.3.2", - "display_name": "children", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.1.1.1", + 'children': { + 'oid': '1.3.6.1.4.1.4203.1.3.2', + 'display_name': 'children', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.1.1.1', }, # Extracted from openldap system schema - "authzTo": { - "oid": "1.3.6.1.4.1.4203.666.1.8", - "display_name": "authzTo saslAuthzTo", - "alias": ['saslAuthzTo'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.666.2.7", + 'authzTo': { + 'oid': '1.3.6.1.4.1.4203.666.1.8', + 'display_name': 'authzTo saslAuthzTo', + 'alias': ['saslAuthzTo'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.666.2.7', }, # Extracted from openldap system schema - "authzFrom": { - "oid": "1.3.6.1.4.1.4203.666.1.9", - "display_name": "authzFrom saslAuthzFrom", - "alias": ['saslAuthzFrom'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.666.2.7", + 'authzFrom': { + 'oid': '1.3.6.1.4.1.4203.666.1.9', + 'display_name': 'authzFrom saslAuthzFrom', + 'alias': ['saslAuthzFrom'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.666.2.7', }, # Extracted from openldap system schema - "entryTtl": { - "oid": "1.3.6.1.4.1.1466.101.119.3", - "display_name": "entryTtl", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'entryTtl': { + 'oid': '1.3.6.1.4.1.1466.101.119.3', + 'display_name': 'entryTtl', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap system schema - "dynamicSubtrees": { - "oid": "1.3.6.1.4.1.1466.101.119.4", - "display_name": "dynamicSubtrees", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'dynamicSubtrees': { + 'oid': '1.3.6.1.4.1.1466.101.119.4', + 'display_name': 'dynamicSubtrees', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "distinguishedName": { - "oid": "2.5.4.49", - "display_name": "distinguishedName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'distinguishedName': { + 'oid': '2.5.4.49', + 'display_name': 'distinguishedName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap system schema - "name": { - "oid": "2.5.4.41", - "display_name": "name", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{32768}", + 'name': { + 'oid': '2.5.4.41', + 'display_name': 'name', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{32768}', }, # Extracted from openldap system schema - "cn": { - "oid": "2.5.4.3", - "display_name": "cn commonName", - "alias": ['commonName'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'cn': { + 'oid': '2.5.4.3', + 'display_name': 'cn commonName', + 'alias': ['commonName'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap system schema - "uid": { - "oid": "0.9.2342.19200300.100.1.1", - "display_name": "uid userid", - "alias": ['userid'], - "profile_field_name": 'username', - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'uid': { + 'oid': '0.9.2342.19200300.100.1.1', + 'display_name': 'uid userid', + 'alias': ['userid'], + 'profile_field_name': 'username', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap system schema - "uidNumber": { - "oid": "1.3.6.1.1.1.1.0", - "display_name": "uidNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'uidNumber': { + 'oid': '1.3.6.1.1.1.1.0', + 'display_name': 'uidNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap system schema - "gidNumber": { - "oid": "1.3.6.1.1.1.1.1", - "display_name": "gidNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'gidNumber': { + 'oid': '1.3.6.1.1.1.1.1', + 'display_name': 'gidNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap system schema - "userPassword": { - "oid": "2.5.4.35", - "display_name": "userPassword", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.40{128}", + 'userPassword': { + 'oid': '2.5.4.35', + 'display_name': 'userPassword', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.40{128}', }, # Extracted from openldap system schema - "labeledURI": { - "oid": "1.3.6.1.4.1.250.1.57", - "display_name": "labeledURI", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'labeledURI': { + 'oid': '1.3.6.1.4.1.250.1.57', + 'display_name': 'labeledURI', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap system schema - "authPassword": { - "oid": "1.3.6.1.4.1.4203.1.3.4", - "display_name": "authPassword", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.4203.1.1.2", + 'authPassword': { + 'oid': '1.3.6.1.4.1.4203.1.3.4', + 'display_name': 'authPassword', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.4203.1.1.2', }, # Extracted from openldap system schema - "supportedAuthPasswordSchemes": { - "oid": "1.3.6.1.4.1.4203.1.3.3", - "display_name": "supportedAuthPasswordSchemes", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{32}", + 'supportedAuthPasswordSchemes': { + 'oid': '1.3.6.1.4.1.4203.1.3.3', + 'display_name': 'supportedAuthPasswordSchemes', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{32}', }, # Extracted from openldap system schema - "description": { - "oid": "2.5.4.13", - "display_name": "description", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{1024}", + 'description': { + 'oid': '2.5.4.13', + 'display_name': 'description', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{1024}', }, # Extracted from openldap system schema - "seeAlso": { - "oid": "2.5.4.34", - "display_name": "seeAlso", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'seeAlso': { + 'oid': '2.5.4.34', + 'display_name': 'seeAlso', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "carLicense": { - "oid": "2.16.840.1.113730.3.1.1", - "display_name": "carLicense", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'carLicense': { + 'oid': '2.16.840.1.113730.3.1.1', + 'display_name': 'carLicense', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "departmentNumber": { - "oid": "2.16.840.1.113730.3.1.2", - "display_name": "departmentNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'departmentNumber': { + 'oid': '2.16.840.1.113730.3.1.2', + 'display_name': 'departmentNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "displayName": { - "oid": "2.16.840.1.113730.3.1.241", - "display_name": "displayName", - "profile_field_name": "get_full_name", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'displayName': { + 'oid': '2.16.840.1.113730.3.1.241', + 'display_name': 'displayName', + 'profile_field_name': 'get_full_name', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "employeeNumber": { - "oid": "2.16.840.1.113730.3.1.3", - "display_name": "employeeNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'employeeNumber': { + 'oid': '2.16.840.1.113730.3.1.3', + 'display_name': 'employeeNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "employeeType": { - "oid": "2.16.840.1.113730.3.1.4", - "display_name": "employeeType", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'employeeType': { + 'oid': '2.16.840.1.113730.3.1.4', + 'display_name': 'employeeType', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "jpegPhoto": { - "oid": "0.9.2342.19200300.100.1.60", - "display_name": "jpegPhoto", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.28", + 'jpegPhoto': { + 'oid': '0.9.2342.19200300.100.1.60', + 'display_name': 'jpegPhoto', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.28', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "preferredLanguage": { - "oid": "2.16.840.1.113730.3.1.39", - "display_name": "preferredLanguage", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'preferredLanguage': { + 'oid': '2.16.840.1.113730.3.1.39', + 'display_name': 'preferredLanguage', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "userSMIMECertificate": { - "oid": "2.16.840.1.113730.3.1.40", - "display_name": "userSMIMECertificate", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.5", + 'userSMIMECertificate': { + 'oid': '2.16.840.1.113730.3.1.40', + 'display_name': 'userSMIMECertificate', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.5', }, # Extracted from openldap schema /etc/ldap/schema/inetorgperson.ldif - "userPKCS12": { - "oid": "2.16.840.1.113730.3.1.216", - "display_name": "userPKCS12", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.5", + 'userPKCS12': { + 'oid': '2.16.840.1.113730.3.1.216', + 'display_name': 'userPKCS12', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.5', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "gecos": { - "oid": "1.3.6.1.1.1.1.2", - "display_name": "gecos", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'gecos': { + 'oid': '1.3.6.1.1.1.1.2', + 'display_name': 'gecos', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "homeDirectory": { - "oid": "1.3.6.1.1.1.1.3", - "display_name": "homeDirectory", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'homeDirectory': { + 'oid': '1.3.6.1.1.1.1.3', + 'display_name': 'homeDirectory', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "loginShell": { - "oid": "1.3.6.1.1.1.1.4", - "display_name": "loginShell", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'loginShell': { + 'oid': '1.3.6.1.1.1.1.4', + 'display_name': 'loginShell', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "shadowLastChange": { - "oid": "1.3.6.1.1.1.1.5", - "display_name": "shadowLastChange", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'shadowLastChange': { + 'oid': '1.3.6.1.1.1.1.5', + 'display_name': 'shadowLastChange', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "shadowMin": { - "oid": "1.3.6.1.1.1.1.6", - "display_name": "shadowMin", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'shadowMin': { + 'oid': '1.3.6.1.1.1.1.6', + 'display_name': 'shadowMin', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "shadowMax": { - "oid": "1.3.6.1.1.1.1.7", - "display_name": "shadowMax", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'shadowMax': { + 'oid': '1.3.6.1.1.1.1.7', + 'display_name': 'shadowMax', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "shadowWarning": { - "oid": "1.3.6.1.1.1.1.8", - "display_name": "shadowWarning", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'shadowWarning': { + 'oid': '1.3.6.1.1.1.1.8', + 'display_name': 'shadowWarning', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "shadowInactive": { - "oid": "1.3.6.1.1.1.1.9", - "display_name": "shadowInactive", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'shadowInactive': { + 'oid': '1.3.6.1.1.1.1.9', + 'display_name': 'shadowInactive', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "shadowExpire": { - "oid": "1.3.6.1.1.1.1.10", - "display_name": "shadowExpire", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'shadowExpire': { + 'oid': '1.3.6.1.1.1.1.10', + 'display_name': 'shadowExpire', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "shadowFlag": { - "oid": "1.3.6.1.1.1.1.11", - "display_name": "shadowFlag", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'shadowFlag': { + 'oid': '1.3.6.1.1.1.1.11', + 'display_name': 'shadowFlag', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "memberUid": { - "oid": "1.3.6.1.1.1.1.12", - "display_name": "memberUid", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'memberUid': { + 'oid': '1.3.6.1.1.1.1.12', + 'display_name': 'memberUid', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "memberNisNetgroup": { - "oid": "1.3.6.1.1.1.1.13", - "display_name": "memberNisNetgroup", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'memberNisNetgroup': { + 'oid': '1.3.6.1.1.1.1.13', + 'display_name': 'memberNisNetgroup', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "nisNetgroupTriple": { - "oid": "1.3.6.1.1.1.1.14", - "display_name": "nisNetgroupTriple", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.1.1.0.0", + 'nisNetgroupTriple': { + 'oid': '1.3.6.1.1.1.1.14', + 'display_name': 'nisNetgroupTriple', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.1.1.0.0', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "ipServicePort": { - "oid": "1.3.6.1.1.1.1.15", - "display_name": "ipServicePort", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'ipServicePort': { + 'oid': '1.3.6.1.1.1.1.15', + 'display_name': 'ipServicePort', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "ipServiceProtocolSUPname": { - "oid": "1.3.6.1.1.1.1.16", - "display_name": "ipServiceProtocolSUPname", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'ipServiceProtocolSUPname': { + 'oid': '1.3.6.1.1.1.1.16', + 'display_name': 'ipServiceProtocolSUPname', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "ipProtocolNumber": { - "oid": "1.3.6.1.1.1.1.17", - "display_name": "ipProtocolNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'ipProtocolNumber': { + 'oid': '1.3.6.1.1.1.1.17', + 'display_name': 'ipProtocolNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "oncRpcNumber": { - "oid": "1.3.6.1.1.1.1.18", - "display_name": "oncRpcNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'oncRpcNumber': { + 'oid': '1.3.6.1.1.1.1.18', + 'display_name': 'oncRpcNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "ipHostNumber": { - "oid": "1.3.6.1.1.1.1.19", - "display_name": "ipHostNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'ipHostNumber': { + 'oid': '1.3.6.1.1.1.1.19', + 'display_name': 'ipHostNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "ipNetworkNumber": { - "oid": "1.3.6.1.1.1.1.20", - "display_name": "ipNetworkNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'ipNetworkNumber': { + 'oid': '1.3.6.1.1.1.1.20', + 'display_name': 'ipNetworkNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "ipNetmaskNumber": { - "oid": "1.3.6.1.1.1.1.21", - "display_name": "ipNetmaskNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'ipNetmaskNumber': { + 'oid': '1.3.6.1.1.1.1.21', + 'display_name': 'ipNetmaskNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "macAddress": { - "oid": "1.3.6.1.1.1.1.22", - "display_name": "macAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'macAddress': { + 'oid': '1.3.6.1.1.1.1.22', + 'display_name': 'macAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "bootParameter": { - "oid": "1.3.6.1.1.1.1.23", - "display_name": "bootParameter", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.1.1.0.1", + 'bootParameter': { + 'oid': '1.3.6.1.1.1.1.23', + 'display_name': 'bootParameter', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.1.1.0.1', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "bootFile": { - "oid": "1.3.6.1.1.1.1.24", - "display_name": "bootFile", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'bootFile': { + 'oid': '1.3.6.1.1.1.1.24', + 'display_name': 'bootFile', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "nisMapNameSUPname": { - "oid": "1.3.6.1.1.1.1.26", - "display_name": "nisMapNameSUPname", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'nisMapNameSUPname': { + 'oid': '1.3.6.1.1.1.1.26', + 'display_name': 'nisMapNameSUPname', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/nis.ldif - "nisMapEntry": { - "oid": "1.3.6.1.1.1.1.27", - "display_name": "nisMapEntry", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{1024}", + 'nisMapEntry': { + 'oid': '1.3.6.1.1.1.1.27', + 'display_name': 'nisMapEntry', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{1024}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "knowledgeInformation": { - "oid": "2.5.4.2", - "display_name": "knowledgeInformation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{32768}", + 'knowledgeInformation': { + 'oid': '2.5.4.2', + 'display_name': 'knowledgeInformation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{32768}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "sn": { - "oid": "2.5.4.4", - "display_name": _("Last name") + "(sn surname)", - "alias": ['surname'], - "profile_field_name": 'last_name', - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", + 'sn': { + 'oid': '2.5.4.4', + 'display_name': _('Last name') + '(sn surname)', + 'alias': ['surname'], + 'profile_field_name': 'last_name', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname', ], - "friendly_names": [ - "Last Name", + 'friendly_names': [ + 'Last Name', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "serialNumber": { - "oid": "2.5.4.5", - "display_name": "serialNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.44{64}", + 'serialNumber': { + 'oid': '2.5.4.5', + 'display_name': 'serialNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.44{64}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "c": { - "oid": "2.5.4.6", - "display_name": "c countryName", - "alias": ['countryName'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'c': { + 'oid': '2.5.4.6', + 'display_name': 'c countryName', + 'alias': ['countryName'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "l": { - "oid": "2.5.4.7", - "display_name": "l localityName", - "alias": ['localityName'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality", + 'l': { + 'oid': '2.5.4.7', + 'display_name': 'l localityName', + 'alias': ['localityName'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/locality', ], - "friendly_names": [ - "Locality Name or City", + 'friendly_names': [ + 'Locality Name or City', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "st": { - "oid": "2.5.4.8", - "display_name": "st stateOrProvinceName", - "alias": ['stateOrProvinceName'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/stateorprovince", + 'st': { + 'oid': '2.5.4.8', + 'display_name': 'st stateOrProvinceName', + 'alias': ['stateOrProvinceName'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/stateorprovince', ], - "friendly_names": [ - "State or Province", + 'friendly_names': [ + 'State or Province', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "street": { - "oid": "2.5.4.9", - "display_name": "street streetAddress", - "alias": ['streetAddress'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress", + 'street': { + 'oid': '2.5.4.9', + 'display_name': 'street streetAddress', + 'alias': ['streetAddress'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress', ], - "friendly_names": [ - "Street Address", + 'friendly_names': [ + 'Street Address', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "o": { - "oid": "2.5.4.10", - "display_name": _("Organization") + "(o organizationName)", - "alias": ['organizationName'], - "profile_field_name": 'company', - "type": "http://www.w3.org/2001/XMLSchema#string", + 'o': { + 'oid': '2.5.4.10', + 'display_name': _('Organization') + '(o organizationName)', + 'alias': ['organizationName'], + 'profile_field_name': 'company', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "ou": { - "oid": "2.5.4.11", - "display_name": "ou organizationalUnitName", - "alias": ['organizationalUnitName'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'ou': { + 'oid': '2.5.4.11', + 'display_name': 'ou organizationalUnitName', + 'alias': ['organizationalUnitName'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "title": { - "oid": "2.5.4.12", - "display_name": "title", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'title': { + 'oid': '2.5.4.12', + 'display_name': 'title', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "searchGuide": { - "oid": "2.5.4.14", - "display_name": "searchGuide", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.25", + 'searchGuide': { + 'oid': '2.5.4.14', + 'display_name': 'searchGuide', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.25', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "businessCategory": { - "oid": "2.5.4.15", - "display_name": "businessCategory", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'businessCategory': { + 'oid': '2.5.4.15', + 'display_name': 'businessCategory', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "postalAddress": { - "oid": "2.5.4.16", - "display_name": _("Postal address") + "(postalAddress)", - "profile_field_name": 'postal_address', - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.41", + 'postalAddress': { + 'oid': '2.5.4.16', + 'display_name': _('Postal address') + '(postalAddress)', + 'profile_field_name': 'postal_address', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.41', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "postalCode": { - "oid": "2.5.4.17", - "display_name": "postalCode", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{40}", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode", + 'postalCode': { + 'oid': '2.5.4.17', + 'display_name': 'postalCode', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{40}', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode', ], - "friendly_names": [ - "Postal Code", + 'friendly_names': [ + 'Postal Code', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "postOfficeBox": { - "oid": "2.5.4.18", - "display_name": "postOfficeBox", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{40}", + 'postOfficeBox': { + 'oid': '2.5.4.18', + 'display_name': 'postOfficeBox', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{40}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "physicalDeliveryOfficeName": { - "oid": "2.5.4.19", - "display_name": "physicalDeliveryOfficeName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'physicalDeliveryOfficeName': { + 'oid': '2.5.4.19', + 'display_name': 'physicalDeliveryOfficeName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "telephoneNumber": { - "oid": "2.5.4.20", - "display_name": _("Phone") + "(telephoneNumber)", - "profile_field_name": 'phone', - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.50{32}", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone", + 'telephoneNumber': { + 'oid': '2.5.4.20', + 'display_name': _('Phone') + '(telephoneNumber)', + 'profile_field_name': 'phone', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.50{32}', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone', ], - "friendly_names": [ - "Secondary or Work Telephone Number", + 'friendly_names': [ + 'Secondary or Work Telephone Number', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "telexNumber": { - "oid": "2.5.4.21", - "display_name": "telexNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.52", + 'telexNumber': { + 'oid': '2.5.4.21', + 'display_name': 'telexNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.52', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "teletexTerminalIdentifier": { - "oid": "2.5.4.22", - "display_name": "teletexTerminalIdentifier", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.51", + 'teletexTerminalIdentifier': { + 'oid': '2.5.4.22', + 'display_name': 'teletexTerminalIdentifier', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.51', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "fax": { - "oid": "2.5.4.23", - "display_name": "fax facsimileTelephoneNumber", - "alias": ['facsimileTelephoneNumber'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'fax': { + 'oid': '2.5.4.23', + 'display_name': 'fax facsimileTelephoneNumber', + 'alias': ['facsimileTelephoneNumber'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "x121Address": { - "oid": "2.5.4.24", - "display_name": "x121Address", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.36{15}", + 'x121Address': { + 'oid': '2.5.4.24', + 'display_name': 'x121Address', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.36{15}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "internationaliSDNNumber": { - "oid": "2.5.4.25", - "display_name": "internationaliSDNNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.36{16}", + 'internationaliSDNNumber': { + 'oid': '2.5.4.25', + 'display_name': 'internationaliSDNNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.36{16}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "registeredAddress": { - "oid": "2.5.4.26", - "display_name": "registeredAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.41", + 'registeredAddress': { + 'oid': '2.5.4.26', + 'display_name': 'registeredAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.41', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "destinationIndicator": { - "oid": "2.5.4.27", - "display_name": "destinationIndicator", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.44{128}", + 'destinationIndicator': { + 'oid': '2.5.4.27', + 'display_name': 'destinationIndicator', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.44{128}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "preferredDeliveryMethod": { - "oid": "2.5.4.28", - "display_name": "preferredDeliveryMethod", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.14", + 'preferredDeliveryMethod': { + 'oid': '2.5.4.28', + 'display_name': 'preferredDeliveryMethod', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.14', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "presentationAddress": { - "oid": "2.5.4.29", - "display_name": "presentationAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.43", + 'presentationAddress': { + 'oid': '2.5.4.29', + 'display_name': 'presentationAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.43', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "supportedApplicationContext": { - "oid": "2.5.4.30", - "display_name": "supportedApplicationContext", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.38", + 'supportedApplicationContext': { + 'oid': '2.5.4.30', + 'display_name': 'supportedApplicationContext', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.38', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "member": { - "oid": "2.5.4.31", - "display_name": "member", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'member': { + 'oid': '2.5.4.31', + 'display_name': 'member', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "owner": { - "oid": "2.5.4.32", - "display_name": "owner", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'owner': { + 'oid': '2.5.4.32', + 'display_name': 'owner', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "roleOccupant": { - "oid": "2.5.4.33", - "display_name": "roleOccupant", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'roleOccupant': { + 'oid': '2.5.4.33', + 'display_name': 'roleOccupant', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "userCertificate": { - "oid": "2.5.4.36", - "display_name": "userCertificate", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.8", + 'userCertificate': { + 'oid': '2.5.4.36', + 'display_name': 'userCertificate', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.8', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "cACertificate": { - "oid": "2.5.4.37", - "display_name": "cACertificate", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.8", + 'cACertificate': { + 'oid': '2.5.4.37', + 'display_name': 'cACertificate', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.8', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "authorityRevocationList": { - "oid": "2.5.4.38", - "display_name": "authorityRevocationList", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.9", + 'authorityRevocationList': { + 'oid': '2.5.4.38', + 'display_name': 'authorityRevocationList', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.9', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "certificateRevocationList": { - "oid": "2.5.4.39", - "display_name": "certificateRevocationList", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.9", + 'certificateRevocationList': { + 'oid': '2.5.4.39', + 'display_name': 'certificateRevocationList', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.9', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "crossCertificatePair": { - "oid": "2.5.4.40", - "display_name": "crossCertificatePair", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.10", + 'crossCertificatePair': { + 'oid': '2.5.4.40', + 'display_name': 'crossCertificatePair', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.10', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "givenName": { - "oid": "2.5.4.42", - "display_name": _("First name") + "(gn givenName)", - "alias": ['gn'], - "profile_field_name": 'first_name', - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", + 'givenName': { + 'oid': '2.5.4.42', + 'display_name': _('First name') + '(gn givenName)', + 'alias': ['gn'], + 'profile_field_name': 'first_name', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname', ], - "friendly_names": [ - "First Name", + 'friendly_names': [ + 'First Name', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "initials": { - "oid": "2.5.4.43", - "display_name": "initials", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'initials': { + 'oid': '2.5.4.43', + 'display_name': 'initials', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "generationQualifier": { - "oid": "2.5.4.44", - "display_name": "generationQualifier", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'generationQualifier': { + 'oid': '2.5.4.44', + 'display_name': 'generationQualifier', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "x500UniqueIdentifier": { - "oid": "2.5.4.45", - "display_name": "x500UniqueIdentifier", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.6", + 'x500UniqueIdentifier': { + 'oid': '2.5.4.45', + 'display_name': 'x500UniqueIdentifier', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.6', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "dnQualifier": { - "oid": "2.5.4.46", - "display_name": "dnQualifier", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.44", + 'dnQualifier': { + 'oid': '2.5.4.46', + 'display_name': 'dnQualifier', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.44', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "enhancedSearchGuide": { - "oid": "2.5.4.47", - "display_name": "enhancedSearchGuide", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.21", + 'enhancedSearchGuide': { + 'oid': '2.5.4.47', + 'display_name': 'enhancedSearchGuide', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.21', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "protocolInformation": { - "oid": "2.5.4.48", - "display_name": "protocolInformation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.42", + 'protocolInformation': { + 'oid': '2.5.4.48', + 'display_name': 'protocolInformation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.42', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "uniqueMember": { - "oid": "2.5.4.50", - "display_name": "uniqueMember", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.34", + 'uniqueMember': { + 'oid': '2.5.4.50', + 'display_name': 'uniqueMember', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.34', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "houseIdentifier": { - "oid": "2.5.4.51", - "display_name": "houseIdentifier", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{32768}", + 'houseIdentifier': { + 'oid': '2.5.4.51', + 'display_name': 'houseIdentifier', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{32768}', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "supportedAlgorithms": { - "oid": "2.5.4.52", - "display_name": "supportedAlgorithms", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.49", + 'supportedAlgorithms': { + 'oid': '2.5.4.52', + 'display_name': 'supportedAlgorithms', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.49', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "deltaRevocationList": { - "oid": "2.5.4.53", - "display_name": "deltaRevocationList", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.9", + 'deltaRevocationList': { + 'oid': '2.5.4.53', + 'display_name': 'deltaRevocationList', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.9', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "dmdName": { - "oid": "2.5.4.54", - "display_name": "dmdName", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'dmdName': { + 'oid': '2.5.4.54', + 'display_name': 'dmdName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "pseudonym": { - "oid": "2.5.4.65", - "display_name": "pseudonym", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'pseudonym': { + 'oid': '2.5.4.65', + 'display_name': 'pseudonym', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "mail": { - "oid": "0.9.2342.19200300.100.1.3", - "display_name": "mail rfc822Mailbox", - "alias": ['rfc822Mailbox'], - "profile_field_name": 'email', - "type": "http://www.w3.org/2001/XMLSchema#string", + 'mail': { + 'oid': '0.9.2342.19200300.100.1.3', + 'display_name': 'mail rfc822Mailbox', + 'alias': ['rfc822Mailbox'], + 'profile_field_name': 'email', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "dc": { - "oid": "0.9.2342.19200300.100.1.25", - "display_name": "dc domainComponent", - "alias": ['domainComponent'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'dc': { + 'oid': '0.9.2342.19200300.100.1.25', + 'display_name': 'dc domainComponent', + 'alias': ['domainComponent'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "associatedDomain": { - "oid": "0.9.2342.19200300.100.1.37", - "display_name": "associatedDomain", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'associatedDomain': { + 'oid': '0.9.2342.19200300.100.1.37', + 'display_name': 'associatedDomain', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/core.ldif - "email": { - "oid": "1.2.840.113549.1.9.1", - "display_name": _("Email Address") + "(email pkcs9email emailAddress)", - "alias": ['pkcs9email', 'emailAddress'], - "profile_field_name": 'email', - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", + 'email': { + 'oid': '1.2.840.113549.1.9.1', + 'display_name': _('Email Address') + '(email pkcs9email emailAddress)', + 'alias': ['pkcs9email', 'emailAddress'], + 'profile_field_name': 'email', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress', ], - "friendly_names": [ - "Email Address", + 'friendly_names': [ + 'Email Address', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "textEncodedORAddress": { - "oid": "0.9.2342.19200300.100.1.2", - "display_name": "textEncodedORAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'textEncodedORAddress': { + 'oid': '0.9.2342.19200300.100.1.2', + 'display_name': 'textEncodedORAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "info": { - "oid": "0.9.2342.19200300.100.1.4", - "display_name": "info", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{2048}", + 'info': { + 'oid': '0.9.2342.19200300.100.1.4', + 'display_name': 'info', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{2048}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "drink": { - "oid": "0.9.2342.19200300.100.1.5", - "display_name": "drink favouriteDrink", - "alias": ['favouriteDrink'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'drink': { + 'oid': '0.9.2342.19200300.100.1.5', + 'display_name': 'drink favouriteDrink', + 'alias': ['favouriteDrink'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "roomNumber": { - "oid": "0.9.2342.19200300.100.1.6", - "display_name": "roomNumber", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'roomNumber': { + 'oid': '0.9.2342.19200300.100.1.6', + 'display_name': 'roomNumber', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "photo": { - "oid": "0.9.2342.19200300.100.1.7", - "display_name": "photo", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.23{25000}", + 'photo': { + 'oid': '0.9.2342.19200300.100.1.7', + 'display_name': 'photo', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.23{25000}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "userClass": { - "oid": "0.9.2342.19200300.100.1.8", - "display_name": "userClass", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'userClass': { + 'oid': '0.9.2342.19200300.100.1.8', + 'display_name': 'userClass', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "host": { - "oid": "0.9.2342.19200300.100.1.9", - "display_name": "host", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'host': { + 'oid': '0.9.2342.19200300.100.1.9', + 'display_name': 'host', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "manager": { - "oid": "0.9.2342.19200300.100.1.10", - "display_name": "manager", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'manager': { + 'oid': '0.9.2342.19200300.100.1.10', + 'display_name': 'manager', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "documentIdentifier": { - "oid": "0.9.2342.19200300.100.1.11", - "display_name": "documentIdentifier", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'documentIdentifier': { + 'oid': '0.9.2342.19200300.100.1.11', + 'display_name': 'documentIdentifier', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "documentTitle": { - "oid": "0.9.2342.19200300.100.1.12", - "display_name": "documentTitle", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'documentTitle': { + 'oid': '0.9.2342.19200300.100.1.12', + 'display_name': 'documentTitle', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "documentVersion": { - "oid": "0.9.2342.19200300.100.1.13", - "display_name": "documentVersion", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'documentVersion': { + 'oid': '0.9.2342.19200300.100.1.13', + 'display_name': 'documentVersion', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "documentAuthor": { - "oid": "0.9.2342.19200300.100.1.14", - "display_name": "documentAuthor", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'documentAuthor': { + 'oid': '0.9.2342.19200300.100.1.14', + 'display_name': 'documentAuthor', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "documentLocation": { - "oid": "0.9.2342.19200300.100.1.15", - "display_name": "documentLocation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'documentLocation': { + 'oid': '0.9.2342.19200300.100.1.15', + 'display_name': 'documentLocation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "homePhone": { - "oid": "0.9.2342.19200300.100.1.20", - "display_name": "homePhone homeTelephoneNumber", - "alias": ['homeTelephoneNumber'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone", + 'homePhone': { + 'oid': '0.9.2342.19200300.100.1.20', + 'display_name': 'homePhone homeTelephoneNumber', + 'alias': ['homeTelephoneNumber'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone', ], - "friendly_names": [ - "Primary or Home Telephone Number", + 'friendly_names': [ + 'Primary or Home Telephone Number', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "secretary": { - "oid": "0.9.2342.19200300.100.1.21", - "display_name": "secretary", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'secretary': { + 'oid': '0.9.2342.19200300.100.1.21', + 'display_name': 'secretary', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "otherMailbox": { - "oid": "0.9.2342.19200300.100.1.22", - "display_name": "otherMailbox", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'otherMailbox': { + 'oid': '0.9.2342.19200300.100.1.22', + 'display_name': 'otherMailbox', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "aRecord": { - "oid": "0.9.2342.19200300.100.1.26", - "display_name": "aRecord", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'aRecord': { + 'oid': '0.9.2342.19200300.100.1.26', + 'display_name': 'aRecord', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "mDRecord": { - "oid": "0.9.2342.19200300.100.1.27", - "display_name": "mDRecord", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'mDRecord': { + 'oid': '0.9.2342.19200300.100.1.27', + 'display_name': 'mDRecord', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "mXRecord": { - "oid": "0.9.2342.19200300.100.1.28", - "display_name": "mXRecord", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'mXRecord': { + 'oid': '0.9.2342.19200300.100.1.28', + 'display_name': 'mXRecord', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "nSRecord": { - "oid": "0.9.2342.19200300.100.1.29", - "display_name": "nSRecord", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'nSRecord': { + 'oid': '0.9.2342.19200300.100.1.29', + 'display_name': 'nSRecord', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "sOARecord": { - "oid": "0.9.2342.19200300.100.1.30", - "display_name": "sOARecord", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'sOARecord': { + 'oid': '0.9.2342.19200300.100.1.30', + 'display_name': 'sOARecord', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "cNAMERecord": { - "oid": "0.9.2342.19200300.100.1.31", - "display_name": "cNAMERecord", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26", + 'cNAMERecord': { + 'oid': '0.9.2342.19200300.100.1.31', + 'display_name': 'cNAMERecord', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "associatedName": { - "oid": "0.9.2342.19200300.100.1.38", - "display_name": "associatedName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'associatedName': { + 'oid': '0.9.2342.19200300.100.1.38', + 'display_name': 'associatedName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "homePostalAddress": { - "oid": "0.9.2342.19200300.100.1.39", - "display_name": "homePostalAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.41", + 'homePostalAddress': { + 'oid': '0.9.2342.19200300.100.1.39', + 'display_name': 'homePostalAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.41', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "personalTitle": { - "oid": "0.9.2342.19200300.100.1.40", - "display_name": "personalTitle", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'personalTitle': { + 'oid': '0.9.2342.19200300.100.1.40', + 'display_name': 'personalTitle', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "mobile": { - "oid": "0.9.2342.19200300.100.1.41", - "display_name": "mobile mobileTelephoneNumber", - "alias": ['mobileTelephoneNumber'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone", + 'mobile': { + 'oid': '0.9.2342.19200300.100.1.41', + 'display_name': 'mobile mobileTelephoneNumber', + 'alias': ['mobileTelephoneNumber'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/mobilephone', ], - "friendly_names": [ - "Mobile Telephone Number", + 'friendly_names': [ + 'Mobile Telephone Number', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "pager": { - "oid": "0.9.2342.19200300.100.1.42", - "display_name": "pager pagerTelephoneNumber", - "alias": ['pagerTelephoneNumber'], - "type": "http://www.w3.org/2001/XMLSchema#string", + 'pager': { + 'oid': '0.9.2342.19200300.100.1.42', + 'display_name': 'pager pagerTelephoneNumber', + 'alias': ['pagerTelephoneNumber'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "co": { - "oid": "0.9.2342.19200300.100.1.43", - "display_name": "co friendlyCountryName", - "alias": ['friendlyCountryName'], - "type": "http://www.w3.org/2001/XMLSchema#string", - "namespaces": { - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims": { - "identifiers": [ - "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country", + 'co': { + 'oid': '0.9.2342.19200300.100.1.43', + 'display_name': 'co friendlyCountryName', + 'alias': ['friendlyCountryName'], + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'namespaces': { + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims': { + 'identifiers': [ + 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country', ], - "friendly_names": [ - "Country", + 'friendly_names': [ + 'Country', ], } }, }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "uniqueIdentifier": { - "oid": "0.9.2342.19200300.100.1.44", - "display_name": "uniqueIdentifier", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'uniqueIdentifier': { + 'oid': '0.9.2342.19200300.100.1.44', + 'display_name': 'uniqueIdentifier', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "organizationalStatus": { - "oid": "0.9.2342.19200300.100.1.45", - "display_name": "organizationalStatus", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'organizationalStatus': { + 'oid': '0.9.2342.19200300.100.1.45', + 'display_name': 'organizationalStatus', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "janetMailbox": { - "oid": "0.9.2342.19200300.100.1.46", - "display_name": "janetMailbox", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{256}", + 'janetMailbox': { + 'oid': '0.9.2342.19200300.100.1.46', + 'display_name': 'janetMailbox', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "mailPreferenceOption": { - "oid": "0.9.2342.19200300.100.1.47", - "display_name": "mailPreferenceOption", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.27", + 'mailPreferenceOption': { + 'oid': '0.9.2342.19200300.100.1.47', + 'display_name': 'mailPreferenceOption', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.27', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "buildingName": { - "oid": "0.9.2342.19200300.100.1.48", - "display_name": "buildingName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'buildingName': { + 'oid': '0.9.2342.19200300.100.1.48', + 'display_name': 'buildingName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "dSAQuality": { - "oid": "0.9.2342.19200300.100.1.49", - "display_name": "dSAQuality", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.19", + 'dSAQuality': { + 'oid': '0.9.2342.19200300.100.1.49', + 'display_name': 'dSAQuality', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.19', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "singleLevelQuality": { - "oid": "0.9.2342.19200300.100.1.50", - "display_name": "singleLevelQuality", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.13", + 'singleLevelQuality': { + 'oid': '0.9.2342.19200300.100.1.50', + 'display_name': 'singleLevelQuality', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.13', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "subtreeMinimumQuality": { - "oid": "0.9.2342.19200300.100.1.51", - "display_name": "subtreeMinimumQuality", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.13", + 'subtreeMinimumQuality': { + 'oid': '0.9.2342.19200300.100.1.51', + 'display_name': 'subtreeMinimumQuality', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.13', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "subtreeMaximumQuality": { - "oid": "0.9.2342.19200300.100.1.52", - "display_name": "subtreeMaximumQuality", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.13", + 'subtreeMaximumQuality': { + 'oid': '0.9.2342.19200300.100.1.52', + 'display_name': 'subtreeMaximumQuality', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.13', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "personalSignature": { - "oid": "0.9.2342.19200300.100.1.53", - "display_name": "personalSignature", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.", + 'personalSignature': { + 'oid': '0.9.2342.19200300.100.1.53', + 'display_name': 'personalSignature', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "dITRedirect": { - "oid": "0.9.2342.19200300.100.1.54", - "display_name": "dITRedirect", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'dITRedirect': { + 'oid': '0.9.2342.19200300.100.1.54', + 'display_name': 'dITRedirect', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "audio": { - "oid": "0.9.2342.19200300.100.1.55", - "display_name": "audio", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.4{25000}", + 'audio': { + 'oid': '0.9.2342.19200300.100.1.55', + 'display_name': 'audio', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.4{25000}', }, # Extracted from openldap schema /etc/ldap/schema/cosine.ldif - "documentPublisher": { - "oid": "0.9.2342.19200300.100.1.56", - "display_name": "documentPublisher", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'documentPublisher': { + 'oid': '0.9.2342.19200300.100.1.56', + 'display_name': 'documentPublisher', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from openldap schema /etc/ldap/schema/misc.ldif - "mailLocalAddress": { - "oid": "2.16.840.1.113730.3.1.13", - "display_name": "mailLocalAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{256}", + 'mailLocalAddress': { + 'oid': '2.16.840.1.113730.3.1.13', + 'display_name': 'mailLocalAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{256}', }, # Extracted from openldap schema /etc/ldap/schema/misc.ldif - "mailHost": { - "oid": "2.16.840.1.113730.3.1.18", - "display_name": "mailHost", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{256}", + 'mailHost': { + 'oid': '2.16.840.1.113730.3.1.18', + 'display_name': 'mailHost', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{256}', }, # Extracted from openldap schema /etc/ldap/schema/misc.ldif - "mailRoutingAddress": { - "oid": "2.16.840.1.113730.3.1.47", - "display_name": "mailRoutingAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{256}", + 'mailRoutingAddress': { + 'oid': '2.16.840.1.113730.3.1.47', + 'display_name': 'mailRoutingAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{256}', }, # Extracted from openldap schema /etc/ldap/schema/misc.ldif - "rfc822MailMember": { - "oid": "1.3.6.1.4.1.42.2.27.2.1.15", - "display_name": "rfc822MailMember", - "type": "http://www.w3.org/2001/XMLSchema#string", + 'rfc822MailMember': { + 'oid': '1.3.6.1.4.1.42.2.27.2.1.15', + 'display_name': 'rfc822MailMember', + 'type': 'http://www.w3.org/2001/XMLSchema#string', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonAffiliation": { - "oid": "1.3.6.1.4.1.5923.1.1.1.1", - "display_name": "eduPersonAffiliation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonAffiliation': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.1', + 'display_name': 'eduPersonAffiliation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonNickname": { - "oid": "1.3.6.1.4.1.5923.1.1.1.2", - "display_name": "eduPersonNickname", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonNickname': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.2', + 'display_name': 'eduPersonNickname', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonOrgDN": { - "oid": "1.3.6.1.4.1.5923.1.1.1.3", - "display_name": "eduPersonOrgDN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'eduPersonOrgDN': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.3', + 'display_name': 'eduPersonOrgDN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonOrgUnitDN": { - "oid": "1.3.6.1.4.1.5923.1.1.1.4", - "display_name": "eduPersonOrgUnitDN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'eduPersonOrgUnitDN': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.4', + 'display_name': 'eduPersonOrgUnitDN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonPrimaryAffiliation": { - "oid": "1.3.6.1.4.1.5923.1.1.1.5", - "display_name": "eduPersonPrimaryAffiliation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonPrimaryAffiliation': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.5', + 'display_name': 'eduPersonPrimaryAffiliation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonPrincipalName": { - "oid": "1.3.6.1.4.1.5923.1.1.1.6", - "display_name": "eduPersonPrincipalName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonPrincipalName': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.6', + 'display_name': 'eduPersonPrincipalName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonEntitlement": { - "oid": "1.3.6.1.4.1.5923.1.1.1.7", - "display_name": "eduPersonEntitlement", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonEntitlement': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.7', + 'display_name': 'eduPersonEntitlement', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonPrimaryOrgUnitDN": { - "oid": "1.3.6.1.4.1.5923.1.1.1.8", - "display_name": "eduPersonPrimaryOrgUnitDN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'eduPersonPrimaryOrgUnitDN': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.8', + 'display_name': 'eduPersonPrimaryOrgUnitDN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonScopedAffiliation": { - "oid": "1.3.6.1.4.1.5923.1.1.1.9", - "display_name": "eduPersonScopedAffiliation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonScopedAffiliation': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.9', + 'display_name': 'eduPersonScopedAffiliation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonTargetedID": { - "oid": "1.3.6.1.4.1.5923.1.1.1.10", - "display_name": "eduPersonTargetedID", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonTargetedID': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.10', + 'display_name': 'eduPersonTargetedID', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduPerson schema in ldif format for OpenLDAP # last edited by Etan E. Weintraub on May 27, 2009 - "eduPersonAssurance": { - "oid": "1.3.6.1.4.1.5923.1.1.1.11", - "display_name": "eduPersonAssurance", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduPersonAssurance': { + 'oid': '1.3.6.1.4.1.5923.1.1.1.11', + 'display_name': 'eduPersonAssurance', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduOrg schema in ldif format # eduOrg Objectclass version 1.1 (2002-10-23) - "eduOrgHomePageURI": { - "oid": ":1.3.6.1.4.1.5923.1.2.1.2", - "display_name": "eduOrgHomePageURI", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduOrgHomePageURI': { + 'oid': ':1.3.6.1.4.1.5923.1.2.1.2', + 'display_name': 'eduOrgHomePageURI', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduOrg schema in ldif format # eduOrg Objectclass version 1.1 (2002-10-23) - "eduOrgIdentityAuthNPolicyURI": { - "oid": ":1.3.6.1.4.1.5923.1.2.1.3", - "display_name": "eduOrgIdentityAuthNPolicyURI", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduOrgIdentityAuthNPolicyURI': { + 'oid': ':1.3.6.1.4.1.5923.1.2.1.3', + 'display_name': 'eduOrgIdentityAuthNPolicyURI', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduOrg schema in ldif format # eduOrg Objectclass version 1.1 (2002-10-23) - "eduOrgLegalName": { - "oid": ":1.3.6.1.4.1.5923.1.2.1.4", - "display_name": "eduOrgLegalName", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduOrgLegalName': { + 'oid': ':1.3.6.1.4.1.5923.1.2.1.4', + 'display_name': 'eduOrgLegalName', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduOrg schema in ldif format # eduOrg Objectclass version 1.1 (2002-10-23) - "eduOrgSuperiorURI": { - "oid": ":1.3.6.1.4.1.5923.1.2.1.5", - "display_name": "eduOrgSuperiorURI", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduOrgSuperiorURI': { + 'oid': ':1.3.6.1.4.1.5923.1.2.1.5', + 'display_name': 'eduOrgSuperiorURI', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from eduOrg schema in ldif format # eduOrg Objectclass version 1.1 (2002-10-23) - "eduOrgWhitePagesURI": { - "oid": ":1.3.6.1.4.1.5923.1.2.1.6", - "display_name": "eduOrgWhitePagesURI", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'eduOrgWhitePagesURI': { + 'oid': ':1.3.6.1.4.1.5923.1.2.1.6', + 'display_name': 'eduOrgWhitePagesURI', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannListeRouge": { - "oid": "1.3.6.1.4.1.7135.1.2.1.1", - "display_name": "supannListeRouge", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.7", + 'supannListeRouge': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.1', + 'display_name': 'supannListeRouge', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.7', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannActivite": { - "oid": "1.3.6.1.4.1.7135.1.2.1.2", - "display_name": "supannActivite", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannActivite': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.2', + 'display_name': 'supannActivite', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannOrganisme": { - "oid": "1.3.6.1.4.1.7135.1.2.1.3", - "display_name": "supannOrganisme", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannOrganisme': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.3', + 'display_name': 'supannOrganisme', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannCivilite": { - "oid": "1.3.6.1.4.1.7135.1.2.1.4", - "display_name": "supannCivilite", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.44{32}", + 'supannCivilite': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.4', + 'display_name': 'supannCivilite', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.44{32}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannAffectation": { - "oid": "1.3.6.1.4.1.7135.1.2.1.5", - "display_name": "supannAffectation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannAffectation': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.5', + 'display_name': 'supannAffectation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannCodeEntite": { - "oid": "1.3.6.1.4.1.7135.1.2.1.6", - "display_name": "supannCodeEntite", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'supannCodeEntite': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.6', + 'display_name': 'supannCodeEntite', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannCodeEntiteParent": { - "oid": "1.3.6.1.4.1.7135.1.2.1.7", - "display_name": "supannCodeEntiteParent", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'supannCodeEntiteParent': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.7', + 'display_name': 'supannCodeEntiteParent', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEntiteAffectation": { - "oid": "1.3.6.1.4.1.7135.1.2.1.8", - "display_name": "supannEntiteAffectation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'supannEntiteAffectation': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.8', + 'display_name': 'supannEntiteAffectation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannCodeINE": { - "oid": "1.3.6.1.4.1.7135.1.2.1.9", - "display_name": "supannCodeINE", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.44{128}", + 'supannCodeINE': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.9', + 'display_name': 'supannCodeINE', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.44{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuId": { - "oid": "1.3.6.1.4.1.7135.1.2.1.10", - "display_name": "supannEtuId", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuId': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.10', + 'display_name': 'supannEtuId', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEmpId": { - "oid": "1.3.6.1.4.1.7135.1.2.1.11", - "display_name": "supannEmpId", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEmpId': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.11', + 'display_name': 'supannEmpId', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannAutreTelephone": { - "oid": "1.3.6.1.4.1.7135.1.2.1.12", - "display_name": "supannAutreTelephone", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.50", + 'supannAutreTelephone': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.12', + 'display_name': 'supannAutreTelephone', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.50', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEntiteAffectationPrincipale": { - "oid": "1.3.6.1.4.1.7135.1.2.1.13", - "display_name": "supannEntiteAffectationPrincipale", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{128}", + 'supannEntiteAffectationPrincipale': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.13', + 'display_name': 'supannEntiteAffectationPrincipale', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtablissement": { - "oid": "1.3.6.1.4.1.7135.1.2.1.14", - "display_name": "supannEtablissement", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtablissement': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.14', + 'display_name': 'supannEtablissement', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannMailPerso": { - "oid": "1.3.6.1.4.1.7135.1.2.1.15", - "display_name": "supannMailPerso", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{256}", + 'supannMailPerso': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.15', + 'display_name': 'supannMailPerso', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{256}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannTypeEntite": { - "oid": "1.3.6.1.4.1.7135.1.2.1.16", - "display_name": "supannTypeEntite", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannTypeEntite': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.16', + 'display_name': 'supannTypeEntite', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannParrainDN": { - "oid": "1.3.6.1.4.1.7135.1.2.1.17", - "display_name": "supannParrainDN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'supannParrainDN': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.17', + 'display_name': 'supannParrainDN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannGroupeDateFin": { - "oid": "1.3.6.1.4.1.7135.1.2.1.18", - "display_name": "supannGroupeDateFin", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.24", + 'supannGroupeDateFin': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.18', + 'display_name': 'supannGroupeDateFin', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.24', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannGroupeAdminDN": { - "oid": "1.3.6.1.4.1.7135.1.2.1.19", - "display_name": "supannGroupeAdminDN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'supannGroupeAdminDN': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.19', + 'display_name': 'supannGroupeAdminDN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannAliasLogin": { - "oid": "1.3.6.1.4.1.7135.1.2.1.20", - "display_name": "supannAliasLogin", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannAliasLogin': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.20', + 'display_name': 'supannAliasLogin', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannRole": { - "oid": "1.3.6.1.4.1.7135.1.2.1.21", - "display_name": "supannRole", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannRole': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.21', + 'display_name': 'supannRole', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannGroupeLecteurDN": { - "oid": "1.3.6.1.4.1.7135.1.2.1.22", - "display_name": "supannGroupeLecteurDN", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.12", + 'supannGroupeLecteurDN': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.22', + 'display_name': 'supannGroupeLecteurDN', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.12', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannRoleGenerique": { - "oid": "1.3.6.1.4.1.7135.1.2.1.23", - "display_name": "supannRoleGenerique", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{256}", + 'supannRoleGenerique': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.23', + 'display_name': 'supannRoleGenerique', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{256}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannRoleEntite": { - "oid": "1.3.6.1.4.1.7135.1.2.1.24", - "display_name": "supannRoleEntite", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{512}", + 'supannRoleEntite': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.24', + 'display_name': 'supannRoleEntite', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{512}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuAnneeInscription": { - "oid": "1.3.6.1.4.1.7135.1.2.1.25", - "display_name": "supannEtuAnneeInscription", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.36{4}", + 'supannEtuAnneeInscription': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.25', + 'display_name': 'supannEtuAnneeInscription', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.36{4}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuCursusAnnee": { - "oid": "1.3.6.1.4.1.7135.1.2.1.26", - "display_name": "supannEtuCursusAnnee", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuCursusAnnee': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.26', + 'display_name': 'supannEtuCursusAnnee', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuDiplome": { - "oid": "1.3.6.1.4.1.7135.1.2.1.27", - "display_name": "supannEtuDiplome", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuDiplome': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.27', + 'display_name': 'supannEtuDiplome', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuElementPedagogique": { - "oid": "1.3.6.1.4.1.7135.1.2.1.28", - "display_name": "supannEtuElementPedagogique", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuElementPedagogique': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.28', + 'display_name': 'supannEtuElementPedagogique', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuEtape": { - "oid": "1.3.6.1.4.1.7135.1.2.1.29", - "display_name": "supannEtuEtape", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuEtape': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.29', + 'display_name': 'supannEtuEtape', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuInscription": { - "oid": "1.3.6.1.4.1.7135.1.2.1.30", - "display_name": "supannEtuInscription", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{4096}", + 'supannEtuInscription': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.30', + 'display_name': 'supannEtuInscription', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{4096}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuRegimeInscription": { - "oid": "1.3.6.1.4.1.7135.1.2.1.31", - "display_name": "supannEtuRegimeInscription", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuRegimeInscription': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.31', + 'display_name': 'supannEtuRegimeInscription', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuSecteurDisciplinaire": { - "oid": "1.3.6.1.4.1.7135.1.2.1.32", - "display_name": "supannEtuSecteurDisciplinaire", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuSecteurDisciplinaire': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.32', + 'display_name': 'supannEtuSecteurDisciplinaire', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEtuTypeDiplome": { - "oid": "1.3.6.1.4.1.7135.1.2.1.33", - "display_name": "supannEtuTypeDiplome", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEtuTypeDiplome': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.33', + 'display_name': 'supannEtuTypeDiplome', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannAutreMail": { - "oid": "1.3.6.1.4.1.7135.1.2.1.34", - "display_name": "supannAutreMail", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.26{256}", + 'supannAutreMail': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.34', + 'display_name': 'supannAutreMail', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.26{256}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannEmpCorps": { - "oid": "1.3.6.1.4.1.7135.1.2.1.35", - "display_name": "supannEmpCorps", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannEmpCorps': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.35', + 'display_name': 'supannEmpCorps', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannTypeEntiteAffectation": { - "oid": "1.3.6.1.4.1.7135.1.2.1.36", - "display_name": "supannTypeEntiteAffectation", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannTypeEntiteAffectation': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.36', + 'display_name': 'supannTypeEntiteAffectation', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # Extracted from version 389 Directory Server du schema # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "supannRefId": { - "oid": "1.3.6.1.4.1.7135.1.2.1.37", - "display_name": "supannRefId", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'supannRefId': { + 'oid': '1.3.6.1.4.1.7135.1.2.1.37', + 'display_name': 'supannRefId', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # SupAnn version 2009.6 # http://www.cru.fr/_media/documentation/supann/supann_2009.schema.txt - "mailForwardingAddress": { - "oid": "2.16.840.1.113730.3.1.17", - "display_name": "mailForwardingAddress", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'mailForwardingAddress': { + 'oid': '2.16.840.1.113730.3.1.17', + 'display_name': 'mailForwardingAddress', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, # macedir.org for eduGain - "schacHomeOrganization": { - "oid": "1.3.6.1.4.1.25178.1.2.9", - "display_name": "The persons home organization using the domain of the organization", - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'schacHomeOrganization': { + 'oid': '1.3.6.1.4.1.25178.1.2.9', + 'display_name': 'The persons home organization using the domain of the organization', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, # macedir .org or eduGain - "schacHomeOrganizationType": { - "oid": "1.3.6.1.4.1.25178.1.2.10", - "display_name": ( + 'schacHomeOrganizationType': { + 'oid': '1.3.6.1.4.1.25178.1.2.10', + 'display_name': ( "Identifies the type of organisation specified in the person's schacHomeOrganization attribute." ), - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15", + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15', }, - "role": { - "oid": "1.3.6.1.4.1.36560.42.1", - "display_name": "Role", - "profile_field_name": 'groups', - "type": "http://www.w3.org/2001/XMLSchema#string", - "syntax": "1.3.6.1.4.1.1466.115.121.1.15{128}", + 'role': { + 'oid': '1.3.6.1.4.1.36560.42.1', + 'display_name': 'Role', + 'profile_field_name': 'groups', + 'type': 'http://www.w3.org/2001/XMLSchema#string', + 'syntax': '1.3.6.1.4.1.1466.115.121.1.15{128}', }, } diff --git a/src/authentic2/saml/management/commands/sync-metadata.py b/src/authentic2/saml/management/commands/sync-metadata.py index 8f4ac6f2a..302bb4514 100644 --- a/src/authentic2/saml/management/commands/sync-metadata.py +++ b/src/authentic2/saml/management/commands/sync-metadata.py @@ -255,7 +255,7 @@ class Command(BaseCommand): can_import_django_settings = True output_transaction = True - requires_system_checks = "__all__" + requires_system_checks = '__all__' help = 'Load the specified SAMLv2 metadata file' diff --git a/src/authentic2/saml/migrations/0001_initial.py b/src/authentic2/saml/migrations/0001_initial.py index a4dc03d44..32fe7df87 100644 --- a/src/authentic2/saml/migrations/0001_initial.py +++ b/src/authentic2/saml/migrations/0001_initial.py @@ -692,7 +692,7 @@ class Migration(migrations.Migration): default=300, help_text=( "if iframe logout is used, it's the time between the onload event for this iframe" - " and the moment we consider its loading to be really finished" + ' and the moment we consider its loading to be really finished' ), verbose_name='iframe logout timeout', ), diff --git a/src/authentic2/saml/models.py b/src/authentic2/saml/models.py index 60ad7f2c5..77cfc70d4 100644 --- a/src/authentic2/saml/models.py +++ b/src/authentic2/saml/models.py @@ -127,35 +127,35 @@ NAME_ID_FORMATS = collections.OrderedDict( ( 'transient', { - 'caption': _("Transient"), + 'caption': _('Transient'), 'samlv2': lasso.SAML2_NAME_IDENTIFIER_FORMAT_TRANSIENT, }, ), ( 'email', { - 'caption': _("Email"), + 'caption': _('Email'), 'samlv2': lasso.SAML2_NAME_IDENTIFIER_FORMAT_EMAIL, }, ), ( 'username', { - 'caption': _("Username (use with Google Apps)"), + 'caption': _('Username (use with Google Apps)'), 'samlv2': lasso.SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED, }, ), ( 'uuid', { - 'caption': _("UUID"), + 'caption': _('UUID'), 'samlv2': lasso.SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED, }, ), ( 'edupersontargetedid', { - 'caption': _("Use eduPersonTargetedID attribute"), + 'caption': _('Use eduPersonTargetedID attribute'), 'samlv2': lasso.SAML2_NAME_IDENTIFIER_FORMAT_PERSISTENT, }, ), @@ -222,16 +222,16 @@ class SPOptionsIdPPolicy(models.Model): name = models.CharField(_('name'), max_length=80, unique=True) enabled = models.BooleanField(verbose_name=_('Enabled'), default=False, db_index=True) prefered_assertion_consumer_binding = models.CharField( - verbose_name=_("Prefered assertion consumer binding"), + verbose_name=_('Prefered assertion consumer binding'), default='meta', max_length=4, choices=ASSERTION_CONSUMER_PROFILES, ) - encrypt_nameid = models.BooleanField(verbose_name=_("Encrypt NameID"), default=False) - encrypt_assertion = models.BooleanField(verbose_name=_("Encrypt Assertion"), default=False) - authn_request_signed = models.BooleanField(verbose_name=_("Authentication request signed"), default=False) + encrypt_nameid = models.BooleanField(verbose_name=_('Encrypt NameID'), default=False) + encrypt_assertion = models.BooleanField(verbose_name=_('Encrypt Assertion'), default=False) + authn_request_signed = models.BooleanField(verbose_name=_('Authentication request signed'), default=False) idp_initiated_sso = models.BooleanField( - verbose_name=_("Allow IdP initiated SSO"), default=False, db_index=True + verbose_name=_('Allow IdP initiated SSO'), default=False, db_index=True ) # XXX: format in the metadata file, should be suffixed with a star to mark # them as special @@ -239,7 +239,7 @@ class SPOptionsIdPPolicy(models.Model): max_length=256, default=DEFAULT_NAME_ID_FORMAT, choices=NAME_ID_FORMATS_CHOICES ) accepted_name_id_format = MultiSelectField( - verbose_name=_("NameID formats accepted"), + verbose_name=_('NameID formats accepted'), max_length=1024, blank=True, choices=NAME_ID_FORMATS_CHOICES, @@ -251,9 +251,9 @@ class SPOptionsIdPPolicy(models.Model): verbose_name=_('Ask user for consent when creating a federation'), default=False ) accept_slo = models.BooleanField( - verbose_name=_("Accept to receive Single Logout requests"), default=True, db_index=True + verbose_name=_('Accept to receive Single Logout requests'), default=True, db_index=True ) - forward_slo = models.BooleanField(verbose_name=_("Forward Single Logout requests"), default=True) + forward_slo = models.BooleanField(verbose_name=_('Forward Single Logout requests'), default=True) needs_iframe_logout = models.BooleanField( verbose_name=_('needs iframe logout'), help_text=_( @@ -271,7 +271,7 @@ class SPOptionsIdPPolicy(models.Model): default=300, ) http_method_for_slo_request = models.IntegerField( - verbose_name=_("HTTP binding for the SLO requests"), + verbose_name=_('HTTP binding for the SLO requests'), choices=HTTP_METHOD, default=lasso.HTTP_METHOD_REDIRECT, ) @@ -473,7 +473,7 @@ class LibertyServiceProvider(models.Model): ) sp_options_policy = models.ForeignKey( SPOptionsIdPPolicy, - related_name="sp_options_policy", + related_name='sp_options_policy', verbose_name=_('service provider options policy'), blank=True, null=True, @@ -556,11 +556,11 @@ class LibertyFederation(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=models.SET_NULL) sp = models.ForeignKey('LibertyServiceProvider', null=True, blank=True, on_delete=models.CASCADE) - name_id_format = models.CharField(max_length=100, verbose_name="NameIDFormat", blank=True, null=True) - name_id_content = models.CharField(max_length=100, verbose_name="NameID") - name_id_qualifier = models.CharField(max_length=256, verbose_name="NameQualifier", blank=True, null=True) + name_id_format = models.CharField(max_length=100, verbose_name='NameIDFormat', blank=True, null=True) + name_id_content = models.CharField(max_length=100, verbose_name='NameID') + name_id_qualifier = models.CharField(max_length=256, verbose_name='NameQualifier', blank=True, null=True) name_id_sp_name_qualifier = models.CharField( - max_length=256, verbose_name="SPNameQualifier", blank=True, null=True + max_length=256, verbose_name='SPNameQualifier', blank=True, null=True ) termination_notified = models.BooleanField(blank=True, default=False) creation = models.DateTimeField(auto_now_add=True) @@ -599,8 +599,8 @@ class LibertyFederation(models.Model): return not qs.exists() class Meta: - verbose_name = _("SAML federation") - verbose_name_plural = _("SAML federations") + verbose_name = _('SAML federation') + verbose_name_plural = _('SAML federations') def __str__(self): return str(self.name_id_content) @@ -613,10 +613,10 @@ class LibertySession(models.Model): session_index = models.CharField(max_length=80) provider_id = models.CharField(max_length=256) federation = models.ForeignKey(LibertyFederation, blank=True, null=True, on_delete=models.CASCADE) - name_id_qualifier = models.CharField(max_length=256, verbose_name=_("Qualifier"), null=True) - name_id_format = models.CharField(max_length=100, verbose_name=_("NameIDFormat"), null=True) - name_id_content = models.CharField(max_length=100, verbose_name=_("NameID")) - name_id_sp_name_qualifier = models.CharField(max_length=256, verbose_name=_("SPNameQualifier"), null=True) + name_id_qualifier = models.CharField(max_length=256, verbose_name=_('Qualifier'), null=True) + name_id_format = models.CharField(max_length=100, verbose_name=_('NameIDFormat'), null=True) + name_id_content = models.CharField(max_length=100, verbose_name=_('NameID')) + name_id_sp_name_qualifier = models.CharField(max_length=256, verbose_name=_('SPNameQualifier'), null=True) creation = models.DateTimeField(auto_now_add=True) objects = managers.LibertySessionManager() @@ -654,8 +654,8 @@ class LibertySession(models.Model): return '' % self.__dict__ class Meta: - verbose_name = _("SAML session") - verbose_name_plural = _("SAML sessions") + verbose_name = _('SAML session') + verbose_name_plural = _('SAML sessions') indexes = [ models.Index(fields=['provider_id', 'django_session_key']), ] @@ -672,8 +672,8 @@ class KeyValue(models.Model): return str(self.key) class Meta: - verbose_name = _("key value association") - verbose_name_plural = _("key value associations") + verbose_name = _('key value association') + verbose_name_plural = _('key value associations') def save_key_values(key, *values): diff --git a/src/authentic2/saml/saml2utils.py b/src/authentic2/saml/saml2utils.py index cbf3465e6..cf5209505 100644 --- a/src/authentic2/saml/saml2utils.py +++ b/src/authentic2/saml/saml2utils.py @@ -275,7 +275,7 @@ def iso8601_to_datetime(date_string): m = re.match(r'(\d+-\d+-\d+T\d+:\d+:\d+)(?:\.\d+)?Z$', date_string) if not m: raise ValueError('Invalid ISO8601 date') - tm = time.strptime(m.group(1) + 'Z', "%Y-%m-%dT%H:%M:%SZ") + tm = time.strptime(m.group(1) + 'Z', '%Y-%m-%dT%H:%M:%SZ') return datetime.datetime.fromtimestamp(time.mktime(tm)) diff --git a/src/authentic2/saml/shibboleth/afp_parser.py b/src/authentic2/saml/shibboleth/afp_parser.py index 979c4b8cd..f7b5f104f 100644 --- a/src/authentic2/saml/shibboleth/afp_parser.py +++ b/src/authentic2/saml/shibboleth/afp_parser.py @@ -50,11 +50,11 @@ def parse_attribute_filters_file(path): def fixqname(element, qname): - prefix, local = qname.split(":") + prefix, local = qname.split(':') try: - return "{%s}%s" % (element.namespaces[prefix], local) + return '{%s}%s' % (element.namespaces[prefix], local) except KeyError: - raise SyntaxError("unknown namespace prefix (%s)" % prefix) + raise SyntaxError('unknown namespace prefix (%s)' % prefix) def parse_attribute_filter_et(root): diff --git a/src/authentic2/serializers.py b/src/authentic2/serializers.py index 5f7c952e6..f99b48e81 100644 --- a/src/authentic2/serializers.py +++ b/src/authentic2/serializers.py @@ -50,7 +50,7 @@ def PreDeserializer(objects, **options): db = options.pop('using', DEFAULT_DB_ALIAS) for d in objects: - Model = _get_model(d["model"]) + Model = _get_model(d['model']) for pfield in Model._meta.private_fields: if not isinstance(pfield, GenericForeignKey): continue diff --git a/src/authentic2/settings.py b/src/authentic2/settings.py index 29c304114..8aa180b12 100644 --- a/src/authentic2/settings.py +++ b/src/authentic2/settings.py @@ -334,8 +334,8 @@ REST_FRAMEWORK = { # Authentic2 Auth SAML MELLON_ADAPTER = ('authentic2_auth_saml.adapters.AuthenticAdapter',) MELLON_LOOKUP_BY_ATTRIBUTES = [ - {"saml_attribute": "email", "user_field": "email", "ignore-case": True}, - {"saml_attribute": "username", "user_field": "username"}, + {'saml_attribute': 'email', 'user_field': 'email', 'ignore-case': True}, + {'saml_attribute': 'username', 'user_field': 'username'}, ] # timeout used in python-requests call, in seconds @@ -372,7 +372,7 @@ DJANGO_RBAC_PERMISSIONS_HIERARCHY = { FORM_RENDERER = 'django.forms.renderers.TemplatesSetting' -SILENCED_SYSTEM_CHECKS = ["auth.W004"] +SILENCED_SYSTEM_CHECKS = ['auth.W004'] SMS_SENDER = 'EO' SMS_URL = '' diff --git a/src/authentic2/utils/evaluate.py b/src/authentic2/utils/evaluate.py index a7d0de444..7e0388676 100644 --- a/src/authentic2/utils/evaluate.py +++ b/src/authentic2/utils/evaluate.py @@ -73,19 +73,19 @@ class ExpressionError(ValidationError): def is_valid_hostname(hostname): - if hostname[-1] == ".": + if hostname[-1] == '.': # strip exactly one dot from the right, if present hostname = hostname[:-1] if len(hostname) > 253: return False - labels = hostname.split(".") + labels = hostname.split('.') # the TLD must be not all-numeric - if re.match(r"[0-9]+$", labels[-1]): + if re.match(r'[0-9]+$', labels[-1]): return False - allowed = re.compile(r"(?!-)[a-z0-9-]{1,63}(?', response.text) @@ -743,7 +743,7 @@ def test_user_import_attributes(transactional_db, app, admin): assert elliot.attributes.values['zip'].content == '75014' assert elliot.attributes.values['phone'].content == '+33123456789' - csv_lines[2] = "et@universalpictures.com,ET,the Extra-Terrestrial,,,,,,42000,+3281123456" + csv_lines[2] = 'et@universalpictures.com,ET,the Extra-Terrestrial,,,,,,42000,+3281123456' response = import_csv('\n'.join(csv_lines), app) assert '0 rows have errors' in response.text @@ -762,12 +762,12 @@ def test_detail_view(app, admin, simple_user, freezer, user_ou1, ou1): url = f'/manage/users/{simple_user.pk}/' resp = login(app, admin, url) assert str(simple_user.uuid) in resp.text - assert "Last activity" not in resp.text + assert 'Last activity' not in resp.text assert not resp.pyquery('.a2-manager-user-last-activity') simple_user.keepalive = datetime.datetime(2023, 2, 1, 7) simple_user.save() resp = app.get(url) - assert "Last activity on Feb. 1, 2023" in resp.pyquery('.a2-manager-user-last-activity')[0].text + assert 'Last activity on Feb. 1, 2023' in resp.pyquery('.a2-manager-user-last-activity')[0].text logout(app) ou1.clean_unused_accounts_alert = 700 @@ -781,29 +781,29 @@ def test_detail_view(app, admin, simple_user, freezer, user_ou1, ou1): freezer.move_to('2023-01-01') resp = login(app, admin, url) assert ( - "Deletion alert email planned for Dec. 1, 2024." + 'Deletion alert email planned for Dec. 1, 2024.' in resp.pyquery('.a2-manager-user-date-alert')[0].text ) assert ( - "Account deletion planned for Dec. 31, 2024." + 'Account deletion planned for Dec. 31, 2024.' in resp.pyquery('.a2-manager-user-date-deletion')[0].text ) logout(app) freezer.move_to('2024-12-10') resp = login(app, admin, url) - assert "Deletion alert email sent on Dec. 1, 2024." in resp.pyquery('.a2-manager-user-date-alert')[0].text + assert 'Deletion alert email sent on Dec. 1, 2024.' in resp.pyquery('.a2-manager-user-date-alert')[0].text assert ( - "Account deletion planned for Dec. 31, 2024." + 'Account deletion planned for Dec. 31, 2024.' in resp.pyquery('.a2-manager-user-date-deletion')[0].text ) logout(app) freezer.move_to('2025-01-01') resp = login(app, admin, url) - assert "Deletion alert email sent on Dec. 1, 2024." in resp.pyquery('.a2-manager-user-date-alert')[0].text + assert 'Deletion alert email sent on Dec. 1, 2024.' in resp.pyquery('.a2-manager-user-date-alert')[0].text assert ( - "Account deletion pending (should have been performed on Dec. 31, 2024)." + 'Account deletion pending (should have been performed on Dec. 31, 2024).' in resp.pyquery('.a2-manager-user-date-deletion')[0].text ) diff --git a/tests/test_views.py b/tests/test_views.py index 206b75abe..dc8531efb 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -197,7 +197,7 @@ class TestDeleteAccountEmailVerified: assert len(mailoutbox) == 2 assert mailoutbox[1].subject == 'Account deletion on testserver' assert mailoutbox[0].to == [simple_user.email] - assert "Set-Cookie: messages=" in str(response) # Deletion performed + assert 'Set-Cookie: messages=' in str(response) # Deletion performed assert urlparse(response.location).path == '/' def test_account_delete_when_logged_out(self, app, simple_user, mailoutbox): @@ -220,7 +220,7 @@ class TestDeleteAccountEmailVerified: assert len(mailoutbox) == 2 assert mailoutbox[1].subject == 'Account deletion on testserver' assert mailoutbox[0].to == [simple_user.email] - assert "Set-Cookie: messages=" in str(response) # Deletion performed + assert 'Set-Cookie: messages=' in str(response) # Deletion performed assert urlparse(response.location).path == '/' def test_account_delete_by_other_user(self, app, simple_user, user_ou1, mailoutbox): @@ -246,7 +246,7 @@ class TestDeleteAccountEmailVerified: assert len(mailoutbox) == 2 assert mailoutbox[1].subject == 'Account deletion on testserver' assert mailoutbox[0].to == [simple_user.email] - assert "Set-Cookie: messages=" in str(response) # Deletion performed + assert 'Set-Cookie: messages=' in str(response) # Deletion performed assert urlparse(response.location).path == '/' def test_account_delete_fake_token(self, app, simple_user, mailoutbox): @@ -255,7 +255,7 @@ class TestDeleteAccountEmailVerified: .follow() .follow() ) - assert "The account deletion request is invalid, try again" in response.text + assert 'The account deletion request is invalid, try again' in response.text def test_account_delete_expired_token(self, app, simple_user, mailoutbox, freezer): freezer.move_to('2019-08-01') @@ -264,7 +264,7 @@ class TestDeleteAccountEmailVerified: freezer.move_to('2019-08-04') # Too late... link = get_link_from_mail(mailoutbox[0]) response = app.get(link).follow() - assert "The account deletion request is too old, try again" in response.text + assert 'The account deletion request is too old, try again' in response.text def test_account_delete_valid_token_unexistent_user(self, app, simple_user, mailoutbox): page = login(app, simple_user, path=reverse('delete_account')) @@ -296,7 +296,7 @@ class TestDeleteAccountEmailNotVerified: assert len(mailoutbox) == 1 assert mailoutbox[0].subject == 'Account deletion on testserver' assert mailoutbox[0].to == [simple_user.email] - assert "Set-Cookie: messages=" in str(response) # Deletion performed + assert 'Set-Cookie: messages=' in str(response) # Deletion performed assert urlparse(response.location).path == '/' def test_account_delete_old_authentication(self, app, simple_user, mailoutbox, freezer): @@ -316,7 +316,7 @@ class TestDeleteAccountEmailNotVerified: assert len(mailoutbox) == 1 assert mailoutbox[0].subject == 'Account deletion on testserver' assert mailoutbox[0].to == [simple_user.email] - assert "Set-Cookie: messages=" in str(response) # Deletion performed + assert 'Set-Cookie: messages=' in str(response) # Deletion performed assert urlparse(response.location).path == '/' diff --git a/tests/utils.py b/tests/utils.py index bb4e1308e..bc1f9152a 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -168,7 +168,7 @@ def assert_equals_url(url1, url2, **kwargs): elt2[k] = elt1.get(k, v) else: elt2[k] = set(v) - assert elt1 == elt2, "URLs are not equal: %s != %s" % (splitted1, splitted2) + assert elt1 == elt2, 'URLs are not equal: %s != %s' % (splitted1, splitted2) def assert_redirects_complex(response, expected_url, **kwargs):