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
Ejemplo n.º 4
0
    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])
Ejemplo n.º 5
0
    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]
Ejemplo n.º 6
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
Ejemplo n.º 7
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))
Ejemplo n.º 8
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
Ejemplo n.º 9
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)
Ejemplo n.º 10
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)
Ejemplo n.º 11
0
    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]
Ejemplo n.º 12
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)
Ejemplo n.º 14
0
    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))