Ejemplo n.º 1
0
class EditProfileForm(FlaskForm):
    username = StringField(_1('Username'),validators=[DataRequired()])
    about_me = TextAreaField(_1('About me'),validators=[Length(min=0,max=140)])
    submit = SubmitField(_1('Submit'))

    def __init__(self,original_username,*args,**kwargs):
        super(EditProfileForm,self).__init__(*args,**kwargs)
        self.original_username = original_username

    def validate_username(self,username):
        if username.data != self.original_username:
            user = User.query.filter_by(username=self.username.data).first()
            if user is not None:
                raise ValidationError(_('Please use a different username.'))
Ejemplo n.º 2
0
class RegisterForm(FlaskForm):
    username=StringField(_1('Username'), validators=[DataRequired()])
    email=StringField(_1('Email'), validators=[DataRequired(), Email()])
    password=PasswordField(_1('Password'), validators=[DataRequired()])
    confirm=PasswordField(_1('Confirm Password'), validators=[DataRequired(), EqualTo('password')])
    submit=SubmitField(_1('Register'))

    def validate_username(self, username):
        user=User.query.filter_by(username=username.data).first()
        if user is not None:
            raise ValidationError(_('Please pick a different username.'))

    def validate_email(self, email):
        user=User.query.filter_by(email=email.data).first()
        if user is not None:
            raise ValidationError(_('Please pick a different email address.'))
Ejemplo n.º 3
0
class SearchForm(FlaskForm):
    q = StringField(_1('Search'), validators=[DataRequired()])

    def __init__(self, *args, **kwargs):
        if 'formdata' not in kwargs:
            kwargs['formdata'] = request.args
        if 'csrf_enabled' not in kwargs:
            kwargs['csrf_enabled'] = False
        super(SearchForm, self).__init__(*args, **kwargs)
class RegistrationForm(FlaskForm):
    username = StringField(_1('Username'), validators=[DataRequired()])
    email = StringField(_1('Email'), validators=[DataRequired(), Email()])
    password = PasswordField(_1('Password'), validators=[DataRequired()])
    password2 = PasswordField(
        _1('Repeat Password'), validators=[DataRequired(), EqualTo('password')])
    submit = SubmitField(_1('Register'))

    def validate_username(self, username):
        user = User.query.filter_by(username=username.data).first()
        if user is not None:
            raise ValidationError(_1('Please use a different username.'))

    def validate_email(self, email):
        user = User.query.filter_by(email=email.data).first()
        if user is not None:
            raise ValidationError(_1('Please use a different email address.'))
    def validate_image(form, field):
        if field.data:
            field.data = re.sub(r'[^a-z0-9_.-]', '_', field.data)
Ejemplo n.º 5
0
class PostForm(FlaskForm):
    post = TextAreaField(_1('Post something'),
                         validators=[DataRequired(),
                                     Length(min=1, max=140)])
    submit = SubmitField(_1('Post'))
Ejemplo n.º 6
0
from flask_moment import Moment
from flask_babel import Babel
from flask import request
from flask_babel import lazy_gettext as _1
from elasticsearch import Elasticsearch
from flask import current_app


# DB and Migration extensions
db = SQLAlchemy()
migrate = Migrate()

# Login extension
login = LoginManager()
login.login_view = 'auth.login'
login.login_message = _1('Please log in to access this page.')

# Mail extension
mail = Mail()

# Bootstrap extension
bootstrap = Bootstrap()

# Flask Moment extension
moment = Moment()

# Flask Bable extenstion for Translation
babel = Babel()

def create_app(config_class=Config):
    app = Flask(__name__)
mail = Mail(app)
bootstrap = Bootstrap(app)
moment = Moment(app)
db = SQLAlchemy(app)
babel = Babel(app)
app.config.from_object(Config)

#User's followers table
followers = db.Table('followers',
    db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)
migrate = Migrate(app, db)
login = LoginManager(app)
login.login_view = 'login'
login.login_message = _1('You need to login to access this page.')

if not app.debug:
    # ...

    if not os.path.exists('logs'):
        os.mkdir('logs')
    file_handler = RotatingFileHandler('logs/microblog.log', maxBytes=10240,
                                       backupCount=10)
    file_handler.setFormatter(logging.Formatter(
        '%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'))
    file_handler.setLevel(logging.INFO)
    app.logger.addHandler(file_handler)

    app.logger.setLevel(logging.INFO)
    app.logger.info('Microblog startup')
Ejemplo n.º 8
0
class LoginForm(FlaskForm):
    username = StringField(_1('Username'), validators=[DataRequired()])
    password = PasswordField(_1('Password'), validators=[DataRequired()])
    remember_me = BooleanField(_1('Remember Me'))
    submit = SubmitField(_1('Sign In'))
Ejemplo n.º 9
0
class ResetPasswordForm(FlaskForm):
    password = PasswordField(_1('Password'), validators=[DataRequired()])
    password2 = PasswordField(
        _1('Repeat Password'), validators=[DataRequired(), EqualTo('password')])
    submit = SubmitField(_1('Request Password Reset'))
Ejemplo n.º 10
0
class ResetPasswordRequestForm(FlaskForm):
    email = StringField(_1('Email'), validators=[DataRequired(), Email()])
    submit = SubmitField(_1('Request Password Reset'))
Ejemplo n.º 11
0
class MessageForm(FlaskForm):
    message = TextAreaField(
        _1('Message'), validators=[DataRequired(),
                                   Length(min=0, max=140)])
    submit = SubmitField(_1('Submit'))
Ejemplo n.º 12
0
class PostForm(FlaskForm):
    post = TextAreaField(_1('Say Something'), validators=[DataRequired()])
    submit = SubmitField(_1('Submit'))
Ejemplo n.º 13
0
 def validate_email(self, email):
     user = User.query.filter_by(email=email.data).first()
     if user is not None:
         raise ValidationError(_1('Please use a different email address.'))
Ejemplo n.º 14
0
 def validate_username(self, username):
     user = User.query.filter_by(username=username.data).first()
     if user is not None:
         raise ValidationError(_1('Please use a different username.'))
Ejemplo n.º 15
0
class ResetPasswordForm(FlaskForm):
    password=StringField(_1('Password'), validators=[DataRequired()])
    password2=StringField(_1('Confirm password'), validators=[DataRequired(), EqualTo('password')])
    submit=SubmitField(_1('Reset Password'))