本文整理汇总了Python中website.conferences.model.Conference类的典型用法代码示例。如果您正苦于以下问题:Python Conference类的具体用法?Python Conference怎么用?Python Conference使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Conference类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setUp
def setUp(self):
super(TestMeetingCreateFormView, self).setUp()
Conference.remove()
self.user = AuthUserFactory()
self.request = RequestFactory().post('/fake_path')
self.view = MeetingCreateFormView()
mod_data = dict(data)
mod_data.update({'admins': self.user.emails[0]})
self.form = MeetingForm(data=mod_data)
self.form.is_valid()
示例2: form_valid
def form_valid(self, form):
custom_fields, data = get_custom_fields(form.cleaned_data)
endpoint = data.pop("endpoint")
self.kwargs.setdefault("endpoint", endpoint)
# Form validation already checks emails for existence
admin_users = get_admin_users(data.pop("admins"))
# Form validation already catches if a conference endpoint exists
new_conf = Conference(endpoint=endpoint, admins=admin_users, **data)
new_conf.field_names.update(custom_fields)
new_conf.save()
return super(MeetingCreateFormView, self).form_valid(form)
示例3: meeting_hook
def meeting_hook():
"""View function for email conference submission.
"""
message = ConferenceMessage()
try:
message.verify()
except ConferenceError as error:
logger.error(error)
raise HTTPError(httplib.NOT_ACCEPTABLE)
try:
conference = Conference.get_by_endpoint(message.conference_name, active=False)
except ConferenceError as error:
logger.error(error)
raise HTTPError(httplib.NOT_ACCEPTABLE)
if not conference.active:
send_mail(
message.sender_email,
CONFERENCE_INACTIVE,
fullname=message.sender_display,
presentations_url=web_url_for('conference_view', _absolute=True),
)
raise HTTPError(httplib.NOT_ACCEPTABLE)
add_poster_by_email(conference=conference, message=message)
示例4: test_form_valid
def test_form_valid(self):
view = setup_form_view(self.view, self.request, self.form)
view.form_valid(self.form)
nt.assert_equal(
Conference.find(Q('endpoint', 'iexact', data['endpoint'])).count(),
1
)
示例5: dispatch
def dispatch(self, request, *args, **kwargs):
endpoint = self.kwargs.get("endpoint")
try:
self.conf = Conference.get_by_endpoint(endpoint, active=False)
except ConferenceError:
raise Http404('Meeting with endpoint "{}" not found'.format(endpoint))
return super(MeetingFormView, self).dispatch(request, *args, **kwargs)
示例6: conference_view
def conference_view(**kwargs):
meetings = []
submissions = []
for conf in Conference.find():
# For efficiency, we filter by tag first, then node
# instead of doing a single Node query
projects = set()
for tag in Tag.find(Q('_id', 'iexact', conf.endpoint)):
for node in tag.node__tagged:
if not node:
continue
if not node.is_public or node.is_deleted:
continue
projects.add(node)
for idx, node in enumerate(projects):
submissions.append(_render_conference_node(node, idx, conf))
num_submissions = len(projects)
if num_submissions < settings.CONFERENCE_MIN_COUNT:
continue
meetings.append({
'name': conf.name,
'active': conf.active,
'url': web_url_for('conference_results', meeting=conf.endpoint),
'count': num_submissions,
})
submissions.sort(key=lambda submission: submission['dateCreated'], reverse=True)
meetings.sort(key=lambda meeting: meeting['count'], reverse=True)
return {'meetings': meetings, 'submissions': submissions}
示例7: conference_submissions
def conference_submissions(**kwargs):
"""Return data for all OSF4M submissions.
The total number of submissions for each meeting is calculated and cached
in the Conference.num_submissions field.
"""
submissions = []
for conf in Conference.find():
# For efficiency, we filter by tag first, then node
# instead of doing a single Node query
projects = set()
for tag in Tag.find(Q('lower', 'eq', conf.endpoint.lower())):
for node in tag.node__tagged.find(Q('is_public', 'eq', True) & Q('is_deleted', 'eq', False)):
projects.add(node)
for idx, node in enumerate(projects):
submissions.append(_render_conference_node(node, idx, conf))
num_submissions = len(projects)
# Cache the number of submissions
conf.num_submissions = num_submissions
conf.save()
if num_submissions < settings.CONFERENCE_MIN_COUNT:
continue
submissions.sort(key=lambda submission: submission['dateCreated'], reverse=True)
return {'submissions': submissions}
示例8: conference_view
def conference_view(**kwargs):
meetings = []
submissions = []
for conf in Conference.find():
query = (
Q('tags', 'iexact', conf.endpoint)
& Q('is_public', 'eq', True)
& Q('is_deleted', 'eq', False)
)
projects = Node.find(query)
for idx, node in enumerate(projects):
submissions.append(_render_conference_node(node, idx, conf))
num_submissions = projects.count()
if num_submissions < settings.CONFERNCE_MIN_COUNT:
continue
meetings.append({
'name': conf.name,
'active': conf.active,
'url': web_url_for('conference_results', meeting=conf.endpoint),
'count': num_submissions,
})
submissions.sort(key=lambda submission: submission['dateCreated'], reverse=True)
meetings.sort(key=lambda meeting: meeting['count'], reverse=True)
return {'meetings': meetings, 'submissions': submissions}
示例9: conference_submissions
def conference_submissions(**kwargs):
"""Return data for all OSF4M submissions.
The total number of submissions for each meeting is calculated and cached
in the Conference.num_submissions field.
"""
submissions = []
# TODO: Revisit this loop, there has to be a way to optimize it
for conf in Conference.find():
# For efficiency, we filter by tag first, then node
# instead of doing a single Node query
projects = set()
tags = Tag.find(Q('lower', 'eq', conf.endpoint.lower())).get_keys()
nodes = Node.find(
Q('tags', 'in', tags) &
Q('is_public', 'eq', True) &
Q('is_deleted', 'ne', True)
)
projects.update(list(nodes))
for idx, node in enumerate(projects):
submissions.append(_render_conference_node(node, idx, conf))
num_submissions = len(projects)
# Cache the number of submissions
conf.num_submissions = num_submissions
conf.save()
if num_submissions < settings.CONFERENCE_MIN_COUNT:
continue
submissions.sort(key=lambda submission: submission['dateCreated'], reverse=True)
return {'submissions': submissions}
示例10: test_add_conference
def test_add_conference(self):
user = UserFactory()
add_conference('spsp2014', name='SPSP', admins=[user.username], active=True)
conf = Conference.find_one(Q('endpoint', 'eq', 'spsp2014'))
assert_equal(conf.name, 'SPSP')
assert_true(conf.active)
assert_in(user, conf.admins)
示例11: conference_data
def conference_data(meeting):
try:
Conference.find_one(Q('endpoint', 'iexact', meeting))
except ModularOdmException:
raise HTTPError(httplib.NOT_FOUND)
nodes = Node.find(
Q('tags', 'iexact', meeting) &
Q('is_public', 'eq', True) &
Q('is_deleted', 'eq', False)
)
ret = [
_render_conference_node(each, idx)
for idx, each in enumerate(nodes)
]
return ret
示例12: conference_data
def conference_data(meeting):
try:
conf = Conference.find_one(Q("endpoint", "iexact", meeting))
except ModularOdmException:
raise HTTPError(httplib.NOT_FOUND)
nodes = Node.find(Q("tags", "iexact", meeting) & Q("is_public", "eq", True) & Q("is_deleted", "eq", False))
ret = [_render_conference_node(each, idx, conf) for idx, each in enumerate(nodes)]
return ret
示例13: populate_conferences
def populate_conferences():
for meeting, attrs in MEETING_DATA.iteritems():
meeting = meeting.strip()
admin_emails = attrs.pop('admins', [])
admin_objs = []
for email in admin_emails:
try:
user = User.find_one(Q('username', 'iexact', email))
admin_objs.append(user)
except ModularOdmException:
raise RuntimeError('Username {0!r} is not registered.'.format(email))
conf = Conference(
endpoint=meeting, admins=admin_objs, **attrs
)
try:
conf.save()
except ModularOdmException:
conf = Conference.find_one(Q('endpoint', 'eq', meeting))
for key, value in attrs.items():
setattr(conf, key, value)
conf.admins = admin_objs
changed_fields = conf.save()
if changed_fields:
print('Updated {}: {}'.format(meeting, changed_fields))
else:
print('Added new Conference: {}'.format(meeting))
示例14: populate_conferences
def populate_conferences():
for meeting, attrs in MEETING_DATA.iteritems():
meeting = meeting.strip()
admin_emails = attrs.pop("admins")
admin_objs = []
for email in admin_emails:
try:
user = User.find_one(Q("username", "iexact", email))
admin_objs.append(user)
except ModularOdmException:
raise RuntimeError("Username {0!r} is not registered.".format(email))
conf = Conference(endpoint=meeting, admins=admin_objs, **attrs)
try:
conf.save()
except ModularOdmException:
print("{0} Conference already exists. Updating existing record...".format(meeting))
conf = Conference.find_one(Q("endpoint", "eq", meeting))
for key, value in attrs.items():
setattr(conf, key, value)
conf.admins = admin_objs
changed_fields = conf.save()
if changed_fields:
print("Changed: {}".format(changed_fields))
else:
print("Added new Conference: {}".format(meeting))
示例15: populate_conferences
def populate_conferences():
for meeting, attrs in MEETING_DATA.iteritems():
custom_fields = attrs.pop("field_names", {})
conf = Conference(endpoint=meeting, **attrs)
conf.field_names.update(custom_fields)
try:
conf.save()
except ModularOdmException:
conf = Conference.find_one(Q("endpoint", "eq", meeting))
for key, value in attrs.items():
if isinstance(value, dict):
current = getattr(conf, key)
current.update(value)
setattr(conf, key, current)
else:
setattr(conf, key, value)
changed_fields = conf.save()
if changed_fields:
print("Updated {}: {}".format(meeting, changed_fields))
else:
print("Added new Conference: {}".format(meeting))