old_contents: from flask.ext.wtf import Form
  from wtforms import (TextField, TextAreaField, PasswordField)
  from wtforms.validators import (InputRequired, ValidationError)
  
  from model import Processors
  
  class URLForm(Form):
      url = TextField('', [InputRequired()])
  
      def validate_url(form, field):
          from app import wiki
          if wiki.exists(field.data):
              raise ValidationError('The URL "%s" exists already.' % field.data)
  
      def clean_url(self, url):
          return Processors().clean_url(url)
  
  
  class SearchForm(Form):
      term = TextField('', [InputRequired()])
  
  
  class EditorForm(Form):
      title = TextField('', [InputRequired()])
      body = TextAreaField('', [InputRequired()])
      tags = TextField('')
  
  
  class LoginForm(Form):
      name = TextField('', [InputRequired()])
      password = PasswordField('', [InputRequired()])
  
      def validate_name(form, field):
          user = users.get_user(field.data)
          if not user:
              raise ValidationError('This username does not exist.')
  
      def validate_password(form, field):
          user = users.get_user(form.name.data)
          if not user:
              return
          if not user.check_password(field.data):
              raise ValidationError('Username and password do not match.')
  
  
new_contents: from flask.ext.wtf import Form
  from wtforms import (TextField, TextAreaField, PasswordField)
  from wtforms.validators import (InputRequired, ValidationError)
  
  from model import Processors
  
  
  class URLForm(Form):
      url = TextField('', [InputRequired()])
  
      def validate_url(form, field):
          from app import wiki
          if wiki.exists(field.data):
              raise ValidationError('The URL "%s" exists already.' % field.data)
  
      def clean_url(self, url):
          return Processors().clean_url(url)
  
  
  class SearchForm(Form):
      term = TextField('', [InputRequired()])
  
  
  class EditorForm(Form):
      title = TextField('', [InputRequired()])
      body = TextAreaField('', [InputRequired()])
      tags = TextField('')
  
  
  class LoginForm(Form):
      name = TextField('', [InputRequired()])
      password = PasswordField('', [InputRequired()])
  
      def validate_name(form, field):
          from app import users
          user = users.get_user(field.data)
          if not user:
              raise ValidationError('This username does not exist.')
  
      def validate_password(form, field):
          from app import users
          user = users.get_user(form.name.data)
          if not user:
              return
          if not user.check_password(field.data):
              raise ValidationError('Username and password do not match.')
  
  
subject: fix bug login users