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
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)
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
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
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)
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)
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
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)
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
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)
def load_from_json(self, json): json = loads_json(json) self.content = loads_pickle(bytearray.fromhex(json["content"])) self.header = bytes.fromhex(json["header"])
def load_file_json(file_path): with open(file_path, 'r') as _file: content = _file.read() json = loads_json(content) return json
def json(self): return loads_json(self.text)
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))
#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))