We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
DTS - Do this. Do that.
**URL:** https://opin-stage.liqd.net/de/blueprints/liquid-democracy-ev/
**user:** *initiator*
**expected behaviour:** *An explaining help text in english. Do this: Start a discussion and moderate it.  Do that: Participants can upload documents to deepen the exchange and share information.*
**behaviour:** *Lorem Ipsum text*


**Comment/Question:** *Would this be a story?* 

If needed or helpful you can add a screenshot. Since issues are public, make sure to not display personal or secret data.
<img width="877" alt="Bildschirmfoto 2020-07-28 um 08 41 19" src="https://user-images.githubusercontent.com/52459078/88628485-565c5500-d0ae-11ea-9630-78ada0dcd294.png">


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `euth/blueprints/blueprints.py`
Content:
```
1 from collections import namedtuple
2 from enum import Enum, unique
3 
4 from django.utils.translation import ugettext_lazy as _
5 
6 from adhocracy4.polls import phases as poll_phases
7 from euth.communitydebate import phases as communitydebate_phases
8 from euth.documents import phases as documents_phases
9 from euth.ideas import phases as ideas_phases
10 from euth.maps import phases as map_phases
11 
12 from .names import BlueprintNames
13 
14 
15 class BlueprintEnum(Enum):
16     def __new__(cls, value, label):
17         obj = object.__new__(cls)
18         obj._value_ = len(cls.__members__) + 1
19         obj._value = value
20         obj.label = label
21         return obj
22 
23     @property
24     def value(self):
25         return self._value
26 
27     @classmethod
28     def get(cls, value):
29         return next(m for m in cls if m._value == value)
30 
31 
32 @unique
33 class Aim(Enum):
34     collect_ideas = (
35         'collect_ideas',
36         _('Create and collect new ideas or visions.'),
37         [_('(Urban) planning processes'),
38          _('Develop concepts or guiding principles')]
39     )
40     discuss_topic = (
41         'discuss_topic',
42         _('Gather feedback on a topic and discuss it in greater detail.'),
43         [_('Discuss existing concepts or plans'),
44          _('Develop solutions for existing problems')]
45     )
46     agenda_setting = (
47         'agenda_setting',
48         _('Agenda Setting'),
49         [_('Set the agenda of an event, a process, a project etc.')]
50     )
51     design_place = (
52         'design_place',
53         _('Design a place.'),
54         [_('(Urban) planning processes'),
55          _('Small scale design projects, e.g. renew your premises')]
56     )
57     run_survey = (
58         'run_survey',
59         _('Learn about what people like most.'),
60         [_('Opinion polls, majority votes etc.')]
61     )
62     run_competition = (
63         'run_competition',
64         _('Run a competition.'),
65         [_('All sorts of competitions, '
66            'like idea contests etc.')]
67     )
68     work_document = (
69         'work_document',
70         _('Work together with other people on a text document.'),
71         [_('Draft or revise statutes, articles, charters etc.'),
72          _('Involve different authors in writing a shared text')]
73     )
74     communitydebate = (
75         'communitydebate',
76         _('Find and debate topics and questions.'),
77         [_('Do this.'),
78          _('Do that.')]
79     )
80 
81     def __new__(cls, value, label, examples):
82         obj = object.__new__(cls)
83         obj._value_ = value
84         obj.label = label
85         obj.examples = examples
86         return obj
87 
88 
89 @unique
90 class Result(BlueprintEnum):
91     collect_ideas = 3, _('Collection of commented ideas')
92     majority_vote = 2, _('Majority vote')
93     both = 1, _('Both')
94 
95 
96 @unique
97 class Experience(BlueprintEnum):
98     five_projects = 4, _('More than 5 participative projects')
99     two_projects = 3, _('More than 2 participative projects')
100     one_project = 2, _('1-2 participative projects')
101     no_projects = 1, _('I have no experiences in organising '
102                        'participative projects')
103 
104 
105 class Motivation(BlueprintEnum):
106     high = 4, _('High motivation')
107     medium = 3, _('Medium motivation')
108     low = 2, _('Low motivation')
109     not_found = 1, _('No motivation')
110     unkown = 2, _('I don\'t know.')
111 
112 
113 @unique
114 class Participants(BlueprintEnum):
115     few = 0, '< 25'
116     some = 1, '25-50'
117     many = 2, '50+'
118 
119 
120 @unique
121 class Duration(BlueprintEnum):
122     one_weeks = 0, _('1-2 weeks')
123     two_weeks = 1, _('2-4 weeks')
124     four_weeks = 2, _('more than 4 weeks')
125 
126 
127 @unique
128 class Scope(BlueprintEnum):
129     local = 0, _('Local')
130     regional = 1, _('Regional')
131     national = 2, _('National or international')
132 
133 
134 class Accessibility(BlueprintEnum):
135     very_easy = 1, _('Very easy to access')
136     easy = 2, _('Easy to access')
137     hard = 3, _('Hard to access')
138     very_hard = 4, _('Very hard to access')
139     unkown = 3, _('I don\'t know')
140 
141 
142 ComplexityVector = namedtuple(
143     'ComplexityVector', [
144         'participants', 'duration', 'scope'
145     ]
146 )
147 
148 
149 COMPLEXITY_VECTOR_AC = ComplexityVector(
150     participants=(0, 0.5),
151     duration=(0, 1),
152     scope=(0, 0.5)
153 )
154 
155 COMPLEXITY_VECTOR_BD = ComplexityVector(
156     participants=(0, 1),
157     duration=(0, 1),
158     scope=(0, 1)
159 )
160 
161 COMPLEXITY_VECTOR_E = ComplexityVector(
162     participants=(0, 1 / 3),
163     duration=(0, 0),
164     scope=(0, 1 / 3)
165 )
166 
167 COMPLEXITY_VECTOR_F = ComplexityVector(
168     participants=(1, 1),
169     duration=(0, 1),
170     scope=(0, 0)
171 )
172 
173 Requirements = namedtuple(
174     'Requirements', [
175         'aims', 'results', 'experience', 'motivation'
176     ])
177 
178 
179 Blueprint = namedtuple(
180     'Blueprint', [
181         'title', 'description', 'content', 'image', 'settings_model',
182         'requirements', 'complexity', 'type'
183     ])
184 
185 
186 blueprints = [
187     (BlueprintNames.brainstorming.value,
188      Blueprint(
189          title=_('Brainstorming'),
190          description=_('Collect ideas, questions and input concerning '
191                        'a problem or a question from a wide array of people.'),
192          content=[
193              ideas_phases.CollectPhase(),
194          ],
195          image='images/brainstorming.png',
196          settings_model=None,
197          requirements=Requirements(
198              aims=[Aim.collect_ideas, Aim.discuss_topic],
199              results=[Result.collect_ideas],
200              experience=Experience.no_projects,
201              motivation=Motivation.not_found
202          ),
203          complexity=COMPLEXITY_VECTOR_AC,
204          type=BlueprintNames.brainstorming.name
205      )),
206     (BlueprintNames.map_brainstorming.value,
207      Blueprint(
208          title=_('Spatial Brainstorming'),
209          description=_('Collect ideas, questions and input concerning a '
210                        'problem or a question from a wide array of people.'),
211          content=[
212              map_phases.CollectPhase(),
213          ],
214          image='images/spatial_brainstorming.png',
215          settings_model=('a4maps', 'AreaSettings'),
216          requirements=Requirements(
217              aims=[Aim.design_place],
218              results=[Result.collect_ideas],
219              experience=Experience.no_projects,
220              motivation=Motivation.not_found
221          ),
222          complexity=COMPLEXITY_VECTOR_AC,
223          type=BlueprintNames.map_brainstorming.name
224      )),
225     (BlueprintNames.idea_challenge.value,
226      Blueprint(
227          title=_('Idea Challenge'),
228          description=_('Run a challenge and find the best ideas to solve '
229                        'a particular problem.'),
230          content=[
231              ideas_phases.CollectPhase(),
232              ideas_phases.RatingPhase(),
233          ],
234          image='images/challenge.png',
235          settings_model=None,
236          requirements=Requirements(
237              aims=[Aim.run_competition, Aim.run_survey],
238              results=list(Result),
239              experience=Experience.one_project,
240              motivation=Motivation.low
241          ),
242          complexity=COMPLEXITY_VECTOR_BD,
243          type=BlueprintNames.idea_challenge.name
244      )),
245     (BlueprintNames.map_idea_challenge.value,
246      Blueprint(
247          title=_('Spatial Idea Challenge'),
248          description=_('Run a challenge concerning a certain area or space in '
249                        'your community and find the best ideas to solve a '
250                        'particular problem.'),
251          content=[
252              map_phases.CollectPhase(),
253              map_phases.RatingPhase(),
254          ],
255          image='images/spatial_challenge.png',
256          settings_model=('a4maps', 'AreaSettings'),
257          requirements=Requirements(
258              aims=[Aim.design_place],
259              results=list(Result),
260              experience=Experience.one_project,
261              motivation=Motivation.low
262          ),
263          complexity=COMPLEXITY_VECTOR_BD,
264          type=BlueprintNames.map_idea_challenge.name
265      )),
266     (BlueprintNames.agenda_setting.value,
267      Blueprint(
268          title=_('Agenda Setting'),
269          description=_('You can involve everyone in planning a meeting. '
270                        'Collect ideas for an upcoming event and let your '
271                        'participants vote on the topics you want to tackle.'),
272          content=[
273              ideas_phases.CollectPhase(),
274              ideas_phases.RatingPhase(),
275          ],
276          image='images/agenda_setting.png',
277          settings_model=None,
278          requirements=Requirements(
279              aims=[Aim.collect_ideas, Aim.discuss_topic,
280                    Aim.run_survey, Aim.agenda_setting],
281              results=list(Result),
282              experience=Experience.one_project,
283              motivation=Motivation.low
284          ),
285          complexity=COMPLEXITY_VECTOR_AC,
286          type=BlueprintNames.agenda_setting.name
287      )),
288     (BlueprintNames.commenting_text.value,
289      Blueprint(
290          title=_('Text Review'),
291          description=_('Let participants discuss individual paragraphs of a '
292                        'text. This is ideal for discussing position papers or '
293                        'a mission statements with many people.'),
294          content=[
295              documents_phases.CreateDocumentPhase(),
296              documents_phases.CommentPhase(),
297          ],
298          image='images/text_review.png',
299          settings_model=None,
300          requirements=Requirements(
301              aims=[Aim.work_document],
302              results=None,
303              experience=None,
304              motivation=None
305          ),
306          complexity=COMPLEXITY_VECTOR_F,
307          type=BlueprintNames.commenting_text.name
308      )),
309     (BlueprintNames.a4_poll.value,
310      Blueprint(
311          title=_('Poll'),
312          description=_('Run customizable, multi-step polls on OPIN to get '
313                        'detailed opinions on topics from the public or your '
314                        'members. Via the OPIN polling app for iOS and Android '
315                        'these polls are also accessible on smartphones.'),
316          content=[
317              poll_phases.VotingPhase(),
318          ],
319          image='images/poll.png',
320          settings_model=None,
321          requirements=Requirements(
322              aims=[Aim.run_survey],
323              results=[Result.majority_vote],
324              experience=Experience.no_projects,
325              motivation=Motivation.not_found
326          ),
327          complexity=COMPLEXITY_VECTOR_E,
328          type=BlueprintNames.a4_poll.name
329      )),
330     (BlueprintNames.communitydebate.value,
331      Blueprint(
332          title=_('Community debate'),
333          description=_('Collect topics and questions to discuss, '
334                        'debate and prioritize them.'),
335          content=[
336              communitydebate_phases.DebatePhase(),
337          ],
338          image='images/brainstorming.png',
339          settings_model=None,
340          requirements=Requirements(
341              aims=[Aim.communitydebate],
342              results=[Result.both],
343              experience=Experience.no_projects,
344              motivation=Motivation.not_found
345          ),
346          complexity=COMPLEXITY_VECTOR_AC,
347          type=BlueprintNames.communitydebate.name
348      )),
349 ]
350 
351 
352 fallbacks = {
353     Aim.collect_ideas: BlueprintNames.brainstorming.value,
354     Aim.discuss_topic: BlueprintNames.brainstorming.value,
355     Aim.agenda_setting: BlueprintNames.agenda_setting.value,
356     Aim.design_place: BlueprintNames.map_brainstorming.value,
357     Aim.run_survey: BlueprintNames.a4_poll.value,
358     Aim.run_competition: BlueprintNames.agenda_setting.value,
359     Aim.work_document: BlueprintNames.commenting_text.value,
360     Aim.communitydebate: BlueprintNames.communitydebate.value
361 }
362
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/euth/blueprints/blueprints.py b/euth/blueprints/blueprints.py
--- a/euth/blueprints/blueprints.py
+++ b/euth/blueprints/blueprints.py
@@ -74,8 +74,9 @@
     communitydebate = (
         'communitydebate',
         _('Find and debate topics and questions.'),
-        [_('Do this.'),
-         _('Do that.')]
+        [_('Start a discussion and moderate it'),
+         _('Participants can upload documents to deepen the exchange '
+           'and share information')]
     )
 
     def __new__(cls, value, label, examples):

{"golden_diff": "diff --git a/euth/blueprints/blueprints.py b/euth/blueprints/blueprints.py\n--- a/euth/blueprints/blueprints.py\n+++ b/euth/blueprints/blueprints.py\n@@ -74,8 +74,9 @@\n     communitydebate = (\n         'communitydebate',\n         _('Find and debate topics and questions.'),\n-        [_('Do this.'),\n-         _('Do that.')]\n+        [_('Start a discussion and moderate it'),\n+         _('Participants can upload documents to deepen the exchange '\n+           'and share information')]\n     )\n \n     def __new__(cls, value, label, examples):\n", "issue": "DTS - Do this. Do that.\n**URL:** https://opin-stage.liqd.net/de/blueprints/liquid-democracy-ev/\r\n**user:** *initiator*\r\n**expected behaviour:** *An explaining help text in english. Do this: Start a discussion and moderate it.  Do that: Participants can upload documents to deepen the exchange and share information.*\r\n**behaviour:** *Lorem Ipsum text*\r\n\r\n\r\n**Comment/Question:** *Would this be a story?* \r\n\r\nIf needed or helpful you can add a screenshot. Since issues are public, make sure to not display personal or secret data.\r\n<img width=\"877\" alt=\"Bildschirmfoto 2020-07-28 um 08 41 19\" src=\"https://user-images.githubusercontent.com/52459078/88628485-565c5500-d0ae-11ea-9630-78ada0dcd294.png\">\r\n\n", "before_files": [{"content": "from collections import namedtuple\nfrom enum import Enum, unique\n\nfrom django.utils.translation import ugettext_lazy as _\n\nfrom adhocracy4.polls import phases as poll_phases\nfrom euth.communitydebate import phases as communitydebate_phases\nfrom euth.documents import phases as documents_phases\nfrom euth.ideas import phases as ideas_phases\nfrom euth.maps import phases as map_phases\n\nfrom .names import BlueprintNames\n\n\nclass BlueprintEnum(Enum):\n    def __new__(cls, value, label):\n        obj = object.__new__(cls)\n        obj._value_ = len(cls.__members__) + 1\n        obj._value = value\n        obj.label = label\n        return obj\n\n    @property\n    def value(self):\n        return self._value\n\n    @classmethod\n    def get(cls, value):\n        return next(m for m in cls if m._value == value)\n\n\n@unique\nclass Aim(Enum):\n    collect_ideas = (\n        'collect_ideas',\n        _('Create and collect new ideas or visions.'),\n        [_('(Urban) planning processes'),\n         _('Develop concepts or guiding principles')]\n    )\n    discuss_topic = (\n        'discuss_topic',\n        _('Gather feedback on a topic and discuss it in greater detail.'),\n        [_('Discuss existing concepts or plans'),\n         _('Develop solutions for existing problems')]\n    )\n    agenda_setting = (\n        'agenda_setting',\n        _('Agenda Setting'),\n        [_('Set the agenda of an event, a process, a project etc.')]\n    )\n    design_place = (\n        'design_place',\n        _('Design a place.'),\n        [_('(Urban) planning processes'),\n         _('Small scale design projects, e.g. renew your premises')]\n    )\n    run_survey = (\n        'run_survey',\n        _('Learn about what people like most.'),\n        [_('Opinion polls, majority votes etc.')]\n    )\n    run_competition = (\n        'run_competition',\n        _('Run a competition.'),\n        [_('All sorts of competitions, '\n           'like idea contests etc.')]\n    )\n    work_document = (\n        'work_document',\n        _('Work together with other people on a text document.'),\n        [_('Draft or revise statutes, articles, charters etc.'),\n         _('Involve different authors in writing a shared text')]\n    )\n    communitydebate = (\n        'communitydebate',\n        _('Find and debate topics and questions.'),\n        [_('Do this.'),\n         _('Do that.')]\n    )\n\n    def __new__(cls, value, label, examples):\n        obj = object.__new__(cls)\n        obj._value_ = value\n        obj.label = label\n        obj.examples = examples\n        return obj\n\n\n@unique\nclass Result(BlueprintEnum):\n    collect_ideas = 3, _('Collection of commented ideas')\n    majority_vote = 2, _('Majority vote')\n    both = 1, _('Both')\n\n\n@unique\nclass Experience(BlueprintEnum):\n    five_projects = 4, _('More than 5 participative projects')\n    two_projects = 3, _('More than 2 participative projects')\n    one_project = 2, _('1-2 participative projects')\n    no_projects = 1, _('I have no experiences in organising '\n                       'participative projects')\n\n\nclass Motivation(BlueprintEnum):\n    high = 4, _('High motivation')\n    medium = 3, _('Medium motivation')\n    low = 2, _('Low motivation')\n    not_found = 1, _('No motivation')\n    unkown = 2, _('I don\\'t know.')\n\n\n@unique\nclass Participants(BlueprintEnum):\n    few = 0, '< 25'\n    some = 1, '25-50'\n    many = 2, '50+'\n\n\n@unique\nclass Duration(BlueprintEnum):\n    one_weeks = 0, _('1-2 weeks')\n    two_weeks = 1, _('2-4 weeks')\n    four_weeks = 2, _('more than 4 weeks')\n\n\n@unique\nclass Scope(BlueprintEnum):\n    local = 0, _('Local')\n    regional = 1, _('Regional')\n    national = 2, _('National or international')\n\n\nclass Accessibility(BlueprintEnum):\n    very_easy = 1, _('Very easy to access')\n    easy = 2, _('Easy to access')\n    hard = 3, _('Hard to access')\n    very_hard = 4, _('Very hard to access')\n    unkown = 3, _('I don\\'t know')\n\n\nComplexityVector = namedtuple(\n    'ComplexityVector', [\n        'participants', 'duration', 'scope'\n    ]\n)\n\n\nCOMPLEXITY_VECTOR_AC = ComplexityVector(\n    participants=(0, 0.5),\n    duration=(0, 1),\n    scope=(0, 0.5)\n)\n\nCOMPLEXITY_VECTOR_BD = ComplexityVector(\n    participants=(0, 1),\n    duration=(0, 1),\n    scope=(0, 1)\n)\n\nCOMPLEXITY_VECTOR_E = ComplexityVector(\n    participants=(0, 1 / 3),\n    duration=(0, 0),\n    scope=(0, 1 / 3)\n)\n\nCOMPLEXITY_VECTOR_F = ComplexityVector(\n    participants=(1, 1),\n    duration=(0, 1),\n    scope=(0, 0)\n)\n\nRequirements = namedtuple(\n    'Requirements', [\n        'aims', 'results', 'experience', 'motivation'\n    ])\n\n\nBlueprint = namedtuple(\n    'Blueprint', [\n        'title', 'description', 'content', 'image', 'settings_model',\n        'requirements', 'complexity', 'type'\n    ])\n\n\nblueprints = [\n    (BlueprintNames.brainstorming.value,\n     Blueprint(\n         title=_('Brainstorming'),\n         description=_('Collect ideas, questions and input concerning '\n                       'a problem or a question from a wide array of people.'),\n         content=[\n             ideas_phases.CollectPhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.brainstorming.name\n     )),\n    (BlueprintNames.map_brainstorming.value,\n     Blueprint(\n         title=_('Spatial Brainstorming'),\n         description=_('Collect ideas, questions and input concerning a '\n                       'problem or a question from a wide array of people.'),\n         content=[\n             map_phases.CollectPhase(),\n         ],\n         image='images/spatial_brainstorming.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.map_brainstorming.name\n     )),\n    (BlueprintNames.idea_challenge.value,\n     Blueprint(\n         title=_('Idea Challenge'),\n         description=_('Run a challenge and find the best ideas to solve '\n                       'a particular problem.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/challenge.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_competition, Aim.run_survey],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.idea_challenge.name\n     )),\n    (BlueprintNames.map_idea_challenge.value,\n     Blueprint(\n         title=_('Spatial Idea Challenge'),\n         description=_('Run a challenge concerning a certain area or space in '\n                       'your community and find the best ideas to solve a '\n                       'particular problem.'),\n         content=[\n             map_phases.CollectPhase(),\n             map_phases.RatingPhase(),\n         ],\n         image='images/spatial_challenge.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.map_idea_challenge.name\n     )),\n    (BlueprintNames.agenda_setting.value,\n     Blueprint(\n         title=_('Agenda Setting'),\n         description=_('You can involve everyone in planning a meeting. '\n                       'Collect ideas for an upcoming event and let your '\n                       'participants vote on the topics you want to tackle.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/agenda_setting.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic,\n                   Aim.run_survey, Aim.agenda_setting],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.agenda_setting.name\n     )),\n    (BlueprintNames.commenting_text.value,\n     Blueprint(\n         title=_('Text Review'),\n         description=_('Let participants discuss individual paragraphs of a '\n                       'text. This is ideal for discussing position papers or '\n                       'a mission statements with many people.'),\n         content=[\n             documents_phases.CreateDocumentPhase(),\n             documents_phases.CommentPhase(),\n         ],\n         image='images/text_review.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.work_document],\n             results=None,\n             experience=None,\n             motivation=None\n         ),\n         complexity=COMPLEXITY_VECTOR_F,\n         type=BlueprintNames.commenting_text.name\n     )),\n    (BlueprintNames.a4_poll.value,\n     Blueprint(\n         title=_('Poll'),\n         description=_('Run customizable, multi-step polls on OPIN to get '\n                       'detailed opinions on topics from the public or your '\n                       'members. Via the OPIN polling app for iOS and Android '\n                       'these polls are also accessible on smartphones.'),\n         content=[\n             poll_phases.VotingPhase(),\n         ],\n         image='images/poll.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_survey],\n             results=[Result.majority_vote],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_E,\n         type=BlueprintNames.a4_poll.name\n     )),\n    (BlueprintNames.communitydebate.value,\n     Blueprint(\n         title=_('Community debate'),\n         description=_('Collect topics and questions to discuss, '\n                       'debate and prioritize them.'),\n         content=[\n             communitydebate_phases.DebatePhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.communitydebate],\n             results=[Result.both],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.communitydebate.name\n     )),\n]\n\n\nfallbacks = {\n    Aim.collect_ideas: BlueprintNames.brainstorming.value,\n    Aim.discuss_topic: BlueprintNames.brainstorming.value,\n    Aim.agenda_setting: BlueprintNames.agenda_setting.value,\n    Aim.design_place: BlueprintNames.map_brainstorming.value,\n    Aim.run_survey: BlueprintNames.a4_poll.value,\n    Aim.run_competition: BlueprintNames.agenda_setting.value,\n    Aim.work_document: BlueprintNames.commenting_text.value,\n    Aim.communitydebate: BlueprintNames.communitydebate.value\n}\n", "path": "euth/blueprints/blueprints.py"}], "after_files": [{"content": "from collections import namedtuple\nfrom enum import Enum, unique\n\nfrom django.utils.translation import ugettext_lazy as _\n\nfrom adhocracy4.polls import phases as poll_phases\nfrom euth.communitydebate import phases as communitydebate_phases\nfrom euth.documents import phases as documents_phases\nfrom euth.ideas import phases as ideas_phases\nfrom euth.maps import phases as map_phases\n\nfrom .names import BlueprintNames\n\n\nclass BlueprintEnum(Enum):\n    def __new__(cls, value, label):\n        obj = object.__new__(cls)\n        obj._value_ = len(cls.__members__) + 1\n        obj._value = value\n        obj.label = label\n        return obj\n\n    @property\n    def value(self):\n        return self._value\n\n    @classmethod\n    def get(cls, value):\n        return next(m for m in cls if m._value == value)\n\n\n@unique\nclass Aim(Enum):\n    collect_ideas = (\n        'collect_ideas',\n        _('Create and collect new ideas or visions.'),\n        [_('(Urban) planning processes'),\n         _('Develop concepts or guiding principles')]\n    )\n    discuss_topic = (\n        'discuss_topic',\n        _('Gather feedback on a topic and discuss it in greater detail.'),\n        [_('Discuss existing concepts or plans'),\n         _('Develop solutions for existing problems')]\n    )\n    agenda_setting = (\n        'agenda_setting',\n        _('Agenda Setting'),\n        [_('Set the agenda of an event, a process, a project etc.')]\n    )\n    design_place = (\n        'design_place',\n        _('Design a place.'),\n        [_('(Urban) planning processes'),\n         _('Small scale design projects, e.g. renew your premises')]\n    )\n    run_survey = (\n        'run_survey',\n        _('Learn about what people like most.'),\n        [_('Opinion polls, majority votes etc.')]\n    )\n    run_competition = (\n        'run_competition',\n        _('Run a competition.'),\n        [_('All sorts of competitions, '\n           'like idea contests etc.')]\n    )\n    work_document = (\n        'work_document',\n        _('Work together with other people on a text document.'),\n        [_('Draft or revise statutes, articles, charters etc.'),\n         _('Involve different authors in writing a shared text')]\n    )\n    communitydebate = (\n        'communitydebate',\n        _('Find and debate topics and questions.'),\n        [_('Start a discussion and moderate it'),\n         _('Participants can upload documents to deepen the exchange '\n           'and share information')]\n    )\n\n    def __new__(cls, value, label, examples):\n        obj = object.__new__(cls)\n        obj._value_ = value\n        obj.label = label\n        obj.examples = examples\n        return obj\n\n\n@unique\nclass Result(BlueprintEnum):\n    collect_ideas = 3, _('Collection of commented ideas')\n    majority_vote = 2, _('Majority vote')\n    both = 1, _('Both')\n\n\n@unique\nclass Experience(BlueprintEnum):\n    five_projects = 4, _('More than 5 participative projects')\n    two_projects = 3, _('More than 2 participative projects')\n    one_project = 2, _('1-2 participative projects')\n    no_projects = 1, _('I have no experiences in organising '\n                       'participative projects')\n\n\nclass Motivation(BlueprintEnum):\n    high = 4, _('High motivation')\n    medium = 3, _('Medium motivation')\n    low = 2, _('Low motivation')\n    not_found = 1, _('No motivation')\n    unkown = 2, _('I don\\'t know.')\n\n\n@unique\nclass Participants(BlueprintEnum):\n    few = 0, '< 25'\n    some = 1, '25-50'\n    many = 2, '50+'\n\n\n@unique\nclass Duration(BlueprintEnum):\n    one_weeks = 0, _('1-2 weeks')\n    two_weeks = 1, _('2-4 weeks')\n    four_weeks = 2, _('more than 4 weeks')\n\n\n@unique\nclass Scope(BlueprintEnum):\n    local = 0, _('Local')\n    regional = 1, _('Regional')\n    national = 2, _('National or international')\n\n\nclass Accessibility(BlueprintEnum):\n    very_easy = 1, _('Very easy to access')\n    easy = 2, _('Easy to access')\n    hard = 3, _('Hard to access')\n    very_hard = 4, _('Very hard to access')\n    unkown = 3, _('I don\\'t know')\n\n\nComplexityVector = namedtuple(\n    'ComplexityVector', [\n        'participants', 'duration', 'scope'\n    ]\n)\n\n\nCOMPLEXITY_VECTOR_AC = ComplexityVector(\n    participants=(0, 0.5),\n    duration=(0, 1),\n    scope=(0, 0.5)\n)\n\nCOMPLEXITY_VECTOR_BD = ComplexityVector(\n    participants=(0, 1),\n    duration=(0, 1),\n    scope=(0, 1)\n)\n\nCOMPLEXITY_VECTOR_E = ComplexityVector(\n    participants=(0, 1 / 3),\n    duration=(0, 0),\n    scope=(0, 1 / 3)\n)\n\nCOMPLEXITY_VECTOR_F = ComplexityVector(\n    participants=(1, 1),\n    duration=(0, 1),\n    scope=(0, 0)\n)\n\nRequirements = namedtuple(\n    'Requirements', [\n        'aims', 'results', 'experience', 'motivation'\n    ])\n\n\nBlueprint = namedtuple(\n    'Blueprint', [\n        'title', 'description', 'content', 'image', 'settings_model',\n        'requirements', 'complexity', 'type'\n    ])\n\n\nblueprints = [\n    (BlueprintNames.brainstorming.value,\n     Blueprint(\n         title=_('Brainstorming'),\n         description=_('Collect ideas, questions and input concerning '\n                       'a problem or a question from a wide array of people.'),\n         content=[\n             ideas_phases.CollectPhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.brainstorming.name\n     )),\n    (BlueprintNames.map_brainstorming.value,\n     Blueprint(\n         title=_('Spatial Brainstorming'),\n         description=_('Collect ideas, questions and input concerning a '\n                       'problem or a question from a wide array of people.'),\n         content=[\n             map_phases.CollectPhase(),\n         ],\n         image='images/spatial_brainstorming.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=[Result.collect_ideas],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.map_brainstorming.name\n     )),\n    (BlueprintNames.idea_challenge.value,\n     Blueprint(\n         title=_('Idea Challenge'),\n         description=_('Run a challenge and find the best ideas to solve '\n                       'a particular problem.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/challenge.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_competition, Aim.run_survey],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.idea_challenge.name\n     )),\n    (BlueprintNames.map_idea_challenge.value,\n     Blueprint(\n         title=_('Spatial Idea Challenge'),\n         description=_('Run a challenge concerning a certain area or space in '\n                       'your community and find the best ideas to solve a '\n                       'particular problem.'),\n         content=[\n             map_phases.CollectPhase(),\n             map_phases.RatingPhase(),\n         ],\n         image='images/spatial_challenge.png',\n         settings_model=('a4maps', 'AreaSettings'),\n         requirements=Requirements(\n             aims=[Aim.design_place],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_BD,\n         type=BlueprintNames.map_idea_challenge.name\n     )),\n    (BlueprintNames.agenda_setting.value,\n     Blueprint(\n         title=_('Agenda Setting'),\n         description=_('You can involve everyone in planning a meeting. '\n                       'Collect ideas for an upcoming event and let your '\n                       'participants vote on the topics you want to tackle.'),\n         content=[\n             ideas_phases.CollectPhase(),\n             ideas_phases.RatingPhase(),\n         ],\n         image='images/agenda_setting.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.collect_ideas, Aim.discuss_topic,\n                   Aim.run_survey, Aim.agenda_setting],\n             results=list(Result),\n             experience=Experience.one_project,\n             motivation=Motivation.low\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.agenda_setting.name\n     )),\n    (BlueprintNames.commenting_text.value,\n     Blueprint(\n         title=_('Text Review'),\n         description=_('Let participants discuss individual paragraphs of a '\n                       'text. This is ideal for discussing position papers or '\n                       'a mission statements with many people.'),\n         content=[\n             documents_phases.CreateDocumentPhase(),\n             documents_phases.CommentPhase(),\n         ],\n         image='images/text_review.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.work_document],\n             results=None,\n             experience=None,\n             motivation=None\n         ),\n         complexity=COMPLEXITY_VECTOR_F,\n         type=BlueprintNames.commenting_text.name\n     )),\n    (BlueprintNames.a4_poll.value,\n     Blueprint(\n         title=_('Poll'),\n         description=_('Run customizable, multi-step polls on OPIN to get '\n                       'detailed opinions on topics from the public or your '\n                       'members. Via the OPIN polling app for iOS and Android '\n                       'these polls are also accessible on smartphones.'),\n         content=[\n             poll_phases.VotingPhase(),\n         ],\n         image='images/poll.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.run_survey],\n             results=[Result.majority_vote],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_E,\n         type=BlueprintNames.a4_poll.name\n     )),\n    (BlueprintNames.communitydebate.value,\n     Blueprint(\n         title=_('Community debate'),\n         description=_('Collect topics and questions to discuss, '\n                       'debate and prioritize them.'),\n         content=[\n             communitydebate_phases.DebatePhase(),\n         ],\n         image='images/brainstorming.png',\n         settings_model=None,\n         requirements=Requirements(\n             aims=[Aim.communitydebate],\n             results=[Result.both],\n             experience=Experience.no_projects,\n             motivation=Motivation.not_found\n         ),\n         complexity=COMPLEXITY_VECTOR_AC,\n         type=BlueprintNames.communitydebate.name\n     )),\n]\n\n\nfallbacks = {\n    Aim.collect_ideas: BlueprintNames.brainstorming.value,\n    Aim.discuss_topic: BlueprintNames.brainstorming.value,\n    Aim.agenda_setting: BlueprintNames.agenda_setting.value,\n    Aim.design_place: BlueprintNames.map_brainstorming.value,\n    Aim.run_survey: BlueprintNames.a4_poll.value,\n    Aim.run_competition: BlueprintNames.agenda_setting.value,\n    Aim.work_document: BlueprintNames.commenting_text.value,\n    Aim.communitydebate: BlueprintNames.communitydebate.value\n}\n", "path": "euth/blueprints/blueprints.py"}]}