class BotSetup: start_time = time.time() settings = js.load("data/conf.json", enable_verbose=False) bad_words = dict(GetWords.List.dict_to_json("https://www.sprakradet.no/sprakhjelp/Skriverad/Avloeysarord/")) bad_words.update(extra_bad_words) short_words = dict(GetWords.List.dict_to_json("https://www.sprakradet.no/sprakhjelp/Skriveregler/Forkortinger/")) short_words.update(extra_short_words) default_settings = {} @staticmethod def check_folders(): folders = ["cogs", "data"] for folder in folders: if not os.path.exists(folder): print(f"Creating {folder} folder...") os.makedirs(folder) @staticmethod def check_files(): f = "data/conf.json" if not js.is_json_file(f): print("Creating conf.json...") js.dump(basic_conf, f, enable_verbose=False) else: # consistency check current = js.load(f) js.dump(current, f, overwrite=True, indent_format=True, enable_verbose=False)
def check_files(): f = "data/conf.json" if not js.is_json_file(f): print("Creating conf.json...") js.dump(basic_conf, f, enable_verbose=False) else: # consistency check current = js.load(f) js.dump(current, f, overwrite=True, indent_format=True, enable_verbose=False)
def test_float_precision(): """Test whether ``float_precision`` keywork is working. """ js.safe_dump({"value": 1.23456789}, path_json, indent_format=False, float_precision=2, enable_verbose=False) try: assert js.load(path_json, enable_verbose=False)[ "value"] == approx(1.23) except: warnings.warn("float_precision argument is not working.") os.remove(path_json)
def test_bytes_and_datetime(): js.safe_dump(data_complex, path_json, ensure_ascii=True, enable_verbose=False) d = js.load(path_json, enable_verbose=False) assert d["int"] == data_complex["int"] assert d["float"] == data_complex["float"] assert d["str"] == data_complex["str"] assert d["boolean"] == data_complex["boolean"] if py23.is_py3: assert d["bytes"].decode("utf-8") == "bytes 比特串" dt1 = d["datetime"] dt2 = data_complex["datetime"] assert dt1.date() == dt2.date() assert dt1.hour == dt2.hour assert dt1.minute == dt2.minute assert dt1.second == dt2.second assert abs(dt1.microsecond - dt2.microsecond) <= 1000 os.remove(path_json)
return Loader.en_historical_obs_schema.load(data).data @staticmethod def load_load_obs(data): return Loader.load_obs_schema.load(data).data if __name__ == "__main__": import json import requests import pandas as pd from dataIO import js from wbhapi import testdata en_historical_obs_schema = EnHistoricalObsSchema() en_historical_obs_data = js.load(testdata.path_obs_data) en_historical_obs = Loader.load_en_historical_obs(en_historical_obs_data) def test_en_historical_obs_model(): assert isinstance(en_historical_obs, EnHistoricalObs) assert isinstance(en_historical_obs.result, ObsResult) assert isinstance(en_historical_obs.result.station, EnStation) assert isinstance( en_historical_obs.result.historical_observation[0], HistoricalObservation) assert isinstance( en_historical_obs.result.historical_observation[0].observation, EnObservation) assert isinstance(en_historical_obs.result.historical_observation[ 0].observation.temperatureC, TemperatureC) # print(pd.DataFrame(en_historical_obs.get_core_data())) test_en_historical_obs_model()
def test_compress(): """Test whether data compression is working. """ js.safe_dump({"value": 1}, path_gz, enable_verbose=False) assert js.load(path_gz, enable_verbose=False) == {"value": 1} os.remove(path_gz)
def __check_file(self): default = {} if not js.load(self.file_path): print("Creating JSON file for record-keeping.") self.save_data(default)
def get_data(self): return js.load(self.file_path)