Ejemplo n.º 1
0
def start_convert_data(args: Dict[str, Any], ohlcv: bool = True) -> None:
    """
    Convert data from one format to another
    """
    config = setup_utils_configuration(args, RunMode.UTIL_NO_EXCHANGE)
    if ohlcv:
        convert_ohlcv_format(config,
                             convert_from=args['format_from'], convert_to=args['format_to'],
                             erase=args['erase'])
    else:
        convert_trades_format(config,
                              convert_from=args['format_from'], convert_to=args['format_to'],
                              erase=args['erase'])
Ejemplo n.º 2
0
def test_convert_ohlcv_format(default_conf, testdatadir, tmpdir, file_base,
                              candletype):
    tmpdir1 = Path(tmpdir)
    prependix = '' if candletype == CandleType.SPOT else 'futures/'
    files_orig = []
    files_temp = []
    files_new = []
    for file in file_base:
        file_orig = testdatadir / f"{prependix}{file}.json"
        file_temp = tmpdir1 / f"{prependix}{file}.json"
        file_new = tmpdir1 / f"{prependix}{file}.json.gz"
        IDataHandler.create_dir_if_needed(file_temp)
        copyfile(file_orig, file_temp)

        files_orig.append(file_orig)
        files_temp.append(file_temp)
        files_new.append(file_new)

    default_conf['datadir'] = tmpdir1
    default_conf['pairs'] = ['XRP_ETH', 'XRP_USDT', 'UNITTEST_USDT']
    default_conf['timeframes'] = ['1m', '5m', '1h']

    assert not file_new.exists()

    convert_ohlcv_format(default_conf,
                         convert_from='json',
                         convert_to='jsongz',
                         erase=False,
                         candle_type=candletype)
    for file in (files_temp + files_new):
        assert file.exists()

    # Remove original files
    for file in (files_temp):
        file.unlink()
    # Convert back
    convert_ohlcv_format(default_conf,
                         convert_from='jsongz',
                         convert_to='json',
                         erase=True,
                         candle_type=candletype)
    for file in (files_temp):
        assert file.exists()
    for file in (files_new):
        assert not file.exists()
Ejemplo n.º 3
0
def test_convert_ohlcv_format(mocker, default_conf, testdatadir):
    file1 = testdatadir / "XRP_ETH-5m.json"
    file1_new = testdatadir / "XRP_ETH-5m.json.gz"
    file2 = testdatadir / "XRP_ETH-1m.json"
    file2_new = testdatadir / "XRP_ETH-1m.json.gz"
    _backup_file(file1, copy_file=True)
    _backup_file(file2, copy_file=True)
    default_conf['datadir'] = testdatadir
    default_conf['pairs'] = ['XRP_ETH']
    default_conf['timeframes'] = ['1m', '5m']

    assert not file1_new.exists()
    assert not file2_new.exists()

    convert_ohlcv_format(default_conf,
                         convert_from='json',
                         convert_to='jsongz',
                         erase=False)

    assert file1_new.exists()
    assert file2_new.exists()
    assert file1.exists()
    assert file2.exists()

    # Remove original files
    file1.unlink()
    file2.unlink()
    # Convert back
    convert_ohlcv_format(default_conf,
                         convert_from='jsongz',
                         convert_to='json',
                         erase=True)

    assert file1.exists()
    assert file2.exists()
    assert not file1_new.exists()
    assert not file2_new.exists()

    _clean_test_file(file1)
    _clean_test_file(file2)
    if file1_new.exists():
        file1_new.unlink()
    if file2_new.exists():
        file2_new.unlink()
Ejemplo n.º 4
0
def test_convert_ohlcv_format(default_conf, testdatadir, tmpdir):
    tmpdir1 = Path(tmpdir)

    file1_orig = testdatadir / "XRP_ETH-5m.json"
    file1 = tmpdir1 / "XRP_ETH-5m.json"
    file1_new = tmpdir1 / "XRP_ETH-5m.json.gz"
    file2_orig = testdatadir / "XRP_ETH-1m.json"
    file2 = tmpdir1 / "XRP_ETH-1m.json"
    file2_new = tmpdir1 / "XRP_ETH-1m.json.gz"

    copyfile(file1_orig, file1)
    copyfile(file2_orig, file2)

    default_conf['datadir'] = tmpdir1
    default_conf['pairs'] = ['XRP_ETH']
    default_conf['timeframes'] = ['1m', '5m']

    assert not file1_new.exists()
    assert not file2_new.exists()

    convert_ohlcv_format(default_conf,
                         convert_from='json',
                         convert_to='jsongz',
                         erase=False)

    assert file1_new.exists()
    assert file2_new.exists()
    assert file1.exists()
    assert file2.exists()

    # Remove original files
    file1.unlink()
    file2.unlink()
    # Convert back
    convert_ohlcv_format(default_conf,
                         convert_from='jsongz',
                         convert_to='json',
                         erase=True)

    assert file1.exists()
    assert file2.exists()
    assert not file1_new.exists()
    assert not file2_new.exists()
Ejemplo n.º 5
0
def start_convert_data(args: Dict[str, Any], ohlcv: bool = True) -> None:
    """
    Convert data from one format to another
    """
    config = setup_utils_configuration(args, RunMode.UTIL_NO_EXCHANGE)
    if ohlcv:
        candle_types = [
            CandleType.from_string(ct)
            for ct in config.get('candle_types', ['spot'])
        ]
        for candle_type in candle_types:
            convert_ohlcv_format(config,
                                 convert_from=args['format_from'],
                                 convert_to=args['format_to'],
                                 erase=args['erase'],
                                 candle_type=candle_type)
    else:
        convert_trades_format(config,
                              convert_from=args['format_from'],
                              convert_to=args['format_to'],
                              erase=args['erase'])