Ejemplo n.º 1
0
def do_job_allocate():
    job_ids = get_job_list()
    user_ids = get_user_list()

    header = {"Authorization": "JWT %s" % get_jwt('convert')}

    # 列表shuffle,现阶段按序排列,以对应医生答题顺序
    # random.shuffle(job_ids)

    delta = 10
    lst = [job_ids[i: i + delta] for i in range(0, len(job_ids), delta)]

    for index, user in enumerate(user_ids):
        print("Allocating jobs to user-%s" % user)
        items = lst[index]
        for item in items:
            job = {
                'profile': user,
                'tiff': item,
            }

            response = requests.post('http://%s/api/v1/missions/' % HOST, json=job, headers=header)
            if response.status_code == 201:
                pass
            else:
                raise Exception(response.json())
Ejemplo n.º 2
0
def tiles():
    try:
        auth = get_jwt()
        return jsonify_data([
            {
                "title": "HoneyPot Dashboard",
                "description": "Patrick Vertical Histogram",
                "periods": [
                    "last_hour",
                    "last_7_days",
                    "last_30_days"
                ],
                "default_period": "last_7_days",
                "tags": [
                    "pat",
                    "ip_addresses"
                ],
                "type": "vertical_bar_chart",
                "short_description": "The number of bad IP addresses",
                "id": "vertical_histogram"
            },            
            {
                "description": "SecureX IP Blocking List",
                "tags": [
                    "pat"
                ],
                "type": "donut_graph",
                "short_description": "SecureX IP Blocking List",
                "title": "IP Feed Breakdown",
                "default_period": "last_7_days",
                "id": "donut"
            }             
        ])
    except:
        return jsonify_data([])
Ejemplo n.º 3
0
 def intra_system_delete(self, request_url, headers=None):
     if not headers: headers = dict()
     if not 'Authorization' in headers:
         headers['Authorization'] = 'Bearer %s' % utils.get_jwt(self.environ)
     actual_url = utils.set_resource_host_header(str(request_url), headers)
     logger.debug('intra_system_delete request_url: %s actual_url: %s headers: %s', request_url, actual_url, headers)
     return requests.delete(actual_url, headers=headers, verify=False)
def tile_data():
    _ = get_jwt()
    req = get_json(DashboardTileDataSchema())
    print(green(req["tile_id"], bold=True))
    if req['tile_id'] == 'test-line-chart-graph':
        return jsonify_data(payload_for_line_chart)
    if req['tile_id'] == 'something_else':
        return jsonify_data(response2)
Ejemplo n.º 5
0
 def intra_system_put(self, request_url, data, headers=None):
     if not headers: headers = dict()
     if not 'Authorization' in headers:
         headers['Authorization'] = 'Bearer %s' % utils.get_jwt(self.environ)
     if not 'Content-Type' in headers:
         headers['Content-Type'] = 'application/rdf+json+ce'
     actual_url = utils.set_resource_host_header(str(request_url), headers)
     logger.debug('intra_system_put request_url: %s actual_url: %s headers: %s data: %s', request_url, actual_url, headers,data)
     return requests.put(actual_url, headers=headers,  data=json.dumps(data, cls=rdf_json.RDF_JSON_Encoder), verify=False)
Ejemplo n.º 6
0
 def intra_system_get(self, request_url, headers=None):
     if not headers: headers = dict()
     actual_url = utils.set_resource_host_header(str(request_url), headers)
     if not 'Authorization' in headers:
         headers['Authorization'] = 'Bearer %s' % utils.get_jwt(self.environ)
     if not 'Accept' in headers:
         headers['Accept'] = 'application/rdf+json+ce'
     logger.debug('intra_system_get request_url: %s actual_url: %s headers: %s', request_url, actual_url, headers)
     return requests.get(actual_url, headers=headers)
Ejemplo n.º 7
0
def get_user_list():
    """
    获取 用户列表
    :return:
    """
    header = {"Authorization": "JWT %s" % get_jwt('convert')}
    response = requests.get('http://%s/api/v1/profiles/?type=1' % HOST, headers=header)
    if response.status_code == 200:
        ids = [item['id'] for item in response.json()]
        return ids
    else:
        raise Exception(response.json())
Ejemplo n.º 8
0
def read_and_update(path):
    header = {"Authorization": "JWT %s" % get_jwt('convert')}

    with open(path) as f:
        tiff_name = os.path.splitext(os.path.basename(path))[0]
        tiff_name = tiff_name.replace("_clas", '')

        print("Processing on %s..." % tiff_name)

        image = None
        for item in ['.kfb', '.tif']:
            response = requests.get('http://%s/api/v1/images/?name=%s' %
                                    (HOST, tiff_name + item),
                                    headers=header)
            if response.status_code == 200 and response.json():
                data = response.json()
                if data:
                    image = data[0]['id']
                    break
        else:
            raise Exception("NO TIFF NAMED %s" % tiff_name)

        reader = csv.reader(f, delimiter=',')
        next(reader)

        for line in reader:
            x_y, label_yolo, accuracy_yolo, label_xception, accuracy_xception, xmin, ymin, xmax, ymax = line
            x0, y0 = x_y.split('_')
            x0, y0, accuracy, xmin, ymin, xmax, ymax = int(x0), int(y0), float(
                accuracy_xception), float(xmin), float(ymin), float(
                    xmax), float(ymax)
            x, y, w, h = x0 + xmin, y0 + ymin, xmax - xmin, ymax - ymin

            label = {
                'image': image,
                'cell_type': label_xception,
                'accuracy': accuracy,
                'x': x,
                'y': y,
                'w': w,
                'h': h,
                'source_type': "AI",
            }

            response = requests.post('http://%s/api/v1/labels/' % HOST,
                                     json=label,
                                     headers=header)
            if response.status_code == 201:
                pass
            else:
                raise Exception(response.json())
Ejemplo n.º 9
0
def tiles():
    try:
        auth = get_jwt()
        return jsonify_data([{
            "id": "paris_temperature",
            "type": "metric_group",
            "title": "Real Paris Temperature",
            "periods": ["last_24_hours"],
            "short_description": "Paris Temperature",
            "description": "A longer description",
            "tags": ["test"],
        }])
    except:
        return jsonify_data([])
Ejemplo n.º 10
0
def registry():
    data = request.get_json(force=True)
    if isinstance(data, str):
        data = json.loads(data)
    schema = UserSchema(data)
    try:
        user = schema.save()
        jwt = utils.get_jwt()
        access_token = jwt.jwt_encode_callback(user)
        return jwt.auth_response_callback(access_token, user)
    except InvalidDataException as ex:
        return utils.json_abort({
            'message': ex.message,
            'fields': ex.fields
        }, 400)
Ejemplo n.º 11
0
def get_github_token():
    """
    Returns the github auth token, updates if it has expired.
    :return: github token
    """
    global gh_token, gh_token_expiry
    # 3 minutes buffer
    if gh_token_expiry - 180 > time.time():
        print(f"using github token: {gh_token[:22]}")
        return gh_token
    print("updating github token")
    private_pem = os.environ['PRIVATE_PEM']
    jwt = get_jwt(os.environ['APP_ID'], private_pem)
    response = get_installation_access_token(jwt, os.environ['INST_ID']).json()
    gh_token = response["token"]
    gh_token_expiry = dt.strptime(response["expires_at"],
                                  "%Y-%m-%dT%H:%M:%S%z").timestamp()
    print(f"github token updated: {gh_token[:22]}")
    return gh_token
Ejemplo n.º 12
0
def get_job_list():
    """
    获取 病理图像信息列表
    :return:
    """
    header = {"Authorization": "JWT %s" % get_jwt('convert')}
    with open("ZHENGZHOU_COMPETITION_SLIDES.txt") as f:
        lines = [line.replace("\n", "") for line in f.readlines()]

        ids = []
        for line in lines:
            response = requests.get('http://%s/api/v1/images/all/?case_no=%s' % (HOST, line), headers=header)
            if response.status_code == 200:
                obj = response.json()[0]
                ids.append(obj['id'])
            else:
                raise Exception(response.json())

        return ids
Ejemplo n.º 13
0
def login():
    if current_identity:
        return utils.json_abort({'message': 'User has already logged in'}, 400)
    data = request.get_json(force=True)
    if isinstance(data, str):
        data = json.loads(data)
    username = data.get('username', None)
    password = data.get('password', None)

    if not username or not password:
        raise JWTError('Bad Request', 'Invalid credentials')

    identity = authenticate(username, password)

    jwt = utils.get_jwt()
    if identity:
        access_token = jwt.jwt_encode_callback(identity)
        return jwt.auth_response_callback(access_token, identity)
    else:
        raise JWTError('Bad Request', 'Invalid credentials')
Ejemplo n.º 14
0
def tiles():
    try:
        auth = get_jwt()
        return jsonify_data([
            {
                "description": "A Markdown Tile",
                "periods": [
                    "last_hour"
                ],
                "tags": [
                    "test",
                    "test2"
                ],
                "type": "markdown",
                "short_description": "Shows some markdown stuff",
                "title": "Markdown ASA Interfaces Status",
                "id": "markdown_tile"
            }           
        ])
    except:
        return jsonify_data([])
Ejemplo n.º 15
0
    def process_IN_CLOSE_WRITE(self, event):
        # logging.info("create file: %s " % os.path.join(event.path, event.name))
        # 处理成小图片,然后发送给grpc服务器或者发给kafka
        file_path = os.path.join(event.path, event.name)
        print('文件完成写入', file_path)

        basename, postfix = os.path.splitext(event.name)
        if postfix in ACCEPTED_PATHOLOGY_IMAGE_TYPES:
            image = {
                "name": event.name,
                "case_no": os.path.splitext(event.name)[0],
                "path": event.path,
                "status": "CREATED",
            }

            header = {"Authorization": "JWT %s" % get_jwt('convert')}
            response = requests.post('http://%s/api/v1/images/' % HOST, json=image, headers=header)
            if response.status_code == 201:
                pass
            else:
                print(response.json())
Ejemplo n.º 16
0
def tile_data():
    _ = get_jwt()
    req = get_json(DashboardTileDataSchema())
    print (green(req,bold=True))
    print (green(req["tile_id"],bold=True))
    if req['tile_id'] == 'vertical_histogram':
        if req['period'] == 'last_7_days':
            data=gen_bar_chart_data(7)
        elif req['period'] == 'last_30_days':
            data=gen_bar_chart_data(30)            
        else:
            data=gen_bar_chart_data(1)
        donnees=gen_json_for_bar_chart(data,"vertical_histogram","timestamp")
        #print(cyan(donnees,bold=True))
        return jsonify_data(donnees)
    if req['tile_id'] == 'donut':      
        data=donut()
        info=gen_json_for_donut(data,"donut_tile")
        return jsonify_data(info)        
    elif req['tile_id'] == 'raas':
        return jsonify_data(response_six)    
Ejemplo n.º 17
0
def tile_data():
    _ = get_jwt()
    req = get_json(DashboardTileDataSchema())
    print(green(req["tile_id"], bold=True))
    if req['tile_id'] == 'paris_temperature':
        date, hour, temp = paris_temperature()
        return jsonify_data({
            "observed_time": {
                "start_time": "2020-12-19T00:07:00.000Z",
                "end_time": "2021-01-18T00:07:00.000Z",
            },
            "valid_time": {
                "start_time": "2021-01-18T00:07:00.000Z",
                "end_time": "2021-01-18T00:12:00.000Z",
            },
            "data": [
                {
                    "icon": "brain",
                    "label": "Date",
                    "value": date,
                    "value-unit": "string",
                },
                {
                    "icon": "percent",
                    "label": "hour",
                    "value": hour,
                    "value-unit": "string",
                },
                {
                    "icon": "percent",
                    "label": "Temperature",
                    "value": temp,
                    "value-unit": "integer",
                },
            ],
            "cache_scope":
            "org",
        })
Ejemplo n.º 18
0
def tiles():
    try:
        auth = get_jwt()
        return jsonify_data([{
            "description":
            "DONUTS",
            "periods": [
                "last_24_hours", "last_7_days", "last_30_days", "last_60_days",
                "last_90_days"
            ],
            "tags": ["AWS"],
            "type":
            "donut_graph",
            "short_description":
            "DONUTS",
            "title":
            "Patrick DONUT",
            "default_period":
            "last_7_days",
            "id":
            "donut_tile"
        }])
    except:
        return jsonify_data([])
Ejemplo n.º 19
0
def tile_data():
    _ = get_jwt()
    req = get_json(DashboardTileDataSchema())
    print(green(req["tile_id"], bold=True))
    if req['tile_id'] == 'donut_tile':
        return jsonify_data(response_two)
Ejemplo n.º 20
0
def tile():
    _ = get_jwt()
    _ = get_json(DashboardTileSchema())
    return jsonify_data({})
Ejemplo n.º 21
0
        resp = json.loads(r.text)
        print("Activations response: %s" % (resp))
    print('Activations requests thread stopping.')


p = 'tests/data/01_sm_csv/01'
date_start = '2012-06-15T00:00'
date_end = '2012-06-15T23:59'
step = 5
plot_step = 600

# Create jwt
config = configparser.ConfigParser()
config.read('ini/eeris.ini')
secret = config['REST']['jwt_psk']
token = utils.get_jwt('orchestrator', secret)
prefix = 'jwt'

# Just select the first installation for the demo.
inst = config['eeRIS']['inst_ids'].split(',')[0].strip()
nilm_url = 'http://localhost:8000/nilm/' + inst
inst_url = 'http://localhost:8000/installation/' + inst + '/model'

# Prepare data
delete = False
if config['eeRIS']['input_method'] == 'rest':
    phase_list, power = eco.read_eco(p, date_start, date_end)
    delete = True

# Delete model at database and the server memory (optional)
if delete:
from datetime import datetime, timezone, timedelta
from urllib.parse import urlparse, parse_qs
import uuid

import requests

from utils import get_jwt, config

if __name__ == "__main__":
    JWT = get_jwt()
    BASE_URL = "https://api.tilisy.com"
    REDIRECT_URL = config["redirectUrl"]
    # we are going to use that bank for reference
    BANK_NAME = "Nordea"
    BANK_COUNTRY = "FI"
    base_headers = {"Authorization": f"Bearer {JWT}"}
    application_response = requests.get(f"{BASE_URL}/application",
                                        headers=base_headers)
    print(f"Application data: {application_response.json()}")

    aspsps_response = requests.get(f"{BASE_URL}/aspsps", headers=base_headers)
    # If you want, you can override BANK_NAME and BANK_COUNTRY with any bank from this list
    print(f"ASPSPS data: {aspsps_response.json()}")

    start_authorization_body = {
        "access": {
            "valid_until":
            (datetime.now(timezone.utc) + timedelta(days=10)).isoformat()
        },
        "aspsp": {
            "name": BANK_NAME,
Ejemplo n.º 23
0
def return_task_queue():
    global task_queue
    return task_queue


def return_result_queue():
    global result_queue
    return result_queue


# 从BaseManager继承的QueueManager:
class QueueManager(BaseManager):
    pass


HEADER = {"Authorization": "JWT %s" % get_jwt('convert')}


def get_game_status():
    response = requests.get('http://%s/api/v1/game/' % HOST, headers=HEADER)
    if response.status_code == 200 and response.json():
        data = response.json()
        status = data['status']
        if status == "1":
            return 1
        else:
            return 0
    else:
        raise Exception(response.json())