diff options
author | Magnus Hagander | 2022-04-19 19:28:53 +0000 |
---|---|---|
committer | Magnus Hagander | 2022-04-19 19:28:53 +0000 |
commit | ca9be3d90d4b105cd0af9933538f8dfa86cab10f (patch) | |
tree | cf5777adfa19db84a835b96cfa956f36e2dbdcf1 | |
parent | cd659150a9513fc495f716a8f9cb1554b14b6cc6 (diff) |
Don't crash on campaign preview with no sessions
The preview of campaign text won't produce anything useful when there
are no sessions at all avaliable, it it shouldn't crash. Instead, we'll
just return lengt 0 because we can't do anything useful.
Fixes #77
-rw-r--r-- | postgresqleu/confreg/campaigns.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/postgresqleu/confreg/campaigns.py b/postgresqleu/confreg/campaigns.py index 8c8e8f41..214e30d2 100644 --- a/postgresqleu/confreg/campaigns.py +++ b/postgresqleu/confreg/campaigns.py @@ -133,7 +133,13 @@ class ApprovedSessionsCampaign(object): if fieldname == 'content_template': # Generate a preview of 3 (an arbitrary number) sessions posts = [self.form.generate_tweet(conference, session, s) for session in ConferenceSession.objects.filter(conference=conference, status=1, cross_schedule=False)[:3]] - longest = max((get_shortened_post_length(self.form.generate_tweet(conference, session, s)) for session in ConferenceSession.objects.filter(conference=conference, status=1, cross_schedule=False))) + + sesslist = list(ConferenceSession.objects.filter(conference=conference, status=1, cross_schedule=False)) + if sesslist: + longest = max((get_shortened_post_length(self.form.generate_tweet(conference, session, s)) for session in sesslist)) + else: + longest = 0 + previews = "\n\n".join([ "{}\n\n------------------------------- (length {})".format( p, |