本文整理汇总了Python中inbox.models.backends.generic.GenericAccount类的典型用法代码示例。如果您正苦于以下问题:Python GenericAccount类的具体用法?Python GenericAccount怎么用?Python GenericAccount使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GenericAccount类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_account
def create_account(self, email_address, response):
# This method assumes that the existence of an account for the
# provider and email_address has been checked by the caller;
# callers may have different methods of performing the check
# (redwood auth versus get_account())
namespace = Namespace()
account = GenericAccount(namespace=namespace)
# The server endpoints can ONLY be set at account creation and
# CANNOT be subsequently changed in order to prevent MITM attacks.
account.provider = self.provider_name
if self.provider_name == 'custom':
account.imap_endpoint = (response['imap_server_host'],
response['imap_server_port'])
account.smtp_endpoint = (response['smtp_server_host'],
response['smtp_server_port'])
# Shim for back-compatability with legacy auth
# The old API does NOT send these but authentication now uses them
# so set them (included here, set in update_account()).
for username in ['imap_username', 'smtp_username']:
if username not in response:
response[username] = email_address
for password in ['imap_password', 'smtp_password']:
if password not in response:
response[password] = response['password']
return self.update_account(account, response)
示例2: make_imap_account
def make_imap_account(db_session, email_address):
import platform
from inbox.models.backends.generic import GenericAccount
from inbox.models import Namespace
account = GenericAccount(email_address=email_address,
sync_host=platform.node(),
provider='custom')
account.password = 'bananagrams'
account.namespace = Namespace()
db_session.add(account)
db_session.commit()
return account
示例3: add_fake_yahoo_account
def add_fake_yahoo_account(db_session, email_address='[email protected]'):
import platform
from inbox.models.backends.generic import GenericAccount
from inbox.models import Namespace
account = GenericAccount(email_address=email_address,
sync_host=platform.node(),
provider='yahoo')
account.imap_password = 'bananagrams'
account.smtp_password = 'bananagrams'
account.namespace = Namespace()
db_session.add(account)
db_session.commit()
return account
示例4: generic_account
def generic_account(db):
import platform
from inbox.models.backends.generic import GenericAccount
from inbox.models import Namespace
ns = Namespace()
account = GenericAccount(email_address="[email protected]", sync_host=platform.node(), provider="custom")
account.namespace = ns
account.create_emailed_events_calendar()
account.password = "bananagrams"
db.session.add(account)
db.session.commit()
return account
示例5: create_account
def create_account(self, db_session, email_address, response):
try:
account = db_session.query(GenericAccount).filter_by(
email_address=email_address).one()
except sqlalchemy.orm.exc.NoResultFound:
namespace = Namespace()
account = GenericAccount(namespace=namespace)
account.email_address = response['email']
account.password = response['password']
account.date = datetime.datetime.utcnow()
provider_name = self.provider_name
account.provider = provider_name
if provider_name == 'custom':
account.imap_endpoint = (response['imap_server_host'],
response['imap_server_port'])
account.smtp_endpoint = (response['smtp_server_host'],
response['smtp_server_port'])
# Hack to ensure that account syncs get restarted if they were stopped
# because of e.g. invalid credentials and the user re-auths.
# TODO(emfree): remove after status overhaul.
if account.sync_state != 'running':
account.sync_state = None
return account
示例6: test_gracefully_handle_new_namespace
def test_gracefully_handle_new_namespace(db, api_client):
new_namespace = Namespace()
new_account = GenericAccount()
new_account.password = 'hunter2'
new_namespace.account = new_account
db.session.add(new_namespace)
db.session.add(new_account)
db.session.commit()
cursor = get_cursor(api_client, int(time.time()),
new_namespace)
url = url_concat('/n/{}/delta/streaming'.format(new_namespace.public_id),
{'timeout': .1, 'cursor': cursor})
r = api_client.get_raw(url)
assert r.status_code == 200
示例7: add_account_with_different_namespace_id
def add_account_with_different_namespace_id(db_session,
email_address='[email protected]'):
import platform
from inbox.models.backends.generic import GenericAccount
from inbox.models import Namespace
account = GenericAccount(id=11,
email_address=email_address,
sync_host=platform.node(),
provider='yahoo')
account.imap_password = 'bananagrams'
account.smtp_password = 'bananagrams'
account.namespace = Namespace()
db_session.add(account)
db_session.commit()
assert account.namespace.id != account.id
return account
示例8: create_account
def create_account(db_session, email_address, response):
provider_name = provider_from_address(email_address)
if provider_name == "unknown":
raise NotSupportedError('Inbox does not support the email provider.')
try:
account = db_session.query(GenericAccount).filter_by(
email_address=email_address).one()
except sqlalchemy.orm.exc.NoResultFound:
namespace = Namespace()
account = GenericAccount(namespace=namespace)
account.email_address = response['email']
account.password = response['password']
account.date = datetime.datetime.utcnow()
account.provider = provider_name
return account
示例9: create_account
def create_account(self, db_session, email_address, response):
try:
account = db_session.query(GenericAccount).filter_by(email_address=email_address).one()
except sqlalchemy.orm.exc.NoResultFound:
namespace = Namespace()
account = GenericAccount(namespace=namespace)
account.email_address = response["email"]
if response.get("name"):
account.name = response["name"]
account.password = response["password"]
account.date = datetime.datetime.utcnow()
provider_name = self.provider_name
account.provider = provider_name
if provider_name == "custom":
account.imap_endpoint = (response["imap_server_host"], response["imap_server_port"])
account.smtp_endpoint = (response["smtp_server_host"], response["smtp_server_port"])
# Ensure account has sync enabled after authing.
account.enable_sync()
return account
示例10: add_generic_imap_account
def add_generic_imap_account(db_session, email_address='[email protected]'):
import platform
from inbox.models.backends.generic import GenericAccount
from inbox.models import Namespace
account = GenericAccount(email_address=email_address,
sync_host=platform.node(),
provider='custom')
account.imap_endpoint = ('imap.custom.com', 993)
account.smtp_endpoint = ('smtp.custom.com', 587)
account.imap_password = 'bananagrams'
account.smtp_password = 'bananagrams'
account.namespace = Namespace()
db_session.add(account)
db_session.commit()
return account
示例11: create_account
def create_account(self, db_session, email_address, response):
try:
account = db_session.query(GenericAccount).filter_by(
email_address=email_address).one()
except sqlalchemy.orm.exc.NoResultFound:
namespace = Namespace()
account = GenericAccount(namespace=namespace)
account.email_address = response['email']
account.password = response['password']
account.date = datetime.datetime.utcnow()
provider_name = self.provider_name
account.provider = provider_name
if provider_name == 'custom':
account.imap_endpoint = (response['imap_server_host'],
response['imap_server_port'])
account.smtp_endpoint = (response['smtp_server_host'],
response['smtp_server_port'])
return account