Beispiel #1
0
def configured_app():
    # web framework
    # web application
    # __main__
    app = Flask(__name__)
    # 设置 secret_key 来使用 flask 自带的 session
    # 这个字符串随便你设置什么内容都可以
    app.secret_key = secret.secret_key

    # uri = 'mysql+pymysql://root:{}@localhost/web21?charset=utf8mb4'.format(
    #    secret.database_password
    # )
    # app.config['SQLALCHEMY_DATABASE_URI'] = uri
    # app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    # db.init_app(app)
    app.config.from_object(__name__)

    register_routes(app)
    app.template_filter()(count)
    app.template_filter()(format_time)
    app.errorhandler(404)(not_found)

    admin = Admin(app, name='web', template_mode='bootstrap3')
    admin.add_view(ModelView(User, endpoint="user_"))
    admin.add_view(ModelView(Topic, endpoint="topic_"))
    admin.add_view(ModelView(Reply, endpoint="reply_"))
    # Add administrative views here

    return app
Beispiel #2
0
def initialize(app):
    admin = Admin(app, template_mode='bootstrap3', index_view=MyAdminView())
    admin.add_view(ModelView(models.User))

    # ADD YOUR ADDITIONAL ADMIN VIEWS BELOW (use User model as a template)

    admin.add_view(ModelView(models.Species))
    admin.add_view(ModelView(models.Image))
    admin.add_view(ModelView(models.Observation))

    return admin
Beispiel #3
0
def initialize(app):
    admin = Admin(app, template_mode='bootstrap3', index_view=MyAdminView())
    admin.add_view(ModelView(models.User))

    # ADD YOUR ADDITIONAL ADMIN VIEWS BELOW (use User model as a template)

    admin.add_view(ModelView(models.Group))
    admin.add_view(ModelView(models.UserMembership))
    admin.add_view(ModelView(models.Page))

    return admin
def create_app(test_config=None):
    """Create and configure an instance of the Flask application."""
    app = Flask(__name__)

    db_path = os.path.join(app.instance_path, 'example.sqlite')

    # which including build database obj
    database = SqliteDatabase(db_path)
    DATABASE_PROXY.initialize(database)
    false_alter_feedback_handler = FalseAlertPeeweeDbWriter(database)

    # actually we needn't set the db obj here, since we initialize proxy above
    app.config.from_mapping(
        DATABASE=database,
        FALSE_ALTER_FEEDBACK_HANDLER=false_alter_feedback_handler
    )

    # ensure the instance folder exists
    try:
        os.makedirs(app.instance_path)
    except OSError:
        pass

    # apply the blueprints to the app
    from monitor_reporter import album, bar_chart, line_feedback
    app.register_blueprint(album.bp)
    app.register_blueprint(bar_chart.bp)
    app.register_blueprint(line_feedback.bp)

    # register flask-admin for ImageInfo, BboxDetectionResult,
    # RegisteredAudience, FalseAlertFeedback
    # create table if not exist
    detection_models.ImageInfo.create_table()
    detection_models.BboxDetectionResult.create_table()
    feedback_models.RegisteredAudience.create_table()
    feedback_models.FalseAlertFeedback.create_table()

    # register admin
    admin = flask_admin.Admin(app, name='Example: Peewee')
    admin.add_view(ModelView(detection_models.ImageInfo))
    admin.add_view(ModelView(detection_models.BboxDetectionResult))
    admin.add_view(ModelView(feedback_models.RegisteredAudience))
    admin.add_view(ModelView(feedback_models.FalseAlertFeedback))

    return app
Beispiel #5
0
from flask import Flask
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView

# Flask and Flask-SQLAlchemy initialization here
app = Flask(__name__)

admin = Admin(app, name='microblog', template_mode='bootstrap3')
admin.add_view(ModelView(User, db.session))
admin.add_view(ModelView(Post, db.session))

app.run()
Beispiel #6
0
#bring in a timed serializer
s = URLSafeTimedSerializer(Config.KEY)

mail = Mail(app)

def get_serializer(secret_key=None):
    if secret_key is None:
        secret_key = app.secret_key
    return URLSafeTimedSerializer(secret_key)
    print URLSafeTimedSerializer(secret_key)

#this is for admin view...
admin = Admin(app, name='microblog', template_mode='bootstrap3')

#pip install pymysql
admin.add_view(ModelView(User))

#new user route
@app.route("/newuser/", methods=['GET', 'POST'])
def host():
    form = NewUser(request.form)
    if request.method == 'POST':
        user = User()
        for field in form:
            if field.name != 'csrf_token':
                print field.name
                theField = str(field.name)
                setattr(user,theField,field.data)
                #check the data from the form
                #print getattr(user,theField)
        username = request.form['username']
Beispiel #7
0
from flask import Flask, jsonify, request
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView
from db import Sign, URL, SignURL
from adminViews import SignView
from config import *

from datetime import datetime

app = Flask(__name__)
app.secret_key = SECRET_KEY

admin = Admin(app, name='SignMan', template_mode='bootstrap3')
admin.add_view(SignView(Sign))
admin.add_view(ModelView(URL))
admin.add_view(ModelView(SignURL))


def shutdown_flask():
    func = request.environ.get('werkzeug.server.shutdown')
    if func is None:
        raise RuntimeError('Not running with the Werkzeug Server')
    func()


@app.route('/')
def index():
    return '''<html><body>
    Welcome to Sign Man<p>
    <a href=./admin>Admin interface </a>
Beispiel #8
0
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView
from admin.views import BulkUploadView
from stock.models import Product

admin = Admin(name='Stock Admin', template_mode='bootstrap3')
admin.add_view(ModelView(Product))
admin.add_view(BulkUploadView(name='Bulk Upload', endpoint='bulk_upload'))
Beispiel #9
0
s = URLSafeTimedSerializer('thissceret')

mail = Mail(app)

def get_serializer(secret_key=None):
    if secret_key is None:
        secret_key = app.secret_key
    return URLSafeTimedSerializer(secret_key)
    print URLSafeTimedSerializer(secret_key)

admin = Admin(app, name='microblog', template_mode='bootstrap3')
#global events
#pip install pymysql
#events = Event.select().order_by(Event.event_date.asc())

admin.add_view(ModelView(BaseModel))


@app.route("/newuser/", methods=['GET', 'POST'])
def host():
    form = NewUser(request.form)
    if request.method == 'POST':
        user = User()
        for field in form:
            if field.name != 'csrf_token':
                print field.name
                theField = str(field.name)
                setattr(user,theField,field.data)
                #print getattr(user,theField)
        username = request.form['username']
        passhash = bcrypt.hashpw(request.form['password'].encode('utf-8'), bcrypt.gensalt())
Beispiel #10
0
    def index(self):
        return super(AuthenticatedIndexView, self).index()

    def logout(self):
        return authenticate()


class ParticipantAdminView(ModelView):
    column_exclude_list = ['token']


admin = Admin(parsapp, name='PARS', template_mode='bootstrap3',
              index_view=AuthenticatedIndexView(name='Admin',
                                                template='admin.html'))
admin.add_view(ParticipantAdminView(Participant))
admin.add_view(ModelView(Degree))
admin.add_view(ModelView(Chair))
admin.add_view(ModelView(Course))
admin.add_link(MenuLink(name='Export CSV', endpoint='export'))
admin.add_link(MenuLink(name='Logout', endpoint='logout'))

parsapp.config.from_object('config.' + os.environ.get('PARS_CONFIG', 'DevelopmentConfig'))


def check_auth(username, password):
    """This function is called to check if a username /
    password combination is valid.
    """
    return (username == parsapp.config['ADMIN_USERNAME']
            and password == parsapp.config['ADMIN_PASSWORD'])
Beispiel #11
0
    added = peewee.DateTimeField(default=datetime.datetime.now)

    def __repr__(self):
        return "<%s %i:%i>" % (self.show, self.season, self.episode)


db_classes = BaseModel.__subclasses__()
db.create_tables(db_classes)

admin = flask_admin.Admin(
    app,
    name="microblog",
    template_mode="bootstrap3",
    url="/admin/" + app.config["URL_KEY"],
)
admin.add_view(ModelView(Show))
admin.add_view(ModelView(Episode))


def parse_title(title):

    title = title.lower().replace(".", " ")

    parts = re.search(app.config['PARSE_RE'], title)

    if parts != None:
        parsed = parts.groupdict()
        parsed["show"] = parsed["show"].strip()
        parsed["tags"] = parsed["tags"].strip().split()
        try:
            parsed["season"] = int(parsed["season"])
Beispiel #12
0
# flask-admin setup
class MyAdminView(AdminIndexView):
    @expose('/')
    def index(self):
        try:
            if current_user.is_admin:
                return render_template('admin.html')
        except Exception as e:
            print(e)
            pass  # silently fail for unauthorized trying to access admin space

        return redirect(url_for('index'))


admin = Admin(app, template_mode='bootstrap3', index_view=MyAdminView())
admin.add_view(ModelView(models.User))

# flask-login setup
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'


@login_manager.user_loader
def load_user(user_id):
    """returns user user based on user_id or None"""
    try:
        return models.User.get(models.User.id == user_id)
    except models.DoesNotExist:
        return None
Beispiel #13
0
    return 'User is logged out. Goto <a href="{}">Home Page</li>'.format(url_for('home'))
    
class MyAdminIndexView(AdminIndexView):
    # overrides the default AdminIndexView, probably should use a template
    # for illustration, I kept it simple
    @expose('/')
    def index(self):
        return 'Click here to adminstrate Contacts <a href="/admin/contact">__contacts__</a>'
    
    def is_accessible(self):
        # admin only accessible to the admin user-group
        return session.get('group') == 'admin'
       
# Flask Admin views
admin = Admin(app, 'Admin Area', template_mode='bootstrap3', index_view=MyAdminIndexView())
admin.add_view(ModelView(Contact))

def load_sample_data():
    """load database with a few sample rows"""
    try: Contact.create(uname='alpha',fname='Aaron',lname='Alpha',email='*****@*****.**',phone='none',notes='')
    except Exception as e: print(str(e))
    
    try: Contact.create(uname='beta',fname='Brett',lname='Beta',email='*****@*****.**',phone='none',notes='')
    except Exception as e: print(str(e))
    
    try: Contact.create(uname='charlie',fname='Cindy',lname='Charlie',email='*****@*****.**',phone='555-1212',notes='Nothing of note')
    except Exception as e: print(str(e))    
    
def init():
    """simple connection to database and initilization of data"""
    db.connect()
Beispiel #14
0
from flask_login import LoginManager, current_user
from flask_wtf.csrf import CSRFProtect
import braintree
from flask_mail import Mail, Message
from celery.schedules import crontab
from flask_jwt_extended import JWTManager

web_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                       'homebody_cooks_web')

app = Flask('HOMEBODY COOKS', root_path=web_dir)
admin = Admin(app, index_view=MyAdminIndexView())
csrf = CSRFProtect(app)
celery = make_celery(app)

admin.add_view(ModelView(User))
admin.add_view(ModelView(Ingredient))
admin.add_view(ModelView(Recipe))
admin.add_view(ModelView(RecipeIngredient))
admin.add_view(ModelView(Measurement))
admin.add_view(ModelView(Subscription))

login_manager = LoginManager()
login_manager.login_view = 'auth.login'
login_manager.init_app(app)
mail = Mail(app)
jwt = JWTManager(app)

if os.getenv('FLASK_ENV') == 'production':
    app.config.from_object("config.ProductionConfig")
else:
Beispiel #15
0
import peewee

from modelos import Agente_Aduanal, Requisito, Agencia_Aduanal, Sistema
from flask import Flask, render_template
from peewee import *
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView

nombreDB = 'DB_AAALAC.db'
db = SqliteDatabase(nombreDB)
app = Flask(__name__)
app.config.from_object(__name__)

admin = Admin(app, name='SistemaAA', template_mode='bootstrap3')

admin.add_view(ModelView(Agente_Aduanal, db))
admin.add_view(ModelView(Agencia_Aduanal, db))
admin.add_view(ModelView(Requisito, db))
admin.add_view(ModelView(Sistema, db))


@app.route('/')
def index():
    lista = (Agente_Aduanal.select())
    return render_template('index.html', tablas=lista)


@app.route('/<patente>')
def ver_agente(patente):
    agente = Agente_Aduanal.get(Agente_Aduanal.numero_patente == patente)
    return render_template('agente.html', patente=agente)
Beispiel #16
0
class PeopleGroupAid(BaseModel):
	people_event = peewee.ForeignKeyField(PeopleGroup, related_name = 'people get help on event')
	aid = peewee.ForeignKeyField(Resource, related_name = 'resource name')
	quantity = peewee.IntegerField()

	def __unicode__(self):
        return self.people_event

#class UserAdmin(ModelView):





class PeopleView(ModelView):

    #Visible columns in the list view
    column_exclude_list = ('middle_name', 'pspt_misc', 'pspt_issued',  'pspt_address', 'pspt_number')

    # List of columns that can be sorted.
    column_sortable_list = ('last_name', 'is_head')

    # Column filters
    column_filters = ('last_name',
                      'is_head',
                      'is_employee'
                      )    
    column_display_pk = 'True'

class ResourceView(ModelView):
    column_filters = ('name', )
    column_display_pk = 'True'

class LocationView(ModelView):
    #column_filters = ( 'name' )
    column_display_pk = 'True'



@app.route('/')
def index():
   return '<a href="/admin/">Click me to get to Admin!</a>'
   #return render_template('index.html')


if __name__ == '__main__':
    import logging
    logging.basicConfig()
    logging.getLogger().setLevel(logging.DEBUG)

    admin = admin.Admin(app, name='Dom gde teplo')
    admin.add_view(PeopleView(People))
    admin.add_view(ModelView(User))
    admin.add_view(ResourceView(Resource))
    admin.add_view(LocationView(Location))
    admin.add_view(ModelView(Project))
    admin.add_view(ModelView(Event))
    admin.add_view(ModelView(PeopleGroup))
    admin.add_view(ModelView(PeopleGroupAid))
    #admin.add_view(UserAdmin(User))
    #admin.add_view(PostAdmin(Post))

    try:
        Project.create_table()
        Event.create_table()
        PeopleGroup.create_table()
        PeopleGroupAid.create_table()
        User.create_table()
        People.create_table()
        Resource.create_table()
        Location.create_table()
        
        
    except:
        pass

    app.run(debug=True)
Beispiel #17
0
from flask import Flask
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView
import model

app = Flask(__name__)

# set optional bootswatch theme
#app.config['FLASK_ADMIN_SWATCH'] = 'cerulean'
app.config['SECRET_KEY'] = 'mosfet'
app.config['MODEL'] = model.environmentSensorData()

admin = Admin(app, name='SqliteDatabase', template_mode='bootstrap3', url='/')
admin.add_view(ModelView(model.environmentSensor))
admin.add_view(ModelView(model.smartMoistureProbe))
# Add administrative views here

app.run(host='0.0.0.0')
Beispiel #18
0
from flask import Flask, render_template, request, session, redirect, url_for, flash, abort
from models import Administrator,Moderator, Faculty, SelectedCourseInfo, Semester, Courses, ClassRoom, DayTime, db
from constants import ROLES

import flask_admin as admin
from flask_admin.contrib.peewee import ModelView

app = Flask(__name__)
app.secret_key = "SomeAwesomeSecret"
app.config['FLASK_ADMIN_SWATCH'] = 'cerulean'

admin = admin.Admin(app, name="SoftGreen")

admin.add_view(ModelView(Administrator))
admin.add_view(ModelView(Moderator))
admin.add_view(ModelView(Faculty))
admin.add_view(ModelView(SelectedCourseInfo))
admin.add_view(ModelView(Semester))
admin.add_view(ModelView(Courses))
admin.add_view(ModelView(DayTime))


@app.route('/', methods=['POST', 'GET'])
def index_login():
    logged_status = session.get("logged_in")
    if not logged_status:
        return render_template('options_to_login.html')
    else:
        return redirect(url_for("faculty_selection"))

Beispiel #19
0
    file_handler.setLevel(logging.INFO)
    app.logger.addHandler(file_handler)
except IOError:
    print('Could not open %s/admin_app.log, skipping file-based logging' %
          app_config.SERVER_LOG_PATH)

app.logger.setLevel(logging.INFO)

app.register_blueprint(static.static,
                       url_prefix='/%s' % app_config.PROJECT_SLUG)

app.add_template_filter(smarty_filter, name='smarty')
app.add_template_filter(urlencode_filter, name='urlencode')

admin = Admin(app, url='/%s/admin' % app_config.PROJECT_SLUG)
admin.add_view(ModelView(models.Result))
admin.add_view(ModelView(models.Call))
admin.add_view(ModelView(models.RaceMeta))

SLUG_TO_OFFICENAME = {
    'senate': 'U.S. Senate',
    'house': 'U.S. House',
    'governor': 'Governor'
}


@app.route('/%s/calls/<office>/' % app_config.PROJECT_SLUG, methods=['GET'])
def calls_admin(office):
    officename = SLUG_TO_OFFICENAME[office]

    # This value will be the same for all seats in a chamber, so pick
Beispiel #20
0
from app import app
from articles.models import Article, Tag

admin = Admin(app, name='blog', template_mode='bootstrap3')


class CKTextAreaWidget(TextArea):
    def __call__(self, field, **kwargs):
        if kwargs.get('class'):
            kwargs['class'] += ' ckeditor'
        else:
            kwargs.setdefault('class', 'ckeditor')
        return super(CKTextAreaWidget, self).__call__(field, **kwargs)


class CKTextAreaField(TextAreaField):
    widget = CKTextAreaWidget()


class MessageAdmin(ModelView):
    extra_js = ['//cdn.ckeditor.com/4.6.0/standard/ckeditor.js']

    form_overrides = {
        'content': CKTextAreaField
    }


admin.add_view(MessageAdmin(Article))
admin.add_view(ModelView(Tag))
Beispiel #21
0
from flask import Flask, request, Response, render_template, url_for
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView
import pyqrcode
import peewee
from peewee import fn

from models import db, Group, Player, Puzzle, Answer

HERE = op.abspath(op.dirname(__file__))
STATIC_DIR = op.join(HERE, 'static')
MAX_CONTENT_LENGTH = 1024 * 1024

app = Flask(__name__)
admin = Admin(app, name='Puzzle Hunt', template_mode='bootstrap3')
admin.add_view(ModelView(Group))
admin.add_view(ModelView(Player))
admin.add_view(ModelView(Puzzle))
admin.add_view(ModelView(Answer))


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/qrcode', methods=['GET', 'POST'])
def qrcode():
    if request.method == 'GET':
        return render_template('qrcode.html')
    else:
Beispiel #22
0
from flask import Flask
from flask_admin import Admin
from flask_admin import BaseView, expose
from flask_admin.contrib.peewee import ModelView
from flask import *

import model
import time
import json


class MyView(BaseView):
    @expose('/smarthome')
    def index(self):
        return self.render('temp.html')


app = Flask(__name__)
app.config['SECRET_KEY'] = '20150333'
app.config['MODEL'] = model.DHTData()

admin = Admin(app, name='SQLite Sensors', template_mode='bootstrap3')

admin.add_view(ModelView(model.DHTSensor))
admin.add_view(ModelView(model.SensorReading))

if __name__ == '__main__':
    app.run(debug=True)
Beispiel #23
0
from flask import render_template, request, redirect, url_for
from flask_login import login_user, logout_user
from flask_admin.contrib.peewee import ModelView
from flask_admin import Admin
from app import app
from models import *
from actions import *

admin = Admin(app, name='Locadora', template_mode='bootstrap3')

admin.add_view(ModelView(models.Tipo))
admin.add_view(ModelView(models.Usuarios))
admin.add_view(ModelView(models.Clientes))
admin.add_view(ModelView(models.Carros))
admin.add_view(ModelView(models.Alugueis))


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        cpf = request.form['cpf']

        user = Verificar.clienteExiste(cpf)

        if not user:
            return redirect(url_for('login'))
        if doesUserHaveRole("admin"):
            # print "Role Verified"
            return super(RoleVerifiedAdminIndexView, self).index()
        else:
            # print "No Role Verified"
            return redirect("/", code=302)


admin = admin.Admin(app,
                    name=config.application.title,
                    index_view=RoleVerifiedAdminIndexView(),
                    template_mode='bootstrap3')
from application.models import classes
for c in classes:
    # print "Adding ModelView to {0}".format(c)
    admin.add_view(ModelView(c))

# Store the username (which will have been set by the webserver)
# into the config.
# FIXME: This is temporary. Fix with proper code for running
# under Apache/Shibboleth
import os
from application.logic.validation import getUsernameFromEnv as gUFE
config.flask.username = gUFE()


# This hook ensures that a connection is opened to handle any queries
# generated by the request. Opens every database, which is not ideal,
# but because we don't know which will be used...
@app.before_request
def _db_connect():
Beispiel #25
0
import json
import logging
import oauth
import static

from flask import Flask, make_response, render_template
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView
from models import models
from render_utils import make_context, smarty_filter, urlencode_filter
from werkzeug.debug import DebuggedApplication

app = Flask(__name__)
app.debug = app_config.DEBUG
admin = Admin(app, name=app_config.PROJECT_SLUG)
admin.add_view(ModelView(models.TestModel))

logging.basicConfig(format=app_config.LOG_FORMAT)
logger = logging.getLogger(__name__)
logger.setLevel(app_config.LOG_LEVEL)

try:
    file_handler = logging.FileHandler('%s/public_app.log' %
                                       app_config.SERVER_LOG_PATH)
    file_handler.setLevel(logging.INFO)
    app.logger.addHandler(file_handler)
except IOError:
    logger.warn(
        'Could not open %s/public_app.log, skipping file-based logging' %
        app_config.SERVER_LOG_PATH)
Beispiel #26
0
from connect import db
from models import *
from views import *
from peewee import *
from flask import Flask, request
from flask_admin import Admin
from flask_admin.contrib.peewee import ModelView


admin = Admin(app, name='sde_api', template_mode='bootstrap3')
admin.add_view(ModelView(ExploreCard))


def create_tables():
    db.create_tables([ExploreCard], safe=True)


create_tables()
app.run(port=5000, debug=True)
Beispiel #27
0
from flask_wtf.csrf import CSRFProtect
from models.user import User, MyAdminIndexView, AuthenticatedMenuLink
from models.product import Product
from models.category import Category
from models.image import Image
from models.sub_category import SubCategory
from models.product_category import ProductCategory

web_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                       'aroparts_web')

app = Flask('AROPARTS', root_path=web_dir)
admin = Admin(app, index_view=MyAdminIndexView())
csrf = CSRFProtect(app)

admin.add_view(ModelView(User))
admin.add_view(ModelView(Product))
admin.add_view(ModelView(Category))
admin.add_view(ModelView(SubCategory))
admin.add_view(ModelView(Image))
admin.add_view(ModelView(ProductCategory))
admin.add_link(AuthenticatedMenuLink(name='Logout', endpoint='logout'))

login_manager = LoginManager()
login_manager.login_view = 'auth.login'
login_manager.init_app(app)

if os.getenv('FLASK_ENV') == 'production':
    app.config.from_object("config.ProductionConfig")
else:
    app.config.from_object("config.DevelopmentConfig")