import os import sys package_directory = os.path.dirname(os.path.abspath(__file__)) from config import Config cfg = Config(file(os.path.join(package_directory, 'config.cfg'))) #--------------- Logging import logging file_handler=logging.FileHandler(cfg.logfile) file_handler.setLevel(logging.DEBUG) stream_handler=logging.StreamHandler(sys.stdout) stream_handler.setLevel(logging.DEBUG) clt=logging.getLogger('mylogger') clt.setLevel(logging.DEBUG) clt.addHandler(file_handler) clt.addHandler(stream_handler) clogger=clt #---------------- download_path=cfg.download_path lg=clt from gevent import spawn, monkey monkey.patch_all() from .compiler import start_workers #start_workers(1,1,1) if cfg.bot_active: from src.bot import bot #if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == "true": bot.message_loop() # Framework from flask import Flask, jsonify, render_template, redirect, request,send_from_directory # Cross Site Scripting from flask_cors import CORS, cross_origin #Authentication from flask_jwt import JWT, jwt_required, current_identity from src.models import Article,Section from src.users import authenticate, identity from datetime import datetime app = Flask(__name__) CORS(app) app.config['LOGGER_NAME']='mylogger' app.logger.setLevel(logging.DEBUG) app.logger.info("Server Started") app.config['SECRET_KEY'] = 'super-secret' import flask import json from database import Base from models import Article, CrawlUrl, CrawlCache flask.json.JSONEncoder.default = lambda self,obj: ((obj.__json__()) if isinstance(obj, (Base, Article,Section, CrawlUrl,CrawlCache)) else None) json.JSONEncoder.default = lambda self,obj: ((obj.__json__()) if isinstance(obj, (Base, Article,CrawlUrl,CrawlCache)) else None) #bot.dosmth() #lg.debug(bot.bot) # Allow Cross Site Scripting @app.after_request def after_request(response): response.headers.add('Access-Control-Allow-Origin', '*') if request.method == 'OPTIONS': response.headers['Access-Control-Allow-Methods'] = 'DELETE, GET, POST, PUT' headers = request.headers.get('Access-Control-Request-Headers') if headers: response.headers['Access-Control-Allow-Headers'] = headers return response from .articles.views import article_pages from .sections.views import section_pages from .compiler.views import compiler_pages from .organizations.views import organization_pages from .organizationtypes.views import organizationtype_pages @app.route("/") @app.route("/index") @app.route("/home") def home(): text="It work's, please do something" return jsonify(text=text) app.register_blueprint(article_pages, url_prefix='/articles') app.register_blueprint(section_pages, url_prefix='/sections') app.register_blueprint(compiler_pages, url_prefix='/compiler') #pp.register_blueprint(organization_pages, url_prefix='/organizations') app.register_blueprint(organization_pages, url_prefix='/organizations') app.register_blueprint(organizationtype_pages, url_prefix='/organizationtypes') # ------------ Telegram Bot #from bot import bot_queue #@app.route('/bot', methods=['GET', 'POST']) #def pass_update(): # bot_queue.put(request.data) # pass update to bot # return 'OK'