def test_data_velib_simulation(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) data = os.path.join(fold, "data") for speed in (10, 15): for bike in (1, 2, 3, 5, 10): df = DataVelibCollect.to_df(data) dfp, dfs = DataVelibCollect.simulate( df, bike, speed, fLOG=fLOG) dfp.to_csv( "out_simul_bike_nb{0}_sp{1}_path.txt".format( bike, speed), sep="\t", index=False) dfs.to_csv( "out_simul_bike_nb{0}_sp{1}_data.txt".format( bike, speed), sep="\t", index=False) if __name__ != "__main__": return
def test_data_velib_animation(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) data = os.path.join(fold, "data") if "travis" in sys.executable: return try: from JSAnimation import IPython_display except ImportError: import pymyinstall pymyinstall.ModuleInstall( "JSAnimation", "github", "jakevdp").install( temp_folder="c:\\temp") df = DataVelibCollect.to_df(data) anime = DataVelibCollect.js_animation(df) from JSAnimation import HTMLWriter wr = HTMLWriter(embed_frames=False) anime.save(os.path.join(fold, "out_animation.html"), writer=wr)
def test_data_velib_simulation(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) data = os.path.join(fold, "data") for speed in (10, 15): for bike in (1, 2, 3, 5, 10): df = DataVelibCollect.to_df(data) dfp, dfs = DataVelibCollect.simulate(df, bike, speed, fLOG=fLOG) dfp.to_csv("out_simul_bike_nb{0}_sp{1}_path.txt".format( bike, speed), sep="\t", index=False) dfs.to_csv("out_simul_bike_nb{0}_sp{1}_data.txt".format( bike, speed), sep="\t", index=False) if __name__ != "__main__": return
def test_data_velib_json(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") tempfold = get_temp_folder(__file__, "temp_data_i") temp_file = os.path.join(tempfold, "data_velib.txt") if os.path.exists(temp_file): os.remove(temp_file) assert not os.path.exists(temp_file) key = self.get_private_key() if key is None: return velib = DataVelibCollect(key) js = velib.get_json("Paris") assert isinstance(js, list) fLOG(type(js)) nb = 0 for o in js: fLOG(o) nb += 1 if nb > 10: break assert nb > 0 assert len(js) > 0 tbl = pandas.DataFrame(js) tbl.to_csv(temp_file, sep="\t") assert os.path.exists(temp_file) fLOG(tbl[:10])
def test_data_velib_json_collect_func_besancon(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") tempfold = get_temp_folder(__file__, "temp_data_func_bes") temp_file = os.path.join(tempfold, "data_velib.txt") delay = datetime.timedelta(seconds=5) dt = datetime.datetime.now() + delay key = self.get_private_key() if key is None: return DataVelibCollect.run_collection(key, contract="Besancon", delayms=1000, folder_file=temp_file, single_file=True, stop_datetime=dt, log_every=1, fLOG=fLOG) if not os.path.exists(temp_file): raise FileNotFoundError(temp_file) with open(temp_file, "r", encoding="utf8") as f: lines = f.readlines() if len(lines) < 1: raise Exception( "len(lines)<1: %d\n%s" % (len(lines), "\n".join(lines))) assert len(lines) < 10 assert "\t" in lines[0]
def test_data_velib_contract(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") key = self.get_private_key() if key is None: return velib = DataVelibCollect(key) cont = velib.get_contracts() fLOG("**", cont) assert len(cont) > 0
def test_data_velib_json_collect(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) tempfold = os.path.join(fold, "temp_data_i2") if not os.path.exists(tempfold): os.mkdir(tempfold) for _ in os.listdir(tempfold): os.remove(os.path.join(tempfold, _)) temp_file = os.path.join(tempfold, "data_velib.txt") delay = datetime.datetime.fromtimestamp( 5.0) - datetime.datetime.fromtimestamp(0.) dt = datetime.datetime.now() + delay key = self.get_private_key() if key is None: return velib = DataVelibCollect(key) velib.collecting_data( "Paris", 1000, temp_file, stop_datetime=dt, log_every=1, fLOG=fLOG) assert os.path.exists(temp_file) with open(temp_file, "r", encoding="utf8") as f: lines = f.readlines() if len(lines) < 1: raise Exception( "len(lines)<1: %d\n%s" % (len(lines), "\n".join(lines))) assert len(lines) < 10 assert "\t" in lines[0] dt = datetime.datetime.now() + delay velib.collecting_data("Paris", 1000, temp_file, stop_datetime=dt, single_file=False, log_every=1, fLOG=fLOG) res = os.listdir(tempfold) if len(res) <= 2: raise Exception(str(res))
def test_data_velib_contract(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") key = self.get_private_key() if key is None: return velib = DataVelibCollect(key) cont = velib.get_contracts() fLOG("**", cont) assert len(cont) > 0
def test_data_velib_animation(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) data = os.path.join(fold, "data") if "travis" in sys.executable: return from pymyinstall.installhelper.install_cmd_helper import is_conda_distribution if is_conda_distribution(): # not tested on anaconda return df = DataVelibCollect.to_df(data) DataVelibCollect.js_animation(df)
def test_data_velib_animation(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) data = os.path.join(fold, "data") if "travis" in sys.executable: return from pymyinstall.installhelper.install_cmd_helper import is_conda_distribution if is_conda_distribution(): # not tested on anaconda return df = DataVelibCollect.to_df(data) DataVelibCollect.js_animation(df)
def test_data_velib_json_collect_func_besancon(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) tempfold = os.path.join(fold, "temp_data_func_bes") if not os.path.exists(tempfold): os.mkdir(tempfold) for _ in os.listdir(tempfold): os.remove(os.path.join(tempfold, _)) temp_file = os.path.join(tempfold, "data_velib.txt") delay = datetime.datetime.fromtimestamp( 5.0) - datetime.datetime.fromtimestamp(0.) dt = datetime.datetime.now() + delay key = self.get_private_key() if key is None: return DataVelibCollect.run_collection(key, contract="Besancon", delayms=1000, folder_file=temp_file, single_file=True, stop_datetime=dt, log_every=1, fLOG=fLOG) assert os.path.exists(temp_file) with open(temp_file, "r", encoding="utf8") as f: lines = f.readlines() if len(lines) < 1: raise Exception("len(lines)<1: %d\n%s" % (len(lines), "\n".join(lines))) assert len(lines) < 10 assert "\t" in lines[0]
def test_data_velib_contract(self): fLOG(__file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) data = os.path.join(fold, "data") df = DataVelibCollect.to_df(data) # fLOG(df.head()) assert len(df) > 0 stations = df[["name", "lat", "lng"]] gr = stations.groupby(["name", "lat", "lng"], as_index=False).sum() # fLOG(gr.head()) assert len(gr) >= 30 df.to_csv(os.path.join(fold, "out_data.txt"), sep="\t", index=False) dt = datetime.datetime(2014, 5, 22, 11, 49, 27, 523164) sub = df[df["collect_date"] == dt] fig, ax, plt = DataVelibCollect.draw(sub)
def test_data_velib_contract(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") fold = os.path.abspath(os.path.split(__file__)[0]) data = os.path.join(fold, "data") df = DataVelibCollect.to_df(data) # fLOG(df.head()) assert len(df) > 0 stations = df[["name", "lat", "lng"]] gr = stations.groupby(["name", "lat", "lng"], as_index=False).sum() # fLOG(gr.head()) assert len(gr) >= 30 df.to_csv(os.path.join(fold, "out_data.txt"), sep="\t", index=False) dt = datetime.datetime(2014, 5, 22, 11, 49, 27, 523164) sub = df[df["collect_date"] == dt] fig, ax, plt = DataVelibCollect.draw(sub)
def test_data_velib_json_collect(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__", LogFile="temp_hal_log2.txt") tempfold = get_temp_folder(__file__, "temp_data_i2") temp_file = os.path.join(tempfold, "data_velib.txt") delay = datetime.timedelta(seconds=5) dt = datetime.datetime.now() + delay key = self.get_private_key() if key is None: return velib = DataVelibCollect(key) velib.collecting_data("Paris", 1000, temp_file, stop_datetime=dt, log_every=1, fLOG=fLOG) if not os.path.exists(temp_file): raise FileNotFoundError(temp_file) with open(temp_file, "r", encoding="utf8") as f: lines = f.readlines() if len(lines) < 1: raise Exception( "len(lines)<1: %d\n%s" % (len(lines), "\n".join(lines))) assert len(lines) < 10 assert "\t" in lines[0] dt = datetime.datetime.now() + delay velib.collecting_data("Paris", 1000, temp_file, stop_datetime=dt, single_file=False, log_every=1, fLOG=fLOG) res = os.listdir(tempfold) if len(res) <= 2: raise Exception(str(res))