示例#1
0
def get_post_data_from_request(request):
    if request.is_ajax():
        post_data = loads_json(request.body)
    else:
        post_data = request.POST

    return post_data
示例#2
0
def read_jsonc(filepath: Path, strict=False) -> dict:
    """Dosya içerisindeki yorum satırlı JSON metnini okur.
    Dosya bulunamazsa ekrana raporlar hata fırlatmaz

    Arguments:
        filepath {Path} -- Okunacak dosyanın yolu

    Returns:
        str -- Okunan metin veya ''
    """
    content = read_file(filepath)
    content = re.sub("//.*", "", content)
    return loads_json(content, strict=strict)
示例#3
0
def read_json(filepath: Path, strict=False) -> dict:
    """Dosya içerisindeki JSON metnini okur.
    Dosya bulunamazsa ekrana raporlar hata fırlatmaz

    Arguments:
        filepath {Path} -- Okunacak dosyanın yolu

    Returns:
        str -- Okunan metin veya ''
    """
    content = read_file(filepath)
    json_object = loads_json(content, strict=strict)
    return json_object
示例#4
0
def login(body_login):
    """Přihlásí uživatele pomocí přihlašovacích údajů v body_login na AIMTEC API"""
    url_login = url_base + '/login'
    headers_base_login = {'Content-Type': 'application/json'}

    login_data = loads_json(
        requests.post(url_login,
                      data=dumps_json(body_login),
                      headers=headers_base_login).text)
    logout = 'Logged in as ' + login_data['username']
    logging.info(logout)
    logout = 'teamUUID:', login_data['teamUUID']
    logging.info(logout)

    return login_data
示例#5
0
def login():
    """Metoda vraci UUID tymu, a zaroven updatuje headers o dane teamUUID"""

    url_login = url_base + '/login'
    body_login = {'username': '******', 'password': '******'}
    # login
    login_data = loads_json(
        requests.post(url_login,
                      data=dumps_json(body_login),
                      headers=headers_base).text)
    print('\nLogin data:', login_data)

    teamUUID = login_data['teamUUID']
    print('\nteamUUID:', teamUUID)
    headers_post.update({'teamUUID': teamUUID})

    return (teamUUID)
示例#6
0
def compute_statistics():
    data = {}

    data_file_names = listdir('collected_data')
    for data_file_name in data_file_names:
        if data_file_name == '.gitignore':
            continue

        with open('collected_data/' + data_file_name, 'r') as _file:
            repo_owner, repo_name = data_file_name.split('_')
            content = _file.read()
            json = loads_json(content)
            print('')
            print_overall_stats(json, repo_owner, repo_name)
            print_field_stats(json, repo_owner, repo_name, 'num_commits')
            print_field_stats(json, repo_owner, repo_name, 'waste')
            print_abandonment_percentage(json, repo_owner, repo_name)
            print_abandonment_byte_rate_per_merged(json, repo_owner, repo_name)
示例#7
0
def get_sensors(teamUUID):
    """Požadavek na získání jednotlivých identifikačních kódů senzorů"""
    url_sensors = url_base + '/sensors'
    headers_sensors = {
        'Content-Type': 'application/json',
        'teamUUID': teamUUID
    }

    logout = 'Getting sensor for teamUUID: ' + teamUUID
    logging.info(logout)

    sensor_data = loads_json(
        requests.get(url_sensors, headers=headers_sensors).text)[0]
    logout = 'id:' + str(sensor_data['id']) + ', name: ' + sensor_data[
        'name'] + ', sensorUUID: ' + sensor_data['sensorUUID']
    logging.info(logout)

    return sensor_data
示例#8
0
def getsensor():
    """Metoda vraci list ve kterem je sensorUUID,maximalni teplota a minimalni teplota"""

    url_sensor = url_base + '/sensors'
    sensor_data = str(
        loads_json(requests.get(url_sensor, headers=headers_post).text))
    sensor_UUID = re.search(
        '(?<=\'sensorUUID\': \').+?(?=\',)', sensor_data,
        re.DOTALL).group().strip()  #vyhledani sensor UUID ve stringu
    minimum = re.search(
        '(?<=\'minTemperature\': ).+(?=,)', sensor_data,
        re.DOTALL).group().strip()  #vyhledani minimalni tepltoy ve stringu
    maximum = re.search(
        '(?<=\'maxTemperature\': ).+(?=})', sensor_data,
        re.DOTALL).group().strip()  #vyhledani maximalni UUID ve stringu
    minimum = float(minimum)
    maximum = float(maximum)
    sensor_UUID = str(sensor_UUID)
    return (sensor_UUID, maximum, minimum)
示例#9
0
def get_audiobook_by_file(file: str,
                          add_to_hashtable: bool = False
                          ) -> Optional[AudioBook]:
    file = abspath(file)
    ab_hash = AudioBook.hash_filename(file)
    if ab_hash in __audio_books and add_to_hashtable:
        return __audio_books[ab_hash]
    try:
        ffprobe_result = ffprobe(file,
                                 ffprobe_commands=[
                                     "-show_format", "-show_chapters",
                                     "-print_format", "json", "-hide_banner",
                                     "-v", "quiet"
                                 ])
        if ffprobe_result and ffprobe_result[0]:
            ffprobe_result = loads_json(ffprobe_result[0])

            new_ab = AudioBook(
                title=ffprobe_result["format"]["tags"].get("title", None),
                artist=ffprobe_result["format"]["tags"].get("artist", None),
                album_artist=ffprobe_result["format"]["tags"].get(
                    "album_artist", None),
                album=ffprobe_result["format"]["tags"].get("album", None),
                comment=ffprobe_result["format"]["tags"].get("comment", None),
                file_path=file,
                chapter=(AudioBookChapter(start=int(chapter["start"]),
                                          end=int(chapter["end"]),
                                          title=str(chapter["tags"].get(
                                              "title", f"Chapter: {i}")),
                                          other_tags=chapter["tags"])
                         for i, chapter in enumerate(
                             sorted(ffprobe_result.get("chapters", []),
                                    key=lambda x: int(x["start"])))))
            if add_to_hashtable:
                __audio_books[new_ab.hash_string()] = new_ab
            return new_ab
    except KeyError:
        pass
    return None
示例#10
0
def store_measurement(temp):
    '''
    Sends the new measurement over the Aimtec REST API.
    temp = currently measured temperature
    '''
    url_base = 'https://uvb1bb4153.execute-api.eu-central-1.amazonaws.com/Prod'
    headers_base = {'Content-Type': 'application/json'}

    # login
    url_login = url_base + '/login'
    body_login = {'username': '******', 'password': '******'}

    login_data = loads_json(
        requests.post(url_login,
                      data=dumps_json(body_login),
                      headers=headers_base).text)
    teamUUID = login_data['teamUUID']  #saves team UUID

    # get sensors
    url_sensors = url_base + '/sensors'
    headers_sensors = dict(headers_base)
    headers_sensors.update({'teamUUID': teamUUID})

    sensors_data = requests.get(url_sensors, headers=headers_sensors)
    sensor_data_text = loads_json(sensors_data.text)
    sensorUUID = sensor_data_text[0]['sensorUUID']  #saves sensor UUID

    # create measurement
    url_measurements = url_base + '/measurements'
    headers_measurements = headers_sensors
    now = datetime.now()
    date_time = str(now).split(' ')
    date_time[1] = date_time[1][:-3] + "+00:00"
    createdOn = date_time[0] + 'T' + date_time[
        1]  #sets the time in the acceptable format

    body_measurements = {
        'createdOn': createdOn,
        'sensorUUID': sensorUUID,
        'temperature': str(temp),
        'status': 'OK'
    }
    requests.post(url_measurements,
                  data=dumps_json(body_measurements),
                  headers=headers_measurements)

    # create alert if the temperature steps out of the bounds
    lowTemp = 0.0
    highTemp = 25.0
    if temp < lowTemp or temp > highTemp:
        url_alerts = url_base + '/alerts'
        headers_alerts = headers_sensors
        now = datetime.now()
        date_time = str(now).split(' ')
        date_time[1] = date_time[1][:-3] + "+00:00"
        createdOn = date_time[0] + 'T' + date_time[
            1]  #sets the time in the acceptable format

        body_alerts = {
            'createdOn': createdOn,
            'sensorUUID': sensorUUID,
            'temperature': str(temp),
            'lowTemperature': str(lowTemp),
            'highTemperature': str(highTemp)
        }
        requests.post(url_alerts,
                      data=dumps_json(body_alerts),
                      headers=headers_alerts)
示例#11
0
 def load_from_json(self, json):
     json = loads_json(json)
     self.content = loads_pickle(bytearray.fromhex(json["content"]))
     self.header = bytes.fromhex(json["header"])
示例#12
0
def load_file_json(file_path):
   with open(file_path, 'r') as _file:
        content = _file.read()
        json = loads_json(content)
        return json
示例#13
0
 def json(self):
     return loads_json(self.text)
示例#14
0
def get_file_json(path, mode='r', retries=3, retry_errno=DEFAULT_RETRY_ERRNO):
    return loads_json(get_file_binary(path, mode=mode, retries=retries, retry_errno=retry_errno))
示例#15
0
文件: login.py 项目: smidmatej/ITEsem
#login

import requests
from json import dumps as dumps_json, loads as loads_json

url_base = 'https://uvb1bb4153.execute-api.eu-central-1.amazonaws.com/Prod'
headers_base = {'Content-Type': 'application/json'}

# login
url_login = url_base + '/login'
body_login = {'username': '******', 'password': '******'}

login_data = loads_json(
    requests.post(url_login, data=dumps_json(body_login),
                  headers=headers_base).text)
print('\nLogin data:', login_data)

teamUUID = login_data['teamUUID']
print('\nteamUUID:', teamUUID)

# get sensors
url_sensors = url_base + '/sensors'
headers_sensors = dict(headers_base)
headers_sensors.update({'teamUUID': teamUUID})

sensors_data = requests.get(url_sensors, headers=headers_sensors)
print('\nSensors data:', loads_json(sensors_data.text))