- chunk_dict['grade'] = 'plain'
- chunk_dict['fix'].append('wl')
- choose_master = True
-
- if chunk_dict['fix']:
- need_fixing = True
- chunks.append(chunk_dict)
-
- if first_master or not need_fixing:
- choose_master = False
-
- if request.method == "POST":
- form = forms.ChooseMasterForm(request.POST)
- if not choose_master or form.is_valid():
- if choose_master:
- first_master = form.cleaned_data['master']
-
- # do the actual fixing
- for c in chunks:
- if not c['fix']:
- continue
-
- text = c['chunk'].materialize()
- for fix in c['fix']:
- if fix == 'bad-master':
- text = xml_tools.change_master(text, first_master)
- elif fix == 'trim-begin':
- text = xml_tools.add_trim_begin(text)
- elif fix == 'trim-end':
- text = xml_tools.add_trim_end(text)
- elif fix == 'wl':
- text = xml_tools.basic_structure(text, first_master)
- author = request.user if request.user.is_authenticated() else None
- description = "auto-fix: " + ", ".join(c['fix'])
- c['chunk'].commit(text=text, author=author,
- description=description)
-
- return http.HttpResponseRedirect(book.get_absolute_url())
- elif choose_master:
- form = forms.ChooseMasterForm()