本文整理汇总了Python中indico.modules.users.User.find方法的典型用法代码示例。如果您正苦于以下问题:Python User.find方法的具体用法?Python User.find怎么用?Python User.find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类indico.modules.users.User
的用法示例。
在下文中一共展示了User.find方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getVars
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def getVars(self):
wvars = wcomponents.WTemplated.getVars(self)
minfo = info.HelperMaKaCInfo.getMaKaCInfoInstance()
wvars['title'] = minfo.getTitle()
wvars['organisation'] = minfo.getOrganisation()
wvars['supportEmail'] = Config.getInstance().getSupportEmail()
wvars['publicSupportEmail'] = Config.getInstance().getPublicSupportEmail()
wvars['noReplyEmail'] = Config.getInstance().getNoReplyEmail()
wvars['lang'] = Config.getInstance().getDefaultLocale()
wvars['address'] = ''
if minfo.getCity() != '':
wvars['address'] = minfo.getCity()
if minfo.getCountry() != '':
if wvars['address'] != '':
wvars['address'] = '{0} ({1})'.format(wvars['address'], minfo.getCountry())
else:
wvars['address'] = minfo.getCountry()
wvars['timezone'] = Config.getInstance().getDefaultTimezone()
wvars['systemIconAdmins'] = Config.getInstance().getSystemIconURL('admin')
wvars['administrators'] = fossilize(sorted([u.as_avatar for u in User.find(is_admin=True, is_deleted=False)],
key=methodcaller('getStraightFullName')))
wvars['tracker_url'] = urljoin(Config.getInstance().getTrackerURL(),
'api/instance/{}'.format(cephalopod_settings.get('uuid')))
wvars['cephalopod_data'] = {'enabled': cephalopod_settings.get('joined'),
'contact': cephalopod_settings.get('contact_name'),
'email': cephalopod_settings.get('contact_email'),
'url': Config.getInstance().getBaseURL(),
'organisation': minfo.getOrganisation()}
return wvars
示例2: _process
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def _process(self):
form = SearchForm(obj=FormDefaults(exact=True))
form_data = form.data
search_results = None
num_of_users = User.query.count()
num_deleted_users = User.find(is_deleted=True).count()
if form.validate_on_submit():
search_results = []
exact = form_data.pop('exact')
include_deleted = form_data.pop('include_deleted')
include_pending = form_data.pop('include_pending')
external = form_data.pop('external')
form_data = {k: v for (k, v) in form_data.iteritems() if v and v.strip()}
matches = search_users(exact=exact, include_deleted=include_deleted,
include_pending=include_pending, external=external, **form_data)
for entry in matches:
if isinstance(entry, User):
search_results.append(UserEntry(
profile_url=url_for('.user_profile', entry),
**{k: getattr(entry, k) for k in IDENTITY_ATTRIBUTES}
))
else:
search_results.append(UserEntry(
profile_url=None,
full_name="{first_name} {last_name}".format(**entry.data.to_dict()),
**{k: entry.data.get(k) for k in (IDENTITY_ATTRIBUTES - {'full_name'})}
))
search_results.sort(key=attrgetter('first_name', 'last_name'))
num_reg_requests = RegistrationRequest.query.count()
return WPUsersAdmin.render_template('users_admin.html', form=form, search_results=search_results,
num_of_users=num_of_users, num_deleted_users=num_deleted_users,
num_reg_requests=num_reg_requests)
示例3: create
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def create(grant_admin):
"""Creates a new user"""
user_type = 'user' if not grant_admin else 'admin'
while True:
email = prompt_email()
if email is None:
return
email = email.lower()
if not User.find(User.all_emails.contains(email), ~User.is_deleted, ~User.is_pending).count():
break
print(cformat('%{red}Email already exists'))
first_name = click.prompt("First name").strip()
last_name = click.prompt("Last name").strip()
affiliation = click.prompt("Affiliation", '').strip()
print()
while True:
username = click.prompt("Enter username").lower().strip()
if not Identity.find(provider='indico', identifier=username).count():
break
print(cformat('%{red}Username already exists'))
password = prompt_pass()
if password is None:
return
identity = Identity(provider='indico', identifier=username, password=password)
user = create_user(email, {'first_name': to_unicode(first_name), 'last_name': to_unicode(last_name),
'affiliation': to_unicode(affiliation)}, identity)
user.is_admin = grant_admin
_print_user_info(user)
if click.confirm(cformat("%{yellow}Create the new {}?").format(user_type), default=True):
db.session.add(user)
db.session.commit()
print(cformat("%{green}New {} created successfully with ID: %{green!}{}").format(user_type, user.id))
示例4: getVars
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def getVars(self):
wvars = wcomponents.WTemplated.getVars(self)
minfo = info.HelperMaKaCInfo.getMaKaCInfoInstance()
wvars['title'] = minfo.getTitle()
wvars['organisation'] = minfo.getOrganisation()
wvars['supportEmail'] = Config.getInstance().getSupportEmail()
wvars['publicSupportEmail'] = Config.getInstance().getPublicSupportEmail()
wvars['noReplyEmail'] = Config.getInstance().getNoReplyEmail()
wvars['lang'] = minfo.getLang()
wvars['address'] = ''
if minfo.getCity() != '':
wvars['address'] = minfo.getCity()
if minfo.getCountry() != '':
if wvars['address'] != '':
wvars['address'] = '{0} ({1})'.format(wvars['address'], minfo.getCountry())
else:
wvars['address'] = minfo.getCountry()
wvars['timezone'] = Config.getInstance().getDefaultTimezone()
wvars['systemIconAdmins'] = Config.getInstance().getSystemIconURL('admin')
iconDisabled = str(Config.getInstance().getSystemIconURL('disabledSection'))
iconEnabled = str(Config.getInstance().getSystemIconURL('enabledSection'))
url = urlHandlers.UHAdminSwitchNewsActive.getURL()
icon = iconEnabled if minfo.isNewsActive() else iconDisabled
wvars['features'] = i18nformat('<a href="{}"><img src="{}" border="0"'
'style="float:left; padding-right: 5px">_("News Pages")</a>').format(url, icon)
wvars['administrators'] = fossilize(sorted([u.as_avatar for u in User.find(is_admin=True, is_deleted=False)],
key=methodcaller('getStraightFullName')))
wvars['tracker_url'] = urljoin(Config.getInstance().getTrackerURL(),
'api/instance/{}'.format(cephalopod_settings.get('uuid')))
wvars['cephalopod_data'] = {'enabled': cephalopod_settings.get('joined'),
'contact': cephalopod_settings.get('contact_name'),
'email': cephalopod_settings.get('contact_email'),
'url': Config.getInstance().getBaseURL(),
'organisation': minfo.getOrganisation()}
return wvars
示例5: getVars
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def getVars( self ):
vars = wcomponents.WTemplated.getVars( self )
minfo = info.HelperMaKaCInfo.getMaKaCInfoInstance()
vars["title"] = minfo.getTitle()
vars["organisation"] = minfo.getOrganisation()
vars['supportEmail'] = Config.getInstance().getSupportEmail()
vars['publicSupportEmail'] = Config.getInstance().getPublicSupportEmail()
vars['noReplyEmail'] = Config.getInstance().getNoReplyEmail()
vars["lang"] = minfo.getLang()
vars["address"] = ""
if minfo.getCity() != "":
vars["address"] = minfo.getCity()
if minfo.getCountry() != "":
if vars["address"] != "":
vars["address"] = "%s (%s)"%(vars["address"], minfo.getCountry())
else:
vars["address"] = "%s"%minfo.getCountry()
vars["timezone"] = Config.getInstance().getDefaultTimezone()
vars["systemIconAdmins"] = Config.getInstance().getSystemIconURL( "admin" )
iconDisabled = str(Config.getInstance().getSystemIconURL( "disabledSection" ))
iconEnabled = str(Config.getInstance().getSystemIconURL( "enabledSection" ))
url = urlHandlers.UHAdminSwitchNewsActive.getURL()
icon = iconEnabled if minfo.isNewsActive() else iconDisabled
vars["features"] = i18nformat("""<a href="%s"><img src="%s" border="0" style="float:left; padding-right: 5px">_("News Pages")</a>""") % (url, icon)
vars["administrators"] = fossilize(sorted([u.as_avatar for u in User.find(is_admin=True, is_deleted=False)],
key=methodcaller('getStraightFullName')))
return vars
示例6: _getAnswer
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def _getAnswer(self):
for fossil in self._userList:
user = User.get(int(fossil['id']))
if user is not None:
user.is_admin = True
admins = User.find(is_admin=True, is_deleted=False).order_by(User.first_name, User.last_name).all()
return fossilize([u.as_avatar for u in admins])
示例7: user_create
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def user_create(grant_admin):
"""Creates new user"""
update_session_options(db)
user_type = 'user' if not grant_admin else 'admin'
while True:
email = prompt_email()
if email is None:
return
email = email.lower()
if not User.find(User.all_emails.contains(email), ~User.is_deleted, ~User.is_pending).count():
break
error('Email already exists')
first_name = prompt("First name")
last_name = prompt("Last name")
affiliation = prompt("Affiliation", '')
print()
while True:
username = prompt("Enter username").lower()
if not Identity.find(provider='indico', identifier=username).count():
break
error('Username already exists')
password = prompt_pass()
if password is None:
return
identity = Identity(provider='indico', identifier=username, password=password)
user = create_user(email, {'first_name': to_unicode(first_name), 'last_name': to_unicode(last_name),
'affiliation': to_unicode(affiliation)}, identity)
user.is_admin = grant_admin
print_user_info(user)
if prompt_bool(cformat("%{yellow}Create the new {}?").format(user_type), default=True):
db.session.add(user)
db.session.commit()
success("New {} created successfully with ID: {}".format(user_type, user.id))
示例8: migrate_favorite_users
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def migrate_favorite_users(self):
print cformat('%{white!}migrating favorite users')
for avatars in grouper(self._iter_avatars_with_favorite_users(), 2500, skip_missing=True):
avatars = list(avatars)
users = {u.id: u for u in User.find(User.id.in_(int(a.id) for a, _ in avatars))}
for avatar, user_ids in committing_iterator(avatars, 1000):
user = users.get(int(avatar.id))
if user is None:
print cformat('%{red!}!!!%{reset} '
'%{yellow!}User {} does not exist').format(avatar.id)
continue
print cformat('%{green}+++%{reset} '
'%{white!}{:6d}%{reset} %{cyan}{}%{reset}').format(user.id, user.full_name)
valid_users = {u.id: u for u in User.find(User.id.in_(user_ids))}
for user_id in user_ids:
target = valid_users.get(user_id)
if target is None:
print cformat('%{yellow!}!!!%{reset} '
'%{yellow!}User {} does not exist').format(user_id)
continue
user.favorite_users.add(target)
print cformat('%{blue!}<->%{reset} '
'%{white!}{:6d}%{reset} %{cyan}{}%{reset}').format(target.id, target.full_name)
示例9: migrate_links
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def migrate_links(self):
print cformat('%{white!}migrating links')
for avatars in grouper(self._iter_avatars(), 2500, skip_missing=True):
avatars = {int(a.id): a for a in avatars}
users = ((u, avatars[u.id]) for u in User.find(User.id.in_(avatars)))
for user, avatar in committing_iterator(self.flushing_iterator(users, 250), 2500):
registrants = set()
user_shown = False
for type_, entries in avatar.linkedTo.iteritems():
# store registrant roles, in order to avoid duplication below
for role, objects in entries.iteritems():
if (type_ == 'category' and role == 'favorite') or type_ == 'group':
continue
if not objects:
continue
if type_ == 'registration' and role == 'registrant':
registrants |= set(objects)
if not user_shown:
print cformat('%{green}+++%{reset} '
'%{white!}{:6d}%{reset} %{cyan}{}%{reset}').format(user.id, user.full_name)
user_shown = True
print cformat('%{blue!}<->%{reset} '
'%{yellow!}{:4d}%{reset}x %{green!}{:12} %{cyan!}{}%{reset}').format(
len(objects), type_, role)
for obj in objects:
try:
UserLink.create_link(user, obj, role, type_)
except Exception as e:
print cformat('%{red!}!!!%{reset} '
'%{red!}linking failed%{reset} (%{yellow!}{}%{reset}): '
'{}').format(unicode(e), obj)
# add old "registrant" entries to registration/registrant
for reg in getattr(avatar, 'registrants', {}).itervalues():
if reg.getConference().getOwner() and reg not in registrants:
UserLink.create_link(user, reg, 'registrant', 'registration')
print cformat('%{cyan!}<->%{reset} '
'%{yellow!} 1%{reset}x %{green!}{:12} %{cyan!}{}%{reset}').format(
'registration', 'registrant')
示例10: has_data
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def has_data(self):
return bool(User.find().count())
示例11: _count_users
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def _count_users(self):
return User.find(is_deleted=False, is_pending=False).count()
示例12: get_admin_emails
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def get_admin_emails():
"""Get the email addresses of all Indico admins"""
return {u.email for u in User.find(is_admin=True, is_deleted=False)}
示例13: _getAnswer
# 需要导入模块: from indico.modules.users import User [as 别名]
# 或者: from indico.modules.users.User import find [as 别名]
def _getAnswer(self):
user = User.get(self._userId)
if user is not None:
user.is_admin = False
return fossilize([u.as_avatar for u in User.find(is_admin=True)])