当前位置: 首页>>代码示例>>Python>>正文


Python TASClient.countries方法代码示例

本文整理汇总了Python中pytas.http.TASClient.countries方法的典型用法代码示例。如果您正苦于以下问题:Python TASClient.countries方法的具体用法?Python TASClient.countries怎么用?Python TASClient.countries使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pytas.http.TASClient的用法示例。


在下文中一共展示了TASClient.countries方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_country_choices

# 需要导入模块: from pytas.http import TASClient [as 别名]
# 或者: from pytas.http.TASClient import countries [as 别名]
def get_country_choices():
    tas = TASClient()
    countries_list = tas.countries()
    return (('', 'Choose one'),) + tuple((c['id'], c['name']) for c in countries_list)
开发者ID:,项目名称:,代码行数:6,代码来源:

示例2: nees_migration

# 需要导入模块: from pytas.http import TASClient [as 别名]
# 或者: from pytas.http.TASClient import countries [as 别名]
def nees_migration(request, step=None):

    if step == 0 or step is None:
        return render(request, 'designsafe/apps/accounts/nees_migration.html',
                      {'form': forms.NEESAccountMigrationForm()})

    elif step == '1':
        if request.method == 'POST':
            email_address = request.POST.get('email_address')
        else:
            email_address = request.GET.get('email_address')
        if email_address:
            nees_user_match = NEESUser.lookup_user(email_address)
            if len(nees_user_match) == 0:
                messages.error(request,
                               'We were unable to locate a NEEShub account for the email '
                               'address <b>%s</b>. Please confirm that you entered the '
                               'email address correctly and try again. If you feel this '
                               'is in error, please submit a support ticket.' %
                               email_address)
                return HttpResponseRedirect(reverse('designsafe_accounts:nees_migration'))
            else:
                tas_by_username = None
                tas_by_email = None
                # check for existing TAS user
                tas_api = TASClient()
                try:
                    tas_by_username = tas_api.get_user(username=nees_user_match[0].username)
                except:
                    logger.exception('Error checking for existing TAS users')
                try:
                    tas_by_email = tas_api.get_user(email=nees_user_match[0].email)
                except:
                    logger.exception('Error checking for existing TAS users')

                context = {
                    'email_address': email_address,
                    'nees_user_match': nees_user_match,
                    'tas_by_username': tas_by_username,
                    'tas_by_email': tas_by_email,
                }
                return render(request,
                              'designsafe/apps/accounts/nees_migration_step_1.html',
                              context)

    elif step == '2':
        tas_api = TASClient()
        if request.method == 'POST':
            email_address = request.POST.get('email_address')
            nees_user_match = NEESUser.lookup_user(email_address)
            countries = tas_api.countries()
            country_residence = next((c for c in countries if c['abbrev'] == nees_user_match[0].countryresident), {'id':None})
            country_origin = next((c for c in countries if c['abbrev'] == nees_user_match[0].countryorigin), {'id':None})
            initial_data = {
                'firstName': nees_user_match[0].givenName,
                'lastName': nees_user_match[0].surname,
                'email': nees_user_match[0].email,
                'phone': nees_user_match[0].phone,
                'countryId': country_residence['id'],
                'citizenshipId': country_origin['id'],
                'username': nees_user_match[0].username,
            }
            if nees_user_match[0].organization is not None:
                initial_data['institutionId'] = -1
                initial_data['institution'] = nees_user_match[0].organization
            form = forms.UserRegistrationForm(initial=initial_data)
            return render(request,
                          'designsafe/apps/accounts/nees_migration_step_2.html',
                          {'form': form})

    elif step == '3':
        # final step!
        tas_api = TASClient()
        if request.method == 'POST':
            form = forms.UserRegistrationForm(request.POST)
            if form.is_valid():
                # attempt TAS User creation
                try:
                    form.save()
                    messages.success(
                        request,
                        'Congratulations! Your account migration was successful. You '
                        'still need you to activate your TACC account. You should an '
                        'activation code at the email address provided. Please follow '
                        'the instructions in the email to activate your account.'
                    )
                    return HttpResponseRedirect('/')
                except Exception as e:
                    logger.exception('Error saving user!')
                    logger.info('error: {}'.format(e))

                    error_type = e.args[1] if len(e.args) > 1 else ''

                    if 'DuplicateLoginException' in error_type:
                        err_msg = (
                            'The username you chose has already been taken. Please '
                            'choose another. If you already have an account with TACC, '
                            'please log in using those credentials.')
                        form._errors.setdefault('username', [err_msg])
                    elif 'DuplicateEmailException' in error_type:
#.........这里部分代码省略.........
开发者ID:DesignSafe-CI,项目名称:portal,代码行数:103,代码来源:views.py


注:本文中的pytas.http.TASClient.countries方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。