Пример #1
0
def init(conf_file):
    global exporter
    #automic scan dirs
    files_list = os.listdir(path.BIZ_PATH)
    files_list = set([x[:x.rfind(".")] for x in files_list if x.endswith(".py")])
    map(__import__, ['biz.' + x for x in files_list])
    sock = context.socket(zmq.DEALER)
    sock.connect('tcp://' + conf_file)
    exporter = Exporter(sock)
    Router.register_urls(exporter)
    IOLoop.instance().set_idel_call(functools.partial(exporter.send, ['echo']))
Пример #2
0
 def wsgi(self, environ, start_response):
     """
     All per request initialization goes here
     """
     # initialize router
     router = Router(self.routes)
     router.route(environ['PATH_INFO'])
     # dispatch
     dispatcher = Dispatcher(Request(environ), router)
     res = dispatcher.dispatch()
     return res
Пример #3
0
    def test_static_file(self):
        router = Router()
        router.pipe('/data')(StaticMiddleware(dir=os.getcwd()))

        @router.get()
        def index(req, res):
            res.set_data('Index')
            return res

        c = Client(router.build(), Response)
        res = c.get('/data/text.txt')
        self.assertEqual(res.data, b'Test data')
Пример #4
0
def init(conf_file):
    global exporter
    #automic scan dirs
    files_list = os.listdir(path.BIZ_PATH)
    files_list = set(
        [x[:x.rfind(".")] for x in files_list if x.endswith(".py")])
    map(__import__, ['biz.' + x for x in files_list])
    sock = context.socket(zmq.DEALER)
    sock.connect('tcp://' + conf_file)
    exporter = Exporter(sock)
    Router.register_urls(exporter)
    IOLoop.instance().set_idel_call(functools.partial(exporter.send, ['echo']))
Пример #5
0
    def test_decorators(self):
        self.middleware_called = False
        self.endpoint_called = False
        self.middleware_a_called = False
        self.endpoint_a_called = False

        router = Router()

        @router.pipe()
        def middleware(req, res, next):
            self.middleware_called = True
            return next(req, res)

        @router.pipe('/a')
        def middleware_a(req, res, next):
            self.middleware_a_called = True
            return next(req, res)

        @router.get('/a')
        def index_a(req, res):
            self.endpoint_a_called = True
            res.set_data('Index /a')
            return res

        @router.get()
        def index(req, res):
            self.endpoint_called = True
            res.set_data('Index /')
            return res

        c = Client(router.build(), Response)
        res = c.get('/')
        self.assertEqual(res.data, b'Index /')
        self.assertTrue(self.middleware_called)
        self.assertTrue(self.endpoint_called)
        self.assertFalse(self.endpoint_a_called)
        self.assertFalse(self.middleware_a_called)

        self.middleware_called = False
        self.endpoint_called = False
        self.middleware_a_called = False
        self.endpoint_a_called = False

        res = c.get('/a')
        self.assertEqual(res.data, b'Index /a')
        self.assertTrue(self.middleware_called)
        self.assertTrue(self.endpoint_a_called)
        self.assertTrue(self.middleware_a_called)
        self.assertFalse(self.endpoint_called)
Пример #6
0
    def test_index(self):
        self.index_called = False

        def index(req, res):
            self.index_called = True
            res.set_data('Index')
            return res

        router = Router()
        router._create_endpoint(index, '/', ['GET'])

        c = Client(router.build(), Response)
        res = c.get('/')
        self.assertTrue(self.index_called)
        self.assertEqual(res.data, b'Index')
Пример #7
0
    def test_compression(self):

        router = Router()

        router.pipe()(CompressionMiddleware())

        @router.get()
        def index(req, res):
            res.set_data('Index')
            return res

        c = Client(router.build(), Response)

        res = c.get('/', headers={'Accept-Encoding': 'gzip'})
        self.assertEqual(res.headers.get('Content-Encoding'), 'gzip')
Пример #8
0
    def test_method(self):
        self.index_get_called = False
        self.index_post_called = False

        def index_get(req, res):
            self.index_get_called = True
            res.set_data('Index_get')
            return res

        def index_post(req, res):
            self.index_post_called = True
            res.set_data('Index_post')
            return res

        router = Router()
        router._create_endpoint(index_get, '/', ['GET'])
        router._create_endpoint(index_post, '/', ['POST'])

        c = Client(router.build(), Response)
        res = c.get('/')
        self.assertTrue(self.index_get_called)
        self.assertFalse(self.index_post_called)
        self.assertEqual(res.data, b'Index_get')

        self.index_get_called = False
        self.index_post_called = False

        res = c.post('/')
        self.assertFalse(self.index_get_called)
        self.assertTrue(self.index_post_called)
        self.assertEqual(res.data, b'Index_post')
Пример #9
0
    def test_script_name(self):
        self.middleware_called = False
        router = Router()

        @router.pipe('/img')
        def images(req, res, next):
            self.middleware_called = True
            self.assertEqual(req.environ['SCRIPT_NAME'], '/flower/')
            return next(req, res)

        @router.get('/img/flower')
        def index(req, res):
            res.set_data('Flower')
            return res

        c = Client(router.build(), Response)

        res = c.get('/img/flower')
        self.assertEqual(res.data, b'Flower')
        self.assertTrue(self.middleware_called)
Пример #10
0
    def test_session(self):
        self.session_id = uuid.uuid4()
        def genId(req):
            return self.session_id.hex

        router = Router()
        sessionManager = BaseSessionManager(genId)

        router.pipe()(sessionManager)

        @router.get()
        def index(req, res):
            if 'alice' in sessionManager.session:
                res.set_data(sessionManager.session['alice'])
            else:
                sessionManager.session['alice'] = 'bob'
                res.set_data('Index')
            return res
        
        c = Client(router.build(), Response)
        res = c.get('/')
        self.assertEqual(res.data, b'Index')
        res = c.get('/')
        self.assertEqual(res.data, b'bob')

        c = Client(router.build(), Response)
        self.session_id = uuid.uuid4()
        res = c.get('/')
        self.assertEqual(res.data, b'Index')
Пример #11
0
    def test_wildcard(self):
        self.middleware_called = False
        self.endpoint_called = False
        self.endpoint_a_called = False

        def middleware(req, res, next):
            self.middleware_called = True
            return next(req, res)

        def endpoint_a(req, res):
            self.endpoint_a_called = True
            res.set_data('a')
            return res

        def endpoint(req, res):
            self.endpoint_called = True
            res.set_data('Index')
            return res

        router = Router()
        router._create_middleware(middleware, '%', ['GET'])
        router._create_endpoint(endpoint_a, '/a', ['GET'])
        router._create_endpoint(endpoint, '/', ['GET'])

        c = Client(router.build(), Response)
        res = c.get('/')
        self.assertTrue(self.middleware_called)
        self.assertTrue(self.endpoint_called)
        self.assertFalse(self.endpoint_a_called)
        self.assertEqual(res.data, b'Index')

        self.middleware_called = False
        self.endpoint_called = False
        self.endpoint_a_called = False

        c = Client(router._application, Response)
        res = c.get('/a')
        self.assertTrue(self.middleware_called)
        self.assertFalse(self.endpoint_called)
        self.assertTrue(self.endpoint_a_called)
        self.assertEqual(res.data, b'a')
Пример #12
0
config_file = 'config.json'

if not os.path.isfile(config_file):
	raise Exception('Config file is not exists')

try:
	config = json.load(open('config.json'))
except Exception as e:
	print(e)
	exit(0)

if not config or not config['google_sheet'] or not config['router']:
	raise Exception('Config file is invalid')

now = datetime.datetime.now()
router = Router(config['router']['url'], config['router']['login'], config['router']['password'])
hosts_count = router.get_lan_hosts_count()

speed_test_result = speed_tester.get_result()

client = (f"{speed_test_result['client']['isp']} \n"
          f"{speed_test_result['client']['ip']} \n{speed_test_result['client']['country']}"
          )

server = (f"{speed_test_result['server']['sponsor']} \n{speed_test_result['server']['host']}\n"
          f"{speed_test_result['server']['name']} \n{speed_test_result['server']['country']}"
          )

google_sheet = GoogleSheet(
	config['google_sheet']['sheet_id'],
	config['google_sheet']['page']
Пример #13
0
**************************************************
        TP-Link Wireless N Router WR841N
             Model No. TL-WR841N
**************************************************
{}
1. Execute Task             2. Reset Connection
3. Default IP Address       4. Target IP Address
5. Read Configuration       6. Reboot Router
7. Configure WAN            8. WAN Details
0. Exit/Logout
    """.format(color_heading, color_options)

    # Create an object of database module
    database = Database()
    # Create an object of router module
    router = Router('192.168.0.1', 'admin', 'admin')

    try:
        if router.login():  # login success
            # Create an database file that store device credentials
            database.config()

            check = False
            output = ''

            # create a continuous loop
            while True:
                # clear the screen
                os.system('clear')
                # print the result
                if not output == '':
Пример #14
0
import json, csv, time, string, itertools, copy, yaml
import numpy as np
import pandas as pd
import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import colors as mcolors

CONFIG_FILE_NAME = '002.01_config'
config = yaml.load(stream=file(DIR_TASK + '\\' + CONFIG_FILE_NAME +
                               '.yml', 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router
router = Router()
print '>> Walk, Don`t Run'
# --------------------------------------------------------------------------
#STEP: modify version?

configVersion = config['version']
config['version'] = round(
    float(configVersion) +
    .1, 1) if config['options']['increment-version'] == True else configVersion

#STEP: prepare Plot
plt.xlabel('xLabel')
plt.ylabel("yLabel")

#STEP: load
sourcePath = router.getRoute(
Пример #15
0
import json, csv, time, string, itertools, copy, yaml
import datetime as dt
import urllib

os.chdir(os.path.dirname(__file__))

CONFIG_FILE_NAME = '001.01_config'
config = yaml.load(stream=file(DIR_TASK + '\\' + CONFIG_FILE_NAME + '.yml',
                               'r'),
                   Loader=yaml.FullLoader)
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router
router = Router()
print '>> Walk, Don`t Run'


def tsToDate(miliTs):
    #convert Drawdate To Timestamp
    tss = float(str(miliTs)[:-3])
    return dt.datetime.fromtimestamp(tss).strftime('%Y-%m-%d')


# --------------------------------------------------------------------------

outputPath = router.getRoute(
    config['target']['route']) + config['target']['dir']

#com: create output folder
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import NoSuchElementException

CONFIG_FILE_NAME = '006.00_config'
config = yaml.load(stream=file(DIR_TASK + '\\' + CONFIG_FILE_NAME +
                               '.yml', 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router
router = Router()

# --------------------------------------------------------------------------

today = dt.datetime.now().strftime("%Y-%m-%d--%H-%M")

#STEP: modify version?
configVersion = config['version']
config['version'] = round(
    float(configVersion) +
    .1, 1) if config['options']['increment-version'] == True else configVersion

sourcePathFile = router.getRoute(
    config['source']
    ['route']) + config['source']['dir'] + config['source']['file']
rawObj = open(sourcePathFile, 'r')
Пример #17
0
import json, csv, time, string, itertools, copy, yaml
import numpy as np
import pandas as pd
import datetime as dt

import urllib2

CONFIG_FILE_NAME = '003.00_config.yml'
config = yaml.load(stream=file(DIR_TASK + '\\' + CONFIG_FILE_NAME, 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router

router = Router()

# _____________________________________________________________________________________ INIT

#STEP: modify version?
configVersion = config['version']
config['version'] = round(
    float(configVersion) +
    .1, 1) if config['options']['increment_version'] == True else configVersion


#DEF
def getInfosAB(station_a, station_b):
    global log
    YOUR_API_KEY = config['params']['api_key']
    ORIGIN = str(station_a['coord'][1]) + ',' + str(station_a['coord'][0])
Пример #18
0
            app.route('/<name>/' + str(i))(route)

    c = Client(app.wsgi_app, Response)
    with time_it('call route from flask', fd=fd):
        res = c.get('/hakim/30000')
        print(res.data)
        # assert res.data == b'900 route'
    
    new_mem = process.memory_info().rss 
    print(new_mem - mem)
    mem = new_mem
    


    router = Router()
    with time_it('create 60000 routes wsgitools router', fd=fd):
        for i in range(60000):
            route_desc = copy.copy(str(i) + ' route')
            @router.get(rule='/<name>/' + str(i))
            def route(req, res):
                res.set_data(route_desc)
                return res 
    

    c = Client(router.build(), Response)
    with time_it('call route from wsgitools.router', fd=fd):
        res = c.get('/hakim/30000')
        print(res.data)
        # assert res.data == b'900 route'
    
DIR_LIB = os.path.abspath(os.path.join(os.path.dirname(__file__), "../"))
DIR_TASK = os.path.dirname(os.path.abspath(__file__))

import json, csv, time, string, itertools, copy, yaml
import pyodbc
import numpy as np
import pandas as pd
import datetime as dt

config = yaml.load(stream=file(DIR_TASK + '\\config.yml', 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router
router = Router()

# --------------------------------------------------------------------------

#STEP: modify version?

configVersion = config['version']
config['version'] = round(
    float(configVersion) +
    .1, 1) if config['options']['increment-version'] == True else configVersion

#STEP: Save dta to DB

cnxn = pyodbc.connect(
    r'Driver={SQL Server};Server=.\SQLEXPRESS;Database=qlik_medical;Trusted_Connection=yes;'
)
import numpy as np
import pandas as pd
import datetime as dt

from os import listdir
from os.path import isfile, join
import requests

CONFIG_FILE_NAME = '006-R0_config'
config = yaml.load( stream = file( DIR_TASK + '\\' + CONFIG_FILE_NAME + '.yml', 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append( DIR_LIB )

from lib.router import Router
router = Router( )

# --------------------------------------------------------------------------
today = dt.datetime.now().strftime("%Y-%m-%d--%H-%M") 

#STEP: modify version?

configVersion = config['version']
config['version'] =  round( float(configVersion) + .1, 1 ) if config['options']['increment-version'] == True else configVersion


#STEP: load file json

sourcePathFile = router.getRoute( config['secret']['route'] ) + config['secret']['dir'] + config['secret']['file']
rawObj = open( sourcePathFile , 'r')
secretFile = json.load( rawObj )
Пример #21
0
    def test_subrouter(self):
        self.middleware_called = False
        self.endpoint_called = False
        self.middleware_a_called = False
        self.endpoint_a_called = False

        def middleware(req, res, next):
            self.middleware_called = True
            return next(req, res)

        def endpoint(req, res):
            self.endpoint_called = True
            res.set_data('Index')
            return res

        router = Router()
        router._create_middleware(middleware, '/', ['GET'])
        router._create_endpoint(endpoint, '/', ['GET'])

        def middleware_a(req, res, next):
            self.middleware_a_called = True
            return next(req, res)

        def endpoint_a(req, res):
            self.endpoint_a_called = True
            res.set_data('A')
            return res

        router_a = Router()
        router_a._create_middleware(middleware_a, '/b', ['GET'])
        router_a._create_endpoint(endpoint_a, '/b', ['GET'])
        router.mount('/a', router_a)

        with self.subTest('test / path'):
            c = Client(router.build(), Response)
            res = c.get('/')
            self.assertTrue(self.middleware_called)
            self.assertTrue(self.endpoint_called)
            self.assertFalse(self.endpoint_a_called)
            self.assertEqual(res.data, b'Index')

        self.middleware_called = False
        self.endpoint_called = False
        self.middleware_a_called = False
        self.endpoint_a_called = False

        with self.subTest('test /a path'):
            c = Client(router._application, Response)
            res = c.get('/a/b')
            self.assertTrue(self.middleware_called)
            self.assertFalse(self.endpoint_called)
            self.assertTrue(self.middleware_a_called)
            self.assertTrue(self.endpoint_a_called)
            self.assertEqual(res.data, b'A')
Пример #22
0
import json, csv, time, string, itertools, copy, yaml, re
import pyodbc
import numpy as np
import pandas as pd
import datetime as dt
from time import clock
import threading

CONFIG_FILE = 'config_1.b.1.yml'
config = yaml.load(stream=file(DIR_TASK + CONFIG_FILE, 'r'))
#yaml.dump( config, file( DIR_TASK + CONFIG_FILE, 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router
router = Router()

# ---------------------------------- INIT
print '>> Walk, Don`t Run'

#----------------------------------- STEP: modify version?

configVersion = config['version']
config['version'] = round(
    float(configVersion) +
    .1, 1) if config['options']['increment-version'] == True else configVersion

pItemsFileLimit = config['params']['itemsFileLimit']

#----------------------------------- STEP: Collect dimension tables
Пример #23
0
import json, csv, time, string, itertools, copy, yaml
import numpy as np
import pandas as pd
import datetime as dt

import io
from os import listdir
from os.path import isfile, join

CONFIG_FILE_NAME = '001.02_config.yml'
config = yaml.load( stream = file( DIR_TASK + '\\' + CONFIG_FILE_NAME, 'r'))

sys.path.append( DIR_LIB )

from lib.router import Router
router = Router( )

# _____________________________________________________________________________________ INIT

#STEP: modify version?
configVersion = config['version']
config['version'] =  round( float(configVersion) + .1, 1 ) if config['options']['increment_version'] == True else configVersion

#STEP: output-file
outputPath =  router.getRoute( config['target']['route'] ) + config['target']['dir'] 

#COM: create output folder
if not os.path.exists( outputPath ):
  os.makedirs( outputPath )

import json, csv, time, string, itertools, copy, yaml
import numpy as np
import pandas as pd
import datetime as dt

import math
import re

CONFIG_FILE_NAME = '010.00_config'
config = yaml.load( stream = file( DIR_TASK + '\\' + CONFIG_FILE_NAME + '.yml', 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append( DIR_LIB )

from lib.router import Router
router = Router( )

# --------------------------------------------------------------------------
today = dt.datetime.now().strftime("%Y-%m-%d--%H-%M") 


#STEP: modify version?

configVersion = config['version']
config['version'] =  round( float(configVersion) + .1, 1 ) if config['options']['increment-version'] == True else configVersion


#STEP: load source files
source = config['source']['source_quotes']
fileIdx = 0
sourcePathFile = router.getRoute( source['route'] ) + source['dir'] + source['files'][fileIdx]
Пример #25
0
import sys
import os
from os import listdir
from os.path import isfile, join

currentFullRoute = os.path.abspath(
    os.path.join(os.path.dirname(__file__), "./"))
currentDir = os.path.basename(os.getcwd())
currentFileName = os.path.basename(__file__)

libDir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../"))
sys.path.append(libDir)
print libDir

from lib.router import Router
router = Router()
ROUTES = router.getRoutes()

from lib.loader import Loader
loader = Loader(currentFullRoute, ROUTES)

from lib.helper import Helper
helper = Helper()

from lib.filewriter import FileWriter
filewriter = FileWriter()

from lib.reporter import Reporter
reporter = Reporter(ROUTES)

# return to current path
Пример #26
0
from lib.session import SessionManager, User
from lib.response import Response
from werkzeug import redirect
from lib.request import Request
from lib.router import Router
from wsgiref import simple_server

router = Router()
sessionManager = SessionManager('test')

@sessionManager.get_user
def get_user(user_id):
    user = User()
    user.id = user_id
    user.username = '******'
    user.password = '******'
    return user

@router.pipe()
def handle(next, req, res):
    try:
        return next(req, res)
    except FileNotFoundError:
        res.status_code = 404
        return res

router.pipe()(sessionManager)

@router.get('/signin')
def signin(req:Request, res: Response):
    if sessionManager.user is None:
Пример #27
0
DIR_TASK = os.path.dirname(os.path.abspath(__file__))

import json, csv, time, string, itertools, copy, yaml
import numpy as np
import pandas as pd
import datetime as dt

CONFIG_FILE_NAME = '004.00_config'
config = yaml.load(stream=file(DIR_TASK + '\\' + CONFIG_FILE_NAME +
                               '.yml', 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router
router = Router()
print '>> Walk, Don`t Run'
# --------------------------------------------------------------------------
#STEP: modify version?

configVersion = config['version']
config['version'] = round(
    float(configVersion) +
    .1, 1) if config['options']['increment-version'] == True else configVersion

halfFinalDate = config['params']['half-final_date']
d = dt.datetime.strptime(halfFinalDate, '%d.%m.%Y')
filePrefix = 'teams_' + d.strftime('%Y-%m-%d')

#STEP: load web-likes from half-final day
sourcePath = router.getRoute(config['source']['web-teams']
DIR_TASK = os.path.dirname(os.path.abspath(__file__))

import json, csv, time, string, itertools, copy, yaml
import numpy as np
import pandas as pd
import datetime as dt

CONFIG_FILE_NAME = '011-R.00_config'
config = yaml.load(stream=file(DIR_TASK + '\\' + CONFIG_FILE_NAME +
                               '.yml', 'r'))
#yaml.dump( config, file( DIR_TASK + '\\config.yml', 'w') )

sys.path.append(DIR_LIB)

from lib.router import Router
router = Router()

# --------------------------------------------------------------------------
today = dt.datetime.now().strftime('%Y-%m-%d--%H-%M')


#DEF:
def getSourceFile(_sourceKey, _fileIdx):
    sourceName = config['source'][_sourceKey]
    sourcePathFile = router.getRoute(
        sourceName['route']
    ) + sourceName['dir'] + sourceName['files'][_fileIdx]
    return open(sourcePathFile, 'r')


#STEP: modify version?
Пример #29
0
from flask import Flask
from lib.router import Router

app = Flask(__name__)

Router.run(app)