本文整理汇总了Python中bookie.models.DBSession.add方法的典型用法代码示例。如果您正苦于以下问题:Python DBSession.add方法的具体用法?Python DBSession.add怎么用?Python DBSession.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bookie.models.DBSession
的用法示例。
在下文中一共展示了DBSession.add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: new_user
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def new_user(username, email):
"""Add new user function, pass username, email
:param username: string of new user
:param email: string of new email
"""
require('hosts', provided_by=[sample])
require('ini', provided_by=[sample])
parse_ini(env["ini_file"])
import transaction
from bookie.models import initialize_sql
initialize_sql(dict(env.ini.items('app:main')))
from bookie.models import DBSession
from bookie.models.auth import get_random_word, User
sess = DBSession()
u = User()
u.username = unicode(username)
passwd = get_random_word(8)
u.password = passwd
u.email = unicode(email)
u.activated = True
u.is_admin = False
u.api_key = User.gen_api_key()
print dict(u)
print passwd
sess.add(u)
sess.flush()
transaction.commit()
示例2: test_one_import
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def test_one_import(self):
"""You should be able to only get one import running at a time"""
self._login_admin()
# Prep the db with 2 other imports ahead of this user's.
# We have to commit these since the request takes place in a new
# session/transaction.
DBSession.add(ImportQueue(username=u'testing',
file_path=u'testing.txt'))
DBSession.add(ImportQueue(username=u'testing2',
file_path=u'testing2.txt'))
DBSession.flush()
transaction.commit()
res = self._upload()
res.follow()
# now let's hit the import page, we shouldn't get a form, but instead a
# message about our import
res = self.app.get('/admin/import')
self.assertTrue('<form' not in res.body, "We shouldn't have a form")
self.assertTrue(
'waiting in the queue' in res.body,
"We want to display a waiting message.")
self.assertTrue(
'2 other imports' in res.body,
"We want to display a count message." + res.body)
示例3: _new_user
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def _new_user(args):
"""Handle adding a new user to the system.
If you don't include the required info, it will prompt you for it
"""
if not args.username:
args.username = raw_input('username? ')
if not args.email:
args.email = raw_input('email address? ')
if not args.username or not args.email:
raise Exception('Must supply a username and email address')
import transaction
_init_sql(args)
from bookie.models import DBSession
sess = DBSession()
u = User()
u.username = unicode(args.username)
passwd = get_random_word(8)
u.password = passwd
u.email = unicode(args.email)
u.activated = True
u.is_admin = False
u.api_key = User.gen_api_key()
print dict(u)
print passwd
sess.add(u)
sess.flush()
transaction.commit()
示例4: upgrade
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def upgrade(migrate_engine):
"""By default start all installs out with a bookmark to bmark.us
It's cheesy, but helps with testing to have some base data and is good for
pubbing the links
"""
from datetime import datetime
import transaction
from bookie.models import initialize_sql
initialize_sql(migrate_engine)
from bookie.models import DBSession
from bookie.models import Bmark
bmark_us = Bmark('http://bmark.us',
desc="Bookie Website",
ext= "Bookie Documentation Home",
tags = "bookmarks")
bmark_us.stored = datetime.now()
bmark_us.updated = datetime.now()
DBSession.add(bmark_us)
DBSession.flush()
transaction.commit()
示例5: db_init_bookmark
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def db_init_bookmark():
"""install the initial bookmark in a new install"""
require('hosts', provided_by=[sample])
require('ini', provided_by=[sample])
parse_ini(env["ini_file"])
from datetime import datetime
import transaction
from bookie.models import initialize_sql
from sqlalchemy import create_engine
engine = create_engine(env.ini.get('app:bookie', 'sqlalchemy.url'))
initialize_sql(engine)
from bookie.models import DBSession
from bookie.models import Bmark
bmark_us = Bmark(u'http://bmark.us',
u'admin',
desc=u"Bookie Website",
ext= u"Bookie Documentation Home",
tags = u"bookmarks")
bmark_us.stored = datetime.now()
bmark_us.updated = datetime.now()
DBSession.add(bmark_us)
DBSession.flush()
transaction.commit()
示例6: new_user
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def new_user(request):
"""Add a new user to the system manually."""
rdict = request.params
u = User()
u.username = unicode(rdict.get('username'))
u.email = unicode(rdict.get('email'))
passwd = get_random_word(8)
u.password = passwd
u.activated = True
u.is_admin = False
u.api_key = User.gen_api_key()
try:
DBSession.add(u)
DBSession.flush()
# We need to return the password since the admin added the user
# manually. This is only time we should have/give the original
# password.
ret = dict(u)
ret['random_pass'] = passwd
return _api_response(request, ret)
except IntegrityError, exc:
# We might try to add a user that already exists.
LOG.error(exc)
request.response.status_int = 400
return _api_response(request, {
'error': 'Bad Request: User exists.',
})
示例7: import_bmarks
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def import_bmarks(self):
"""Allow users to upload a bookmark export file for processing"""
username = self.matchdict.get('username')
# if auth fails, it'll raise an HTTPForbidden exception
with ReqAuthorize(self.request):
data = {}
post = self.POST
# We can't let them submit multiple times, check if this user has
# an import in process.
if ImportQueueMgr.get(username=username, status=NEW):
# They have an import, get the information about it and shoot
# to the template.
return {
'existing': True,
'import_stats': ImportQueueMgr.get_details(
username=username)
}
if post:
# we have some posted values
files = post.get('import_file', None)
if files is not None:
storage_dir_tpl = self.settings.get('import_files',
'/tmp/bookie')
storage_dir = storage_dir_tpl.format(
here=self.settings.get('app_root'))
out_fname = store_import_file(storage_dir, username, files)
# Mark the system that there's a pending import that needs
# to be completed
q = ImportQueue(username, unicode(out_fname))
DBSession.add(q)
DBSession.flush()
# Schedule a task to start this import job.
tasks.importer_process.delay(q.id)
return HTTPFound(
location=self.request.route_url('user_import',
username=username))
else:
msg = self.request.session.pop_flash()
if msg:
data['error'] = msg
else:
data['error'] = None
return data
else:
# we need to see if they've got
# just display the form
return {
'existing': False
}
示例8: test_total_ct
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def test_total_ct(self):
"""Verify that our total count method is working"""
ct = 5
for i in range(ct):
t = Tag(gen_random_word(10))
DBSession.add(t)
ct = TagMgr.count()
eq_(5, ct, 'We should have a total of 5: ' + str(ct))
示例9: _add_demo_import
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def _add_demo_import(self):
"""DB Needs some imports to be able to query."""
# add out completed one
q = ImportQueue(
username=u'admin',
file_path=u'testing.txt'
)
DBSession.add(q)
transaction.commit()
return
示例10: make_bookmark
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def make_bookmark(user=None):
"""Generate a fake bookmark for testing use."""
bmark = Bmark(random_url(), username="admin", desc=random_string(), ext=random_string(), tags=u"bookmarks")
if user:
bmark.username = user.username
bmark.user = user
DBSession.add(bmark)
DBSession.flush()
return bmark
示例11: make_user
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def make_user(username=None):
"""Generate a fake user to test against."""
user = User()
if not username:
username = random_string(10)
user.username = username
DBSession.add(user)
DBSession.flush()
return user
示例12: _add_bmark_wt_desc
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def _add_bmark_wt_desc(self):
#setup the default google bookmark
bmark_us = Bmark(u'http://google.com',
username=u"admin",
desc=u"",
ext=u"Google Search Engine",
tags=u"bookmarks")
bmark_us.stored = datetime.now()
bmark_us.updated = datetime.now()
DBSession.add(bmark_us)
transaction.commit()
示例13: testInitialUserInactivated
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def testInitialUserInactivated(self):
"""A new user signup should be a deactivated user"""
u = User()
u.email = gen_random_word(10)
DBSession.add(u)
eq_(False, u.activated,
'A new signup should start out deactivated by default')
ok_(u.activation.code is not None,
'A new signup should start out as deactivated')
eq_('signup', u.activation.created_by,
'This is a new signup, so mark is as thus')
示例14: _add_bmark_w_desc
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def _add_bmark_w_desc(self):
# setup the default bookie bookmark
bmark_us = Bmark(u'http://bmark.us',
username=u"admin",
desc=u"Bookie Website",
ext=u"Bookie Documentation Home",
tags=u"bookmarks")
bmark_us.stored = datetime.now()
bmark_us.updated = datetime.now()
DBSession.add(bmark_us)
transaction.commit()
示例15: test_unique_ct
# 需要导入模块: from bookie.models import DBSession [as 别名]
# 或者: from bookie.models.DBSession import add [as 别名]
def test_unique_ct(self):
"""Verify that our unique count method is working"""
ct = 5
common = 'testing.com'
users = []
for i in range(ct):
user = User()
user.username = gen_random_word(10)
DBSession.add(user)
users.append(user)
for i in range(ct - 2):
b = Bmark(
url=gen_random_word(12),
username=users[i].username
)
DBSession.add(b)
# Add in our dupes
c = Bmark(
url=common,
username=users[3].username
)
DBSession.add(c)
DBSession.flush()
d = Bmark(
url=common,
username=users[4].username
)
DBSession.add(d)
DBSession.flush()
ct = BmarkMgr.count(distinct=True)
eq_(4, ct, 'We should have a total of 4: ' + str(ct))