本文整理汇总了Python中web.processors.event.create_or_update_event函数的典型用法代码示例。如果您正苦于以下问题:Python create_or_update_event函数的具体用法?Python create_or_update_event怎么用?Python create_or_update_event使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了create_or_update_event函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: edit_event
def edit_event(request, event_id):
event = get_event_by_id(event_id)
user = request.user
initial = get_initial_data(event)
initial['user_email'] = request.user.email
event_data = {}
if request.method == 'POST':
event_form = AddEventForm(data=request.POST, files=request.FILES)
else:
event_form = AddEventForm(initial=initial)
existing_picture = event.picture
if event_form.is_valid():
# picture_check works with jasny bootstrap magix
picture_check = request.POST.get('picture')
picture = request.FILES.get('picture', None)
event_data = event_form.cleaned_data
event_data['creator'] = request.user
# checking if user entered a different email than in her profile
if user.email != event_data['user_email']:
update_user_email(user.id, event_data['user_email'])
event_data.pop('user_email')
try:
if picture:
if picture.size > (256 * 1024):
raise ImageSizeTooLargeException('Image size too large.')
event_data['picture'] = process_image(picture)
elif picture_check == "nochange":
event_data['picture'] = existing_picture
else:
del event_data['picture']
create_or_update_event(event_id, **event_data)
return HttpResponseRedirect(
reverse(
'web.view_event',
kwargs={
'event_id': event.id,
'slug': event.slug}))
except ImageSizeTooLargeException:
messages.error(
request, 'The image is just a bit too big for us (must be up to 256 kb). '
'Please reduce your image size and try agin.')
except UploadImageError as e:
messages.error(request, e.message)
return render_to_response(
'pages/add_event.html', {
'form': event_form,
'address': event_data.get('location', None),
'editing': True,
'picture_url': event.picture,
}, context_instance=RequestContext(request))
示例2: edit_event
def edit_event(request, event_id):
event = get_event_by_id(event_id)
user = request.user
initial = get_initial_data(event)
initial["user_email"] = request.user.email
event_data = {}
if request.method == "POST":
event_form = AddEventForm(data=request.POST, files=request.FILES)
else:
event_form = AddEventForm(initial=initial)
existing_picture = event.picture
if event_form.is_valid():
# picture_check works with jasny bootstrap magix
picture_check = request.POST.get("picture")
picture = request.FILES.get("picture", None)
event_data = event_form.cleaned_data
event_data["creator"] = request.user
# checking if user entered a different email than in her profile
if user.email != event_data["user_email"]:
update_user_email(user.id, event_data["user_email"])
event_data.pop("user_email")
try:
if picture:
if picture.size > (256 * 1024):
raise ImageSizeTooLargeException("Image size too large.")
event_data["picture"] = process_image(picture)
elif picture_check == "nochange":
event_data["picture"] = existing_picture
else:
del event_data["picture"]
create_or_update_event(event_id, **event_data)
return HttpResponseRedirect(reverse("web.view_event", kwargs={"event_id": event.id, "slug": event.slug}))
except ImageSizeTooLargeException:
messages.error(
request,
"The image is just a bit too big for us (must be up to 256 kb). "
"Please reduce your image size and try agin.",
)
except UploadImageError as e:
messages.error(request, e.message)
return render_to_response(
"pages/add_event.html",
{
"form": event_form,
"address": event_data.get("location", None),
"editing": True,
"picture_url": event.picture,
},
context_instance=RequestContext(request),
)
示例3: test_scoreboard_api
def test_scoreboard_api(self, client, admin_user):
event_data = {
"start_date": datetime.datetime.now() -
datetime.timedelta(
days=1,
hours=3),
"end_date": datetime.datetime.now() +
datetime.timedelta(
days=3,
hours=3),
"organizer": "some organizer",
"creator": admin_user,
"title": "Event in SI",
"pub_date": datetime.datetime.now(),
"country": "SI",
"geoposition": Geoposition(
46.05528,
14.51444),
"location": "Ljubljana",
"audience": [1],
"theme": [1],
"tags": [
"tag1",
"tag2"],
}
event = create_or_update_event(**event_data)
event.status = 'APPROVED'
event.save()
event_data = {
"start_date": datetime.datetime.now() - datetime.timedelta(days=1, hours=3),
"end_date": datetime.datetime.now() + datetime.timedelta(days=3, hours=3),
"organizer": "other organizer",
"creator": admin_user,
"title": "Event in IS",
"pub_date": datetime.datetime.now(),
"country": "IS",
"geoposition": Geoposition(64.13244, -21.85690),
"location": "Reykjavík",
"audience": [1],
"theme": [1],
"tags": ["tag1", "tag2"],
}
event = create_or_update_event(**event_data)
event.status = 'APPROVED'
event.save()
response_json = client.get('/api/scoreboard/?format=json')
response_data = json.loads(response_json.content)
assert isinstance(response_data, list)
assert len(response_data) > 1
assert response_data[0]["country_name"] == "Iceland"
assert response_data[1]["country_name"] == "Slovenia"
示例4: test_edit_event_with_all_fields
def test_edit_event_with_all_fields(self):
# First create a new event
with open(local(__file__).dirname + '/../../static/img/team/alja.jpg') as fp:
io = StringIO.StringIO()
io.write(fp.read())
uploaded_picture = InMemoryUploadedFile(
io, None, "alja.jpg", "jpeg", io.len, None)
uploaded_picture.seek(0)
event_data = {
"end_date": datetime.datetime.now(),
"start_date": datetime.datetime.now(),
"organizer": "some organizer",
"creator": User.objects.filter(pk=1)[0],
"title": "event title",
"pub_date": datetime.datetime.now(),
"country": "SI",
"geoposition": Geoposition(46.05528, 14.51444),
"location": "Ljubljana",
"audience": [1],
"theme": [1],
"tags": ["tag1", "tag2"],
"picture": uploaded_picture
}
test_event = create_or_update_event(**event_data)
# Then edit it
with open(local(__file__).dirname + '/../../static/img/team/ercchy.jpg') as fp:
io = StringIO.StringIO()
io.write(fp.read())
uploaded_picture = InMemoryUploadedFile(
io, None, "ercchy.jpg", "jpeg", io.len, None)
uploaded_picture.seek(0)
event_data = {
"end_date": datetime.datetime.now(),
"start_date": datetime.datetime.now(),
"organizer": "another organiser",
"creator": User.objects.filter(pk=1)[0],
"title": "event title - edited",
"pub_date": datetime.datetime.now(),
"country": "SI",
# "geoposition": Geoposition(46.05528,14.51444),
"location": "Ljubljana",
"audience": [1],
"theme": [1],
"tags": ["tag3", "tag4"],
"picture": uploaded_picture
}
test_event = create_or_update_event(
event_id=test_event.id, **event_data)
assert "tag1" not in test_event.tags.names()
assert 'event_picture/alja' not in test_event.picture
assert 'event_picture/ercchy' in test_event.picture.path
示例5: test_create_event_in_each_listed_country
def test_create_event_in_each_listed_country(admin_user, db):
all_countries = list_countries()
for country in all_countries[2:]:
country_code = country[1]
country_name = country[0]
event_data = {
"audience": [3],
"theme": [1, 2],
"contact_person": u"[email protected]",
"country": country_code,
"description": u"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\r\ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,\r\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\r\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse\r\ncillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non\r\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"event_url": u"",
"location": country_name,
"organizer": u"RailsGirls " + country_name,
"creator": admin_user,
"start_date": datetime.datetime.now(),
"end_date": datetime.datetime.now() + datetime.timedelta(days=3, hours=3),
"tags": [u"css", u"html", u"web"],
"title": u"RailsGirls " + country_name,
}
test_event = create_or_update_event(event_id=None, **event_data)
assert country_code == test_event.country.code
test_event.delete()
示例6: test_create_event_from_dict_with_all_fields
def test_create_event_from_dict_with_all_fields(self):
with open(local(__file__).dirname + "/../../static/img/team/alja.jpg") as fp:
io = StringIO.StringIO()
io.write(fp.read())
uploaded_picture = InMemoryUploadedFile(io, None, "alja.jpg", "jpeg", io.len, None)
uploaded_picture.seek(0)
event_data = {
"end_date": datetime.datetime.now(),
"start_date": datetime.datetime.now(),
"organizer": "some organizer",
"creator": User.objects.filter(pk=1)[0],
"title": "event title",
"pub_date": datetime.datetime.now(),
"country": "SI",
"geoposition": Geoposition(46.05528, 14.51444),
"location": "Ljubljana",
"audience": [1],
"theme": [1],
"tags": ["tag1", "tag2"],
"picture": uploaded_picture,
}
test_event = create_or_update_event(**event_data)
self.assertEqual(2, test_event.pk)
self.assertEqual("Ljubljana", test_event.location)
self.assertEqual("46.05528", str(test_event.geoposition.latitude))
self.assertIn("tag1", test_event.tags.names())
self.assertIn("tag2", test_event.tags.names())
assert "event_picture/alja" in test_event.picture.path
示例7: add_event
def add_event(request):
event_form = AddEventForm()
if request.method == 'POST':
event_form = AddEventForm(data=request.POST, files=request.FILES)
if event_form.is_valid():
picture = request.FILES.get('picture', None)
event_data = {}
try:
if picture:
if picture.size > (256 * 1024):
raise ImageSizeTooLargeException('Image size too large.')
event_data['picture'] = process_image(picture)
event_data.update(event_form.cleaned_data)
event_data['creator'] = request.user
event = create_or_update_event(**event_data)
t = loader.get_template('alerts/thank_you.html')
c = Context({'event': event, })
messages.info(request, t.render(c))
return HttpResponseRedirect(reverse('web.view_event', args=[event.pk, event.slug]))
except ImageSizeTooLargeException:
messages.error(request, 'The image is just a bit too big for us. '
'Please reduce your image size and try agin.')
except UploadImageError as e:
messages.error(request, e.message)
return render_to_response("pages/add_event.html", {
'form': event_form,
}, context_instance=RequestContext(request))
示例8: test_view_just_id
def test_view_just_id(admin_user, db, client):
event_data = {
'audience': [3],
'theme': [1, 2],
'contact_person': u'[email protected]',
'country': u'SI',
'description': u'Lorem ipsum dolor sit amet',
'event_url': u'',
'location': u'Ljubljana, Slovenia',
'organizer': u'CodeCatz test',
"creator": admin_user,
'start_date': datetime.datetime.now(),
'end_date': datetime.datetime.now() + datetime.timedelta(days=3, hours=3),
'tags': [u'css', u'html', u'web'],
'title': u'Redirect Test',
}
test_event = create_or_update_event(event_id=None, **event_data)
# Test without a slash in the end
response = client.get('/view/1')
assert response.status_code == 301
# Test with a slash in the end
response = client.get('/view/1/')
assert response.status_code == 302
示例9: test_event_list_all
def test_event_list_all(self, client, admin_user):
event_data = {
"start_date": datetime.datetime.now() - datetime.timedelta(days=1, hours=3),
"end_date": datetime.datetime.now() + datetime.timedelta(days=3, hours=3),
"organizer": "some organizer",
"creator": admin_user,
"title": "Unique REST API Event",
"pub_date": datetime.datetime.now(),
"country": "SI",
"geoposition": Geoposition(46.05528,14.51444),
"location": "Ljubljana",
"audience": [1],
"theme": [1],
"tags": ["tag1", "tag2"],
}
event = create_or_update_event(**event_data)
event.status = 'APPROVED'
event.save()
response_json = client.get('/api/event/list/?format=json')
response_data = json.loads(response_json.content)
assert isinstance(response_data, list)
assert event_data['title'] in response_json.content
示例10: create_event
def create_event(
self,
title="Event title",
start_date=datetime.datetime.now() +
datetime.timedelta(
days=0,
hours=3),
end_date=datetime.datetime.now() +
datetime.timedelta(
days=1,
hours=3),
country_code="SI",
status="PENDING"):
event_data = {
"end_date": start_date,
"start_date": end_date,
"organizer": "Test organizer",
"creator": self.get_user(),
"title": title,
"pub_date": datetime.datetime.now(),
"country": country_code,
"geoposition": "46.05528,14.51444",
"location": "Ljubljana",
"audience": [1],
"theme": [1],
"status": status,
}
return create_or_update_event(**event_data)
示例11: test_create_event_from_dictionary_with_missing_required_fields
def test_create_event_from_dictionary_with_missing_required_fields(self):
with self.assertRaises(IntegrityError):
event_data = {
"end_date": datetime.datetime.now(),
"start_date": datetime.datetime.now(),
"organizer": "some organizer"
}
test_event = create_or_update_event(**event_data)
示例12: edit_event
def edit_event(request, event_id):
event = get_event_by_id(event_id)
initial = get_initial_data(event)
event_data = {}
if request.method == 'POST':
event_form = AddEventForm(data=request.POST, files=request.FILES)
else:
event_form = AddEventForm(initial=initial)
if event_form.is_valid():
picture = request.FILES.get('picture', None)
event_data = event_form.cleaned_data
event_data['creator'] = request.user
try:
if picture:
if picture.size > (256 * 1024):
raise ImageSizeTooLargeException('Image size too large.')
event_data['picture'] = process_image(picture)
else:
del event_data['picture']
create_or_update_event(event_id, **event_data)
return HttpResponseRedirect(reverse('web.view_event',
kwargs={'event_id': event.id, 'slug': event.slug}))
except ImageSizeTooLargeException:
messages.error(request, 'The image is just a bit too big for us (must be up to 256 kb). '
'Please reduce your image size and try agin.')
except UploadImageError as e:
messages.error(request, e.message)
return render_to_response(
'pages/add_event.html', {
'form': event_form,
'address': event_data.get('location', None),
'editing': True,
'picture_url': event.picture,
}, context_instance=RequestContext(request))
示例13: test_create_event_from_dictionary_with_all_required_fields
def test_create_event_from_dictionary_with_all_required_fields(self):
event_data = {
"end_date": datetime.datetime.now(),
"start_date": datetime.datetime.now(),
"organizer": "some organizer",
"creator": User.objects.filter(pk=1)[0],
"title": "event title",
"pub_date": datetime.datetime.now(),
}
test_event = create_or_update_event(**event_data)
self.assertEqual(2, test_event.pk)
self.assertEqual("event title", test_event.title)
示例14: test_scoreboard_links_and_results
def test_scoreboard_links_and_results(admin_user, db, client):
test_country_name = "Slovenia"
test_country_code = "SI"
search_url = reverse("web.search_events") + "?country_code=%s&past=yes" % test_country_code
event_data = {
"audience": [3],
"theme": [1, 2],
"country": test_country_code,
"description": u"Lorem ipsum dolor sit amet.",
"location": test_country_name,
"organizer": u"testko",
"creator": admin_user,
"start_date": datetime.datetime.now(),
"end_date": datetime.datetime.now() + datetime.timedelta(days=3, hours=3),
"title": u"Test Approved Event",
"status": "APPROVED",
}
test_approved_event = create_or_update_event(event_id=None, **event_data)
for country in count_approved_events_for_country():
if country["country_code"] == test_country_code:
event_count = country["events"]
response = client.get(reverse("web.scoreboard"))
# We're expecting to see this bit of HTML code with the right
# search URL and the right count for events
expected_result = """
<span class="country-name">%s</span><p> is participating with </p>
<a href="%s">
<span class="event-number">%s event
""" % (
test_country_name,
search_url,
event_count,
)
expected_result = expected_result.replace("\t", "").replace("\n", "")
scoreboard_content = response.content.replace("\t", "").replace("\n", "")
# The search URL shown on scoreboard also has to match search results
search_response = client.get(search_url)
expected_search_result = '<div class="search-counter">%s event' % event_count
assert expected_result in scoreboard_content
assert expected_search_result in search_response.content
test_approved_event.delete()
示例15: add_event
def add_event(request):
event_form = AddEvent()
if request.method =="POST":
event_form = AddEvent(data=request.POST, files=request.FILES)
if event_form.is_valid():
event_data = {}
event_data.update(event_form.cleaned_data)
event = create_or_update_event(**event_data)
return render_to_response(
'pages/thankyou.html',
{'title': event.title, 'event_id': event.id},
context_instance=RequestContext(request))
context = {"form": event_form}
return render_to_response("pages/add_event.html", context, context_instance=RequestContext(request))