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


Python account.Account类代码示例

本文整理汇总了Python中openspending.model.account.Account的典型用法代码示例。如果您正苦于以下问题:Python Account类的具体用法?Python Account怎么用?Python Account使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: test_new_wrong_user

    def test_new_wrong_user(self):
        # First we add a Dataset with user 'test_new'
        user = Account.by_name('test_new')
        assert user.api_key == 'd0610659-627b-4403-8b7f-6e2820ebc95d'

        u = url(controller='api/version2', action='create')
        params = {
            'metadata':
            'https://dl.dropbox.com/u/3250791/sample-openspending-model.json',
            'csv_file':
            'http://mk.ucant.org/info/data/sample-openspending-dataset.csv'
        }
        apikey_header = 'apikey {0}'.format(user.api_key)
        response = self.app.post(u, params, {'Authorization': apikey_header})

        assert "200" in response.status
        assert Dataset.by_name('openspending-example') is not None

        # After that we try to update the Dataset with user 'test_new2'
        user = Account.by_name('test_new2')
        assert user.api_key == 'c011c340-8dad-419c-8138-1c6ded86ead5'

        u = url(controller='api/version2', action='create')
        params = {
            'metadata':
            'https://dl.dropbox.com/u/3250791/sample-openspending-model.json',
            'csv_file':
            'http://mk.ucant.org/info/data/sample-openspending-dataset.csv'
        }
        apikey_header = 'apikey {0}'.format(user.api_key)
        response = self.app.post(u, params, {'Authorization': apikey_header},
                                 expect_errors=True)
        assert '403' in response.status
开发者ID:hagino3000,项目名称:openspending,代码行数:33,代码来源:test_api_version2.py

示例2: shell_account

def shell_account():
    account = Account.by_name(SHELL_USER)
    if account is not None:
        return account
    account = Account()
    account.name = SHELL_USER
    db.session.add(account)
    return account
开发者ID:ToroidalATLAS,项目名称:openspending,代码行数:8,代码来源:importer.py

示例3: verify

def verify():


    if request.method == 'GET':
        loginhash = request.args.get('login')
        if not loginhash:
            message = "Invalid URL.  Please contact system administrator."
            return render_template('account/message.jade', message=message)


        account = Account.by_login_hash(loginhash)

        if not account:
            message = "This URL is no longer valid.  If you have an account, you can reset your password at the " + \
                        " <a href='" + url_for('account.trigger_reset') + "'>password reset page</a>. Or you can register at \
                        <a href='" + url_for('account.login') + "'>login page</a>"
            return render_template('account/message.jade', message=message)

    
        #request.form.loginhash = {"data":loginhash}
        values = {'loginhash': loginhash, "csrf_token": generate_csrf_token()}
        return render_template('account/verify.jade', account=account, form_fill=values)

    else:

        loginhash = request.form.get('loginhash')
        if not loginhash:
            message = "We cannot find your unique URL"
            return render_template('account/message.jade', message=message)

        account = Account.by_login_hash(loginhash)

        if not account:
            message = "We could not find your account"
            return render_template('account/message.jade', message=message)

        password1 = request.form.get('password1')
        password2 = request.form.get('password2')

        # Check if passwords match, return error if not
        if password1 != password2:
            error = "Your passwords do not match"
            return render_template('account/verify.jade', loginhash=loginhash, account=account, error=error)

        account.password = generate_password_hash(password1)
        #reset that hash but don't send it.
        account.reset_loginhash()
        account.verified = True
        db.session.commit()


        flash_success("Password saved and you are now verified.  Thank you.")
        login_user(account, remember=True)



        return redirect(url_for('home.index'))
开发者ID:fucc1,项目名称:FPA_Core,代码行数:57,代码来源:account.py

示例4: test_settings

 def test_settings(self, model_mock, update_mock):
     account = Account()
     account.name = 'mockaccount'
     db.session.add(account)
     db.session.commit()
     model_mock.return_value = account
     update_mock.return_value = True
     self.app.get(url(controller='account', action='settings'),
                  extra_environ={'REMOTE_USER': 'mockaccount'})
开发者ID:ToroidalATLAS,项目名称:openspending,代码行数:9,代码来源:test_account.py

示例5: load_user_from_request

def load_user_from_request(request):
    api_key = request.args.get('api_key')
    if api_key and len(api_key):
        account = Account.by_api_key(api_key)
        if account:
            return account

    api_key = request.headers.get('Authorization')
    if api_key and len(api_key) and ' ' in api_key:
        method, api_key = api_key.split(' ', 1)
        if method.lower() == 'apikey':
            account = Account.by_api_key(api_key)
            if account:
                return account
    return None
开发者ID:fucc1,项目名称:FPA_Core,代码行数:15,代码来源:account.py

示例6: create_view

def create_view(dataset, view_config):
    """
    Create view for a provided dataset from a view provided as dict
    """

    # Check if it exists (if not we create it)
    existing = View.by_name(dataset, view_config['name'])
    if existing is None:
        # Create the view
        view = View()

        # Set saved configurations
        view.widget = view_config['widget']
        view.state = view_config['state']
        view.name = view_config['name']
        view.label = view_config['label']
        view.description = view_config['description']
        view.public = view_config['public']

        # Set the dataset as the current dataset
        view.dataset = dataset

        # Try and set the account provided but if it doesn't exist
        # revert to shell account
        view.account = Account.by_name(view_config['account'])
        if view.account is None:
            view.account = shell_account()

        # Commit view to database
        db.session.add(view)
        db.session.commit()
开发者ID:ToroidalATLAS,项目名称:openspending,代码行数:31,代码来源:importer.py

示例7: test_delete_source

    def test_delete_source(self):
        """
        Test source removal with a source that includes errors
        """

        # Add and import source with errors (we want to remove it)
        # The source is added to a dataset called 'test-csv' (but
        # we'll just use source.dataset.name in case it changes)
        source = csvimport_fixture('import_errors')
        source.dataset.managers.append(Account.by_name('test'))
        importer = CSVImporter(source)
        importer.run()

        # Make sure the source is imported
        assert db.session.query(Source).filter_by(id=source.id).count() == 1, \
            "Import of csv failed. Source not found"

        # Delete the source
        self.app.post(url(controller='source',
                          action='delete',
                          dataset=source.dataset.name,
                          id=source.id),
                      extra_environ={'REMOTE_USER': 'test'})

        # Check if source has been deleted
        assert db.session.query(Source).filter_by(id=source.id).count() == 0, \
            "Deleting source unsuccessful. Source still exists."
开发者ID:ToroidalATLAS,项目名称:openspending,代码行数:27,代码来源:test_source.py

示例8: setup

    def setup(self):

        super(TestRunController, self).setup()
        self.source = csvimport_fixture('import_errors')
        self.source.dataset.managers.append(Account.by_name('test'))
        self.importer = CSVImporter(self.source)
        self.importer.run()
开发者ID:ToroidalATLAS,项目名称:openspending,代码行数:7,代码来源:test_run.py

示例9: profile

    def profile(self, name=None):
        """
        Generate a profile page for a user (from the provided name)
        """

        # Get the account, if it's none we return a 404
        account = Account.by_name(name)
        if account is None:
            response.status = 404
            return None

        # Set the account we got as the context variable 'profile'
        # Note this is not the same as the context variable 'account'
        # which is the account for a logged in user
        c.profile = account

        # Set a context boo if email/twitter should be shown, it is only shown
        # to administrators and to owner (account is same as context account)
        show_info = (c.account and c.account.admin) or (c.account == account)

        # ..or if the user has chosen to make it public 
        c.show_email = show_info or account.public_email
        c.show_twitter = show_info or account.public_twitter

        # Collect and sort the account's datasets and views
        c.account_datasets = sorted(account.datasets, key=lambda d: d.label)
        c.account_views = sorted(account.views, key=lambda d: d.label)

        # Render the profile
        return templating.render('account/profile.html')
开发者ID:RandyMoore,项目名称:openspending,代码行数:30,代码来源:account.py

示例10: test_delete_successfully_loaded_source

    def test_delete_successfully_loaded_source(self):
        """
        Test source removal with a source that has been successfully loaded.
        Removing a source that has been successfully loaded should not be
        possible.
        """

        # Add and import source without errors.
        # The source is added to a dataset called 'test-csv' (but
        # we'll just use source.dataset.name in case it changes)
        source = csvimport_fixture('successful_import')
        source.dataset.managers.append(Account.by_name('test'))
        importer = CSVImporter(source)
        importer.run()

        # Make sure the source is imported
        assert db.session.query(Source).filter_by(id=source.id).count() == 1, \
            "Import of csv failed. Source not found"

        # Delete the source
        self.app.post(url(controller='source',
                          action='delete',
                          dataset=source.dataset.name,
                          id=source.id),
                      extra_environ={'REMOTE_USER': 'test'})

        # Check if source has been deleted
        assert db.session.query(Source).filter_by(id=source.id).count() == 1, \
            "Deleting source succeeded. The source is gone."
开发者ID:ToroidalATLAS,项目名称:openspending,代码行数:29,代码来源:test_source.py

示例11: profile

 def profile(self, name=None):
     c.config = config
     account = Account.by_name(name)
     if account is None:
         response.status = 404
         return None
     c.profile = account
     c.is_admin = True if (c.account and c.account.admin is True) else False
     return render('account/profile.html')
开发者ID:AlbertoPeon,项目名称:openspending,代码行数:9,代码来源:account.py

示例12: command

    def command(self):
        super(GrantAdminCommand, self).command()
        self._check_args_length(1)

        from openspending.model.account import Account

        username = self.args[0]
        account = Account.by_name(username)

        if account is None:
            print "Account `%s' not found." % username
            return False

        roles = set(account["_roles"])

        roles |= set([u'admin'])
        account["_roles"] = list(roles)

        Account.save(account)
开发者ID:nomed,项目名称:openspending,代码行数:19,代码来源:user.py

示例13: authenticate

 def authenticate(self, environ, identity):
     if 'login' not in identity or 'password' not in identity:
         return None
     account = Account.by_name(identity['login'])
     if account is None:
         return None
     if account.password is None:
         return None
     if check_password_hash(account.password, identity['password']):
         return account.name
     return None
开发者ID:ToroidalATLAS,项目名称:openspending,代码行数:11,代码来源:authenticator.py

示例14: login_perform

def login_perform():
    account = Account.by_email(request.form.get('login'))
    #if account is not None and account.verified == True:
    if account is not None:
        if check_password_hash(account.password, request.form.get('password')):
            logout_user()
            login_user(account, remember=True)
            flash_success("Welcome back, " + account.fullname + "!")
            return redirect(url_for('home.index'))
    flash_error("Incorrect user name or password!")
    return login()
开发者ID:fucc1,项目名称:FPA_Core,代码行数:11,代码来源:account.py

示例15: register

 def register(self):
     require.account.create()
     errors, values = {}, None
     if request.method == 'POST':
         try:
             schema = AccountRegister()
             values = request.params
             data = schema.deserialize(values)
             if Account.by_name(data['name']):
                 raise colander.Invalid(
                     AccountRegister.name,
                     _("Login name already exists, please choose a "
                       "different one"))
             if not data['password1'] == data['password2']:
                 raise colander.Invalid(AccountRegister.password1, _("Passwords \
                     don't match!"))
             account = Account()
             account.name = data['name']
             account.fullname = data['fullname']
             account.email = data['email']
             account.password = generate_password_hash(data['password1'])
             db.session.add(account)
             db.session.commit()
             who_api = get_api(request.environ)
             authenticated, headers = who_api.login({
                 "login": account.name,
                 "password": data['password1']
             })
             response.headers.extend(headers)
             return redirect("/")
         except colander.Invalid, i:
             errors = i.asdict()
开发者ID:asuffield,项目名称:openspending,代码行数:32,代码来源:account.py


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