'''
Created on 2012-6-14
@author: wenwen
'''
from flask import Flask, make_response, request, session, render_template, redirect, abort, current_app
from flask_principal import Principal, Permission, UserNeed, RoleNeed, Identity, AnonymousIdentity, identity_changed, identity_loaded
import simplejson as json
from bson import json_util
from datetime import datetime, timedelta
from logging import Formatter
import logging.handlers
import traceback
import paramiko
LOG_FILENAME = 'logs/admin.log'
handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=100000000, backupCount=5)
handler.setFormatter(Formatter('%(asctime)s - %(name)s - %(levelname)s - %(process)d - Line:%(lineno)d - %(message)s'))
# application
app = Flask(__name__)
app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
# load the extension
principals = Principal(app)
# Create a permission with a single Need, in this case a RoleNeed.
all_permission = Permission(RoleNeed('admin'),RoleNeed('operator'))
admin_permission = Permission(RoleNeed('admin'))