本文整理汇总了Python中indico.modules.users.User.get_one方法的典型用法代码示例。如果您正苦于以下问题:Python User.get_one方法的具体用法?Python User.get_one怎么用?Python User.get_one使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类indico.modules.users.User
的用法示例。
在下文中一共展示了User.get_one方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _process
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def _process(self):
source = User.get_one(request.args['source'])
target = User.get_one(request.args['target'])
problems = []
if source == target:
problems.append((_("Users are the same!"), 'error'))
if (source.first_name.strip().lower() != target.first_name.strip().lower() or
source.last_name.strip().lower() != target.last_name.strip().lower()):
problems.append((_("Users' names seem to be different!"), 'warning'))
if source.is_pending:
problems.append((_("Source user has never logged in to Indico!"), 'warning'))
if target.is_pending:
problems.append((_("Target user has never logged in to Indico!"), 'warning'))
if source.is_deleted:
problems.append((_("Source user has been deleted!"), 'error'))
if target.is_deleted:
problems.append((_("Target user has been deleted!"), 'error'))
return jsonify({
'problems': problems
})
示例2: migrate_event_notes
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def migrate_event_notes(self):
self.print_step('migrating event notes')
janitor_user = User.get_one(self.janitor_user_id)
self.print_msg('Using janitor user {}'.format(janitor_user), always=True)
for event, obj, minutes, special_prot in committing_iterator(self._iter_minutes()):
if special_prot:
self.print_warning(
cformat('%{yellow!}{} minutes have special permissions; skipping them').format(obj),
event_id=event.id
)
continue
path = get_archived_file(minutes, self.archive_dirs)[1]
if path is None:
self.print_error(cformat('%{red!}{} minutes not found on disk; skipping them').format(obj),
event_id=event.id)
continue
with open(path, 'r') as f:
data = convert_to_unicode(f.read()).strip()
if not data:
self.print_warning(cformat('%{yellow}{} minutes are empty; skipping them').format(obj),
always=False, event_id=event.id)
continue
note = EventNote(linked_object=obj)
note.create_revision(RenderMode.html, data, janitor_user)
db.session.add(note)
if not self.quiet:
self.print_success(cformat('%{cyan}{}').format(obj), event_id=event.id)
示例3: category_cleanup
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def category_cleanup():
cfg = Config.getInstance()
janitor_user = User.get_one(cfg.getJanitorUserId())
logger.debug("Checking whether any categories should be cleaned up")
for categ_id, days in cfg.getCategoryCleanup().iteritems():
try:
category = CategoryManager().getById(categ_id)
except KeyError:
logger.warning("Category {} does not exist!".format(categ_id))
continue
now = now_utc()
to_delete = [ev for ev in category.conferences if (now - ev._creationDS) > timedelta(days=days)]
if not to_delete:
continue
logger.info("Category {}: {} events were created more than {} days ago and will be deleted".format(
categ_id, len(to_delete), days
))
for i, event in enumerate(to_delete, 1):
logger.info("Deleting {}".format(event))
event.delete(user=janitor_user)
if i % 100 == 0:
db.session.commit()
DBMgr.getInstance().commit()
db.session.commit()
DBMgr.getInstance().commit()
示例4: migrate
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def migrate(self):
# disable onupdate for attachment lastmod timestamp
# see https://bitbucket.org/zzzeek/sqlalchemy/issue/3471/ why it's needed
Attachment.__table__.columns.modified_dt.onupdate = None
janitor_user = User.get_one(self.janitor_user_id)
self.print_msg('Using janitor user {}'.format(janitor_user), always=True)
self.janitor_user_id = janitor_user.id
self.todo = OrderedDict([
(AttachmentFolder, []),
(AttachmentFolderPrincipal, []),
(Attachment, []),
(AttachmentPrincipal, []),
(AttachmentFile, []),
(LegacyAttachmentFolderMapping, []),
(LegacyAttachmentMapping, [])
])
self.ids = {
AttachmentFolder: _get_pg_id(AttachmentFolder.id),
Attachment: _get_pg_id(Attachment.id),
AttachmentFile: _get_pg_id(AttachmentFile.id),
}
with patch_default_group_provider(self.default_group_provider):
self.migrate_category_attachments()
self.migrate_event_attachments()
self.fix_attachment_file_ids()
self.print_step('fixing id sequences')
self.fix_sequences('attachments')
self.update_merged_ids()
示例5: category_cleanup
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def category_cleanup():
from indico.modules.events import Event
cfg = Config.getInstance()
janitor_user = User.get_one(cfg.getJanitorUserId())
logger.debug("Checking whether any categories should be cleaned up")
for categ_id, days in cfg.getCategoryCleanup().iteritems():
try:
category = Category.get(int(categ_id), is_deleted=False)
except KeyError:
logger.warning("Category %s does not exist!", categ_id)
continue
now = now_utc()
to_delete = Event.query.with_parent(category).filter(Event.created_dt < (now - timedelta(days=days))).all()
if not to_delete:
continue
logger.info("Category %s: %s events were created more than %s days ago and will be deleted", categ_id,
len(to_delete), days)
for i, event in enumerate(to_delete, 1):
logger.info("Deleting %s", event)
event.as_legacy.delete(user=janitor_user)
if i % 100 == 0:
db.session.commit()
DBMgr.getInstance().commit()
db.session.commit()
DBMgr.getInstance().commit()
示例6: load_data
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def load_data(self):
self.print_step("Loading some data")
self.janitor_user = User.get_one(self.janitor_user_id)
all_users_query = User.query.options(joinedload('_all_emails')).filter_by(is_deleted=False)
for user in all_users_query:
for email in user.all_emails:
self.all_users_by_email[email] = user
示例7: undo_impersonate_user
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def undo_impersonate_user():
"""Undo an admin impersonation login and revert to the old user"""
from indico.modules.auth import logger
from indico.modules.users import User
try:
entry = session.pop('login_as_orig_user')
except KeyError:
# The user probably already switched back from another tab
return
user = User.get_one(entry['user_id'])
logger.info('Admin %r stopped impersonating user %r', user, session.user)
session.user = user
session.update(entry['session_data'])
示例8: _process
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def _process(self):
source = User.get_one(request.args['source'])
target = User.get_one(request.args['target'])
errors, warnings = _get_merge_problems(source, target)
return jsonify(errors=errors, warnings=warnings)
示例9: _process_args
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def _process_args(self, undo, user_id):
RHAdminBase._process_args(self)
self.user = None if undo else User.get_one(user_id, is_deleted=False)
示例10: _process_args
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def _process_args(self):
self.user = User.get_one(request.view_args['user_id']) if 'user_id' in request.view_args else None
示例11: _process_args
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def _process_args(self):
RHAdminBase._process_args(self)
if request.form.get('undo') == '1':
self.user = None
else:
self.user = User.get_one(int(request.form['user_id']), is_deleted=False)
示例12: _process_args
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import get_one [as 别名]
def _process_args(self):
RHManageEventRole._process_args(self)
self.user = User.get_one(request.view_args['user_id'])