Example #1
0
    def print_all_data_in_session(self):
        text = list()
        mapper = inspect(self)

        # mapper.attrs stores all model fields in order of definition.
        for column in mapper.attrs:
            cleaned_value = remove_empty_from_dict(column.value)

            if column.key == 'aws_keys':
                owned_keys = column.value.all()
                if owned_keys:
                    text.append('aws_keys: [')
                    for each_key in owned_keys:
                        text.append('    <AWSKey: {}>'.format(each_key.key_alias))
                    text.append(']')

            elif column.key == 'secret_access_key':
                text.append('secret_access_key: "******" (Censored)')

            elif cleaned_value:
                text.append('{}: {}'.format(column.key, json.dumps(cleaned_value, indent=4, default=str)))

        if text:
            print('\n'.join(text))
        else:
            print('This session has no data.')
Example #2
0
    def get_all_aws_data_fields_as_dict(self):
        all_data = dict()
        mapper = inspect(self)

        for attribute in mapper.attrs:
            if attribute.key in self.aws_data_field_names:
                if attribute.value:
                    all_data[attribute.key] = attribute.value

        return remove_empty_from_dict(all_data)
Example #3
0
    def wrapper(update: Update, *args, **kwargs):
        u = User.update_or_create_from_update(update)
        if u:
            u.save()

        update_dict = remove_empty_from_dict(update.to_dict())
        update_dict['method'] = f.__name__

        logger.info(f"{update_dict}")
        return f(update, *args, **kwargs)
Example #4
0
 def get_fields_as_camel_case_dictionary(self):
     # Deep copy because Permissions->allow_permissions and deny_permissions were dicts that were being passed as reference
     return copy.deepcopy({
         'UserName': self.user_name,
         'UserArn': self.user_arn,
         'AccountId': self.account_id,
         'UserId': self.user_id,
         'Roles': self.roles,
         'Groups': self.groups,
         'Policies': self.policies,
         'AccessKeyId': self.access_key_id,
         'SecretAccessKey': self.secret_access_key,
         'SessionToken': self.session_token,
         'KeyAlias': self.key_alias,
         'PermissionsConfirmed': self.permissions_confirmed,
         'Permissions': {
             'Allow': remove_empty_from_dict(self.allow_permissions),
             'Deny': remove_empty_from_dict(self.deny_permissions),
         },
     })