Exemple #1
0
def create_app():
    app = Flask(__name__)

    @app.route('/')
    def index():
        return "Hello World"

    neomodel.config.DATABASE_URL = "bolt://*****:*****@localhost:7687"
    neomodel.config.AUTO_INSTALL_LABELS = True
    neomodel.config.FORCE_TIMEZONE = True  # default False

    if global_config.LOG_ENABLED:
        logging.basicConfig(filename=os.path.abspath(
            os.path.join(global_config.LOG_LOCATION,
                         global_config.LOG_FILENAME)),
                            format=global_config.LOG_FORMAT)
        app.ext_logger = logging.getLogger()
        app.ext_logger.setLevel(global_config.LOG_LEVEL)
        handler = logging.handlers.RotatingFileHandler(
            os.path.abspath(
                os.path.join(global_config.LOG_LOCATION,
                             global_config.LOG_FILENAME)),
            maxBytes=global_config.LOG_MAX_BYTES,
            backupCount=global_config.LOG_BACKUP_COUNT)
        app.ext_logger.addHandler(handler)
    else:
        app.ext_logger = app.logger

    PersonsView.register(app, route_base="/persons", trailing_slash=False)
    GroupsView.register(app, route_base="/groups", trailing_slash=False)
    EventsView.register(app, route_base="/events", trailing_slash=False)
    ChatsView.register(app, route_base="/chats", trailing_slash=False)
    MessagesView.register(app, route_base="/messages", trailing_slash=False)

    return app
Exemple #2
0
def login_log(level):
    # 设置⽇志的记录等级
    logging.basicConfig(level=level)  # 调试debug级
    # 创建⽇志记录器,指明⽇志保存的路径、每个⽇志⽂件的最⼤⼤⼩、保存的⽇志⽂件个数上限
    file_log_handler = RotatingFileHandler("logs/log",
                                           maxBytes=1024 * 1024 * 100,
                                           backupCount=10)
    # 创建⽇志记录的格式 ⽇志等级 输⼊⽇志信息的⽂件名 ⾏数 ⽇志信息
    formatter = logging.Formatter(
        '%(levelname)s %(filename)s:%(lineno)d %(message)s')
    # 为刚创建的⽇志记录器设置⽇志记录格式
    file_log_handler.setFormatter(formatter)
    # 为全局的⽇志⼯具对象(flask app使⽤的)添加⽇志记录器
    logging.getLogger().addHandler(file_log_handler)
Exemple #3
0
def setup_log(config_name):
    # 设置日志的记录等级
    logging.basicConfig(level=config[config_name].LOG_LEVEL)  # 调试debug级
    # 创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限
    file_log_handler = RotatingFileHandler("logs/log",
                                           maxBytes=1024 * 1024 * 100,
                                           backupCount=10)
    # 创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息
    formatter = logging.Formatter(
        '%(levelname)s %(filename)s:%(lineno)d %(message)s')
    # 为刚创建的日志记录器设置日志记录格式
    file_log_handler.setFormatter(formatter)
    # 为全局的日志工具对象(flask app使用的)添加日志记录器
    logging.getLogger().addHandler(file_log_handler)
Exemple #4
0
def initLogging():
    fmt = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s: %(message)s'
    today = datetime.date.today()
    filenameurl = '{}logs-{}.log'.format(LOGURL, str(today))
    print("filenameurl: ", filenameurl)
    logging.basicConfig(level=logging.INFO,
                        format=fmt,
                        filename=filenameurl,
                        filemode='a',
                        datefmt='%Y-%m-%d %H:%M:%S')
    console = logging.StreamHandler()
    console.setLevel(logging.INFO)
    formatter = logging.Formatter(
        'LINE %(lineno)-4d : %(levelname)-8s %(message)s')
    console.setFormatter(formatter)
    logging.getLogger('').addHandler(console)
Exemple #5
0
        if key.startswith('GRST_CRED_AURI_') and value.startswith("dn:"):

            # HTTP unquote the DN:
            client_dn = urllib.parse.unquote_plus(value)

            # Get list of authorized DNs
            authorized_dns = global_data.get_dns()

            # Authorized dns should be a set, or dict, that supports the "in"
            if client_dn[
                    3:] in authorized_dns:  # "dn:" is at the beginning of the DN
                if app and app.logger:
                    app.logger.info("Authorized %s", client_dn)
                return True
            else:
                if app and app.logger:
                    app.logger.debug("Rejected %s", client_dn)

    # If it gets here, then it is not authorized
    return default_authorized


if __name__ == '__main__':
    if "--auth" in sys.argv[1:]:
        default_authorized = True
    logging.basicConfig(level=logging.DEBUG)
    app.run(debug=True, use_reloader=True)
else:
    root = logging.getLogger()
    root.addHandler(flask.logging.default_handler)
Exemple #6
0
from flask import Blueprint, Flask, render_template, flash, redirect, url_for, session, request, logging
from flask_mysqldb import MySQL, MySQLdb
from flask import current_app as app
from engine import RecommendationEngine
from collections import OrderedDict
import ast, json, urllib, logging, bcrypt
from contentbased import content

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

main = Blueprint('main', __name__)


@main.route("/logout/<int:user_id>", methods=["GET", "POST"])
def logout(user_id):
    session.clear()
    return redirect(url_for('main.login'))


@main.route("/login", methods=["GET", "POST"])
def login():

    if request.method == "POST":

        userDetails = request.form
        if userDetails['btn'] == "submit":

            ID = userDetails['User_ID']
            Password = userDetails['password_1'].encode('utf-8')
            hash_password = bcrypt.hashpw(Password, bcrypt.gensalt())
Exemple #7
0
        insertion()
    else:
        results = db.session.query(Email).filter_by(sender_email=user).all()
        temp = db.session.query(Email).filter_by(receiver_email=user).all()
        for i in temp:
            results.append(i)
    return render_template("mails.html", results=results)


@app.route('/savingdraft', methods=["POST", "GET"])
@is_logged_in
def savingdraft():
    return redirect(url_for('inbox'))


@app.route('/logout')
@is_logged_in
def logout():
    session.clear()
    flash("you are now logged out", 'success')
    return redirect(url_for('index'))


#Run Server
if __name__ == "__main__":
    #set logging
    app.config['SECRET_KEY'] = "ahsan"
    logging.basicConfig()
    logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
    app.run(debug=True)
Exemple #8
0
import redis
import logging
from logging.handlers import RotatingFileHandler
from ihome.utils.commons import ReConverter


# 数据库
db = SQLAlchemy()

#创建redis连接对象
redis_store = None


# 配置日志信息
# 设置日志的记录等级
logging.basicConfig(level=logging.WARNING)
# 创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限
file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024*1024*100, backupCount=10)
# 创建日志记录的格式                 日志等级    输入日志信息的文件名 行数    日志信息
formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s')
# 为刚创建的日志记录器设置日志记录格式
file_log_handler.setFormatter(formatter)
# 为全局的日志工具对象(flask app使用的)添加日记录器
logging.getLogger().addHandler(file_log_handler)



#工厂模式
def create_app(config_name):
    """
    创建Flask的应用对象
Exemple #9
0
import logging

#Okay, maybe import this instead for SQL stuff
from flaskext.mysql import MySQL

from passlib.hash import sha256_crypt
from spellchecker import SpellChecker

#import mysql's connector to get that functionality
import mysql.connector

#Setup flask
app = Flask(__name__)
logger = logging.getLogger(__name__)
file_handler = logging.FileHandler('ErrorLog.txt')
logging.basicConfig(filename='ErrorLog.txt', level=logging.INFO)

#login manager to help with sessions
login = LoginManager(app)

mysql = MySQL()

#Configuration stuff for the app
#The account on the database is currently the root-like but not exactly root
#test account
app.config['MYSQL_DATABASE_USER'] = '******'
app.config['MYSQL_DATABASE_PASSWORD'] = '******'
app.config['MYSQL_DATABASE_DB'] = 'users'
#app.config['MYSQL_DATABASE_HOST'] = 'localhost'

app.config['SECRET_KEY'] = 'BolognaBoys'
Exemple #10
0
from passlib.hash import sha256_crypt
from werkzeug.utils import secure_filename
from functools import wraps
from datetime import datetime, timedelta
from .models import User, Cart, Product, Review, BuyHistory, Category
from .forms import RegisterForm, EditUserForm, AddProductForm, BuyProductForm
import os
from app import app, db
import logging

# define global varibles
product_per_page = 1

#set logging

logging.basicConfig(level=logging.NOTSET)
handler = logging.FileHandler('app.log', encoding='UTF-8')
logging_format = logging.Formatter(
    '%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s'
)
handler.setFormatter(logging_format)
app.logger.addHandler(handler)


@app.route('/')
@app.route('/index')
def index():
    app.logger.error('this is a error log')
    app.logger.warning('this is a warning log')
    app.logger.info('this is a info log')
    app.logger.debug('this is a debug log')
Exemple #11
0
# -*- coding: utf8

"""
thingking:
1. the state keep the redirect page info
"""
from flask import Flask, request, send_from_directory, send_file, logging, redirect, url_for, session, abort
import json
import logging
import os
# import events for reg customize events function
import wx_events
from wx_gzh import gzh
from wx_runtime_users import rtuser

logging.basicConfig(level=logging.DEBUG, format='(%(funcName)-10s) %(message)s')

# 启动服务器
gzhsvr = gzh(appid='wxb2feb66da4987f82', secret='1e5e88ae7d42103f917a77b327b06708')

app = Flask(__name__)
app.secret_key  = os.environ.get('SECRET_KEY') or 'zxf***YFJEU7#@#1HFEiefj'
cur_folder = os.getcwd()


# 事件注册器,可针对特定的事件event key实现对应的处理内容,返回string(仅仅在内置的imcallback函数没有返回值时才会调用注册函数)
# 针对已经定义的事件:
# wxevent_mappings.values(): subscribe(不建议),wx_event_location,wx_event_CLICK,wx_event_VIEW 等
#   A test for reg func to event
#   by reg_func, set a function to handle some event identified by eventkey
#   reg_fun/unreg_fun...
Exemple #12
0
from flask import abort
from flaskext.mysql import MySQL
from werkzeug.utils import secure_filename
import logging
import os
import requests
from classes.Patient import Patient
from classes.DBHandler import DB
from classes.PatientController import PController
import classes.configrations as config
from werkzeug.utils import secure_filename

app = flask.Flask(__name__)
config.configApp(app)
logging.basicConfig(filename='app.log',
                    format='%(asctime)s : -%(message)s',
                    filemode='w')
PatientController = PController(app)
ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg'])


@app.route('/', methods=['GET'])
def home():
    return render_template('home.html')


@app.errorhandler(404)
def page_not_found(e):
    return render_template('error404.html')

Exemple #13
0

class DebugFileHandler(FileHandler):
    def __init__(self, filename, mode='a', encoding=None, delay=False):
        FileHandler.__init__(self, filename, mode, encoding, delay)

    def emit(self, record):
        if not record.levelno == logging.DEBUG:
            return
        FileHandler.emit(self, record)


# set up logging to file - see previous section for more details
logging.basicConfig(
    filename="debug.log",
    level=logging.DEBUG,
    format='%(asctime)s %(levelname)s : %(message)s',
    datefmt='%m-%d %H:%M:%S',
)
# add the handler to the root logger
logging.getLogger('app-logger').addHandler(DebugFileHandler("debug.log"))

app = Flask(__name__)
main_db = "static/db.json"
daily_updates = "static/daily-updates.json"
hackers_db = "static/hackers.json"
day = 0


# Check if logged in
def is_logged_in(f):
    @wraps(f)
Exemple #14
0
        if 'file' not in request.files:
            flash('No file part', 'danger')
            return redirect(request.url)

        file = request.files['file']

        # if user does not select file, browser also
        # submit a empty part without filename
        if file.filename == '':
            flash('No selected file', 'danger')
            return redirect(request.url)

        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            flash('Yo, File saved!', 'success')
            return redirect(url_for('dashboard', filename=filename))
    return (redirect(url_for('dashboard')))


# Verfiy filename is allowed
def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS


if __name__ == '__main__':
    app.secret_key = 'CS4389isCool!'
    logging.basicConfig(filename='app.log', level=logging.INFO)
    app.run(host="0.0.0.0", port=5000, debug=True)