Пример #1
1
 def tree_mount(self, module_name, http_root, static_dir, orm_base_obj=None, db_plugin=None):  # db sqlite
     if http_root:
         base_uri = '/%s' % module_name
         config_map = {}
         if static_dir:
             config_map = {
                 '/statics': {
                     'tools.staticdir.on': True,
                     'tools.staticdir.dir': static_dir,
                     'tools.staticdir.index': 'index.html',
                 },
             }
         if orm_base_obj and db_plugin:
             cherrypy.tools.db = SQLAlchemyTool()
         config_map.update({
             '/': {
                 'tools.db.on': True if orm_base_obj and db_plugin else False
             }
         })
         cherrypy.tree.mount(http_root, base_uri, config_map)
         if orm_base_obj and db_plugin:
             sqlalchemy_plugin = SQLAlchemyPlugin(
                 cherrypy.engine, orm_base_obj, db_plugin,
                 echo=True
             )
             sqlalchemy_plugin.subscribe()
             sqlalchemy_plugin.create()
Пример #2
0
def start_server():

    sessions_dir = os.getcwd() + '/sessions'

    if not os.path.exists(sessions_dir):
        os.makedirs(sessions_dir)

    server_config = {
        "server.socket_host": '0.0.0.0',
        "server.socket_port": 8095,
        "engine.autoreload.on": False,
        "tools.sessions.on": True,
        "tools.sessions.storage_type": "file",
        "tools.sessions.storage_path": sessions_dir,
        "tools.sessions.timeout": 180
    }

    application_config = {
        '/': {
            'tools.staticdir.root': os.getcwd()
        },
        '/static': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': 'static'
        }
    }
    cherrypy.tools.db = SQLAlchemyTool()
    SQLAlchemyPlugin(
        cherrypy.engine, ORMBase,
        'postgresql://*****:*****@localhost:5432/blog_cherry')
    cherrypy.config.update(server_config)
    cherrypy.tree.mount(RootClass(), '/', config=application_config)
    cherrypy.engine.start()
Пример #3
0
def run():
    cherrypy.tools.db = SQLAlchemyTool()

    global_conf = {
        'global': {
            'server.socket_host': '127.0.0.1',
            'server.socket_port': int(os.environ.get('PORT', 5000)),
        },
        'databases': {
            'driver': "postgres",
            'host': "localhost",
            'port': 5432,
        }
    }
    cherrypy.config.update(global_conf)

    app_config = {
        '/': {
            'tools.db.on': True,
        },
        '/static': {
            'tools.staticdir.root': os.path.dirname(os.path.abspath(__file__)),
            'tools.staticdir.on': True,
            'tools.staticdir.dir': 'static',
        },
    }
    cherrypy.tree.mount(Notes_Class(), '/', config=app_config)
    cherrypy.tree.mount(ListNotes_Class(), '/listNotes/', config=app_config)
    # dbfile = os.path.join(HERE, 'database1.db')

    # if not os.path.exists(dbfile):
    #     open(dbfile, 'w+').close()

    sqlalchemy_plugin = SQLAlchemyPlugin(
        cherrypy.engine, Base,
        'postgresql+psycopg2://postgres:[email protected]:5432/db1')
    sqlalchemy_plugin.subscribe()
    sqlalchemy_plugin.create()

    cherrypy.engine.start()
    cherrypy.engine.block()
Пример #4
0
def run():
    cherrypy.tools.db = SQLAlchemyTool()

    app_config = {
        '/': {
            'tools.db.on': True,
        }
    }
    cherrypy.tree.mount(Root(), '/', config=app_config)
    dbfile = os.path.join(HERE, 'log.db')

    if not os.path.exists(dbfile):
        open(dbfile, 'w+').close()

    sqlalchemy_plugin = SQLAlchemyPlugin(
        cherrypy.engine, Base, 'sqlite:///%s' % (dbfile),
        echo=True
    )
    sqlalchemy_plugin.subscribe()
    sqlalchemy_plugin.create()
    cherrypy.engine.start()
    cherrypy.engine.block()
Пример #5
0
def run():
    cherrypy.tools.db = SQLAlchemyTool()
    auto_reload = True
    app_config = {
        'global': {
            'engine.autoreload.on': auto_reload
        },
        '/': {
            'tools.db.on': True
        },
        '/css': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': os.path.join(MOD_DIR, 'css')
        },
    }

    ip = get_ip()
    print("ip", get_ip())
    cherrypy.config.update({'engine.autoreload.on': auto_reload})
    cherrypy.tree.mount(App(os.path.join(MOD_DIR, "defs")),
                        '/',
                        config=app_config)
    cherrypy.config.update({'server.socket_host': '0:0:0:0:0:0:0:0'})
    dbfile = os.path.join(MOD_DIR, 'log.db')

    if not os.path.exists(dbfile):
        open(dbfile, 'w+').close()

    sqlalchemy_plugin = SQLAlchemyPlugin(cherrypy.engine,
                                         Base,
                                         'sqlite:///%s' % (dbfile),
                                         echo=True)
    sqlalchemy_plugin.subscribe()
    sqlalchemy_plugin.create()
    cherrypy.engine.start()
    import webbrowser
    webbrowser.open('http://{}:8080'.format(ip))
    cherrypy.engine.block()
Пример #6
0
def run():
	db_log_file_name = '/var/log/secpi/db.log'
	
	db_handler = logging.FileHandler(db_log_file_name)
	db_handler.setLevel(logging.WARN)

	db_logger = logging.getLogger('sqlalchemy')
	db_logger.addHandler(db_handler)
	db_logger.setLevel(logging.WARN)
	
	cherrypy.tools.db = SQLAlchemyTool()
	cherrypy.tools.lookup = MakoTemplateTool('%s/webinterface/templates'%(PROJECT_PATH))
	
	
	cherrypy.config.update({
		'server.socket_host': '0.0.0.0',
		'server.socket_port': 8443,
		'server.ssl_module':'pyopenssl',
		'server.ssl_certificate':'%s/certs/%s'%(PROJECT_PATH, config.get("server_cert")),
		'server.ssl_private_key':'%s/certs/%s'%(PROJECT_PATH, config.get("server_key")),
		'server.ssl_certificate_chain':'%s/certs/%s'%(PROJECT_PATH, config.get("server_ca_chain")),
		'log.error_file': "/var/log/secpi/webinterface.log",
		'log.access_file': "/var/log/secpi/webinterface_access.log",
		'log.screen': False
	})
	
	app_config = {
		'/': {
			'tools.db.on': True,
			'tools.lookup.on': True,
			'tools.staticdir.root': os.path.join(PROJECT_PATH, "webinterface"),
			'tools.auth_digest.on': True,
			'tools.auth_digest.realm': 'secpi',
			'tools.auth_digest.get_ha1': auth_digest.get_ha1_file_htdigest('%s/webinterface/.htdigest'%(PROJECT_PATH)),
			'tools.auth_digest.key': 'ae41349f9413b13c'
		},
		'/static': {
			'tools.staticdir.on': True,
			'tools.staticdir.dir': 'static'
		},
		 "/favicon.ico":
		{
		  "tools.staticfile.on": True,
		  "tools.staticfile.filename": PROJECT_PATH+"/webinterface/favicon.ico"
		}
	}
	cherrypy.tree.mount(Root(), '/', app_config)
	dbfile = "%s/data.db"%PROJECT_PATH

	if not os.path.exists(dbfile):
		open(dbfile, 'w+').close()

	sqlalchemy_plugin = SQLAlchemyPlugin(
		cherrypy.engine, objects.Base, 'sqlite:///%s' % (dbfile),
		echo=False
	)
	sqlalchemy_plugin.subscribe()
	sqlalchemy_plugin.create()

	cherrypy.engine.start()
	cherrypy.engine.block()
Пример #7
0
        '/img': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': os.path.join(path, 'img')
        },
        '/js': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': os.path.join(path, 'js')
        },
        '/pdf': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': os.path.join(path, 'pdf')
        },
        '/favicon.ico': {
            'tools.staticfile.on': True,
            'tools.staticfile.filename': os.path.join(path, 'favicon.ico')
        }
    }

    dsn = credentials[run_env][
        'writer']  # in the format <engine>://<connection_string>

    cherrypy.tools.db = SQLAlchemyTool()

    # sqlalchemy_plugin = SQLAlchemyPlugin(cherrypy.engine, Base, 'sqlite:///dt_opc_test.db')
    sqlalchemy_plugin = SQLAlchemyPlugin(cherrypy.engine, Base, dsn)
    sqlalchemy_plugin.subscribe()
    sqlalchemy_plugin.create()
    webapp = DTOPC()
    webapp.save_review_rating = ReviewRatingSaverService()
    cherrypy.quickstart(webapp, '/', conf)
Пример #8
0
def run():
    db_log_file_name = '/var/log/secpi/db.log'

    db_handler = logging.FileHandler(db_log_file_name)
    db_handler.setLevel(logging.WARN)

    db_logger = logging.getLogger('sqlalchemy')
    db_logger.addHandler(db_handler)
    db_logger.setLevel(logging.WARN)

    cherrypy.tools.db = SQLAlchemyTool()
    cherrypy.tools.lookup = MakoTemplateTool('%s/webinterface/templates' %
                                             (PROJECT_PATH))

    cherrypy.config.update({
        'server.socket_host':
        '0.0.0.0',
        'server.socket_port':
        8443,
        'server.ssl_module':
        'pyopenssl',
        'server.ssl_certificate':
        '%s/certs/%s' % (PROJECT_PATH, config.get("server_cert")),
        'server.ssl_private_key':
        '%s/certs/%s' % (PROJECT_PATH, config.get("server_key")),
        'server.ssl_certificate_chain':
        '%s/certs/%s' % (PROJECT_PATH, config.get("server_ca_chain")),
        'log.error_file':
        "/var/log/secpi/webinterface.log",
        'log.access_file':
        "/var/log/secpi/webinterface_access.log",
        'log.screen':
        False
    })

    app_config = {
        '/': {
            'tools.db.on':
            True,
            'tools.lookup.on':
            True,
            'tools.staticdir.root':
            os.path.join(PROJECT_PATH, "webinterface"),
            'tools.auth_digest.on':
            True,
            'tools.auth_digest.realm':
            'secpi',
            'tools.auth_digest.get_ha1':
            auth_digest.get_ha1_file_htdigest('%s/webinterface/.htdigest' %
                                              (PROJECT_PATH)),
            'tools.auth_digest.key':
            'ae41349f9413b13c'
        },
        '/static': {
            'tools.staticdir.on': True,
            'tools.staticdir.dir': 'static'
        },
        "/favicon.ico": {
            "tools.staticfile.on": True,
            "tools.staticfile.filename":
            PROJECT_PATH + "/webinterface/favicon.ico"
        }
    }
    cherrypy.tree.mount(Root(), '/', app_config)
    dbfile = "%s/data.db" % PROJECT_PATH

    if not os.path.exists(dbfile):
        open(dbfile, 'w+').close()

    sqlalchemy_plugin = SQLAlchemyPlugin(cherrypy.engine,
                                         objects.Base,
                                         'sqlite:///%s' % (dbfile),
                                         echo=False)
    sqlalchemy_plugin.subscribe()
    sqlalchemy_plugin.create()

    cherrypy.engine.start()
    cherrypy.engine.block()
Пример #9
0
	# @cherrypy.tools.accept(media="text/html")
	# def GET(self):
#		client = MongoClient()
#		db = client.test_database
#		post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"]}
#		posts = db.posts
#		post_id = posts.insert_one(post).inserted_id
#		return str(post_id)
		# tmpl = env.get_template('base.html')
		# return tmpl.render()

	def OPTIONS(self):
		return None

root = Root()
root.auth = Auth()
root.users = Users()
root.forms = Forms()
root.debug = Debug()
root.games = Games()
root.query = GraphQL()

if __name__ == '__main__':
	cherrypy.tools.db = SQLAlchemyTool()
	cherrypy.config.update("server.conf")
	cherrypy.tree.mount(root, '/', "server.conf")
	saplugin = SQLAlchemyPlugin(cherrypy.engine, declarative_base(), 'mysql+pymysql://{0}@abstractplay.db:3306/sdg'.format(lib.common.getSecret('db-userpass')))
	saplugin.subscribe()
	cherrypy.engine.start()
	cherrypy.engine.block()
Пример #10
0
            pattern += "{user}"
        if "pass" in conf:
            pattern += ":{pass}"
    if "host" in conf:
        pattern += "@{host}"
    if "port" in conf:
        pattern += ":{port}"
    if "database" in conf:
        pattern += "/{database}"

    return pattern.format(**conf)

if __name__ == '__main__':
    cherrypy.tools.db = SQLAlchemyTool()
    cherrypy.config.update("server.conf")

    app = cherrypy.tree.mount(Root(), '/', "app.conf")

    create_kw = {}
    if cherrypy.config.get('debug', False):
        create_kw['echo'] = True

    engine_url = get_engine_url(app.config['db'])
    sap = SQLAlchemyPlugin(cherrypy.engine, ORMBase, engine_url, **create_kw)
    sap.start()
    sap.bind(cherrypy.tools.db.session)
    sap.create()

    cherrypy.engine.start()
    cherrypy.engine.block()