diff --git a/sanguo_data/datareader.py b/sanguo_data/datareader.py index 0fef4d9..4dba286 100644 --- a/sanguo_data/datareader.py +++ b/sanguo_data/datareader.py @@ -1,12 +1,17 @@ import sys +import os from pathlib import Path -# Add vnpy source to path for imports -sys.path.insert(0, str(Path(__file__).parent.parent / "tests" / "data")) +# Add real vnpy source code to sys.path +_VNPY_SRC = os.path.join(os.path.dirname(__file__), "..", "..", "vnpy_v4.4.0") +_VNPY_SRC = os.path.abspath(_VNPY_SRC) +if _VNPY_SRC not in sys.path: + sys.path.insert(0, _VNPY_SRC) import pandas as pd from datetime import datetime -from vnpy_mock import BarData, Exchange, Interval +from vnpy.trader.object import BarData +from vnpy.trader.constant import Exchange, Interval def read_parquet_daily(symbol: str, start: str, end: str, cfg) -> list[BarData]: daily_dir = Path(cfg.data_paths["daily_dir"]) diff --git a/tests/data/conftest.py b/tests/data/conftest.py index 0363402..bafac82 100644 --- a/tests/data/conftest.py +++ b/tests/data/conftest.py @@ -1,8 +1,13 @@ import sys -from pathlib import Path +import os -# Add vnpy mock to path for imports -sys.path.insert(0, str(Path(__file__).parent)) +# Add real vnpy source code to sys.path +_VNPY_SRC = os.path.join(os.path.dirname(__file__), "..", "..", "vnpy_v4.4.0") +_VNPY_SRC = os.path.abspath(_VNPY_SRC) +if _VNPY_SRC not in sys.path: + sys.path.insert(0, _VNPY_SRC) + +from pathlib import Path import pandas as pd import pytest diff --git a/tests/data/test_datareader.py b/tests/data/test_datareader.py index 384869f..3828aa1 100644 --- a/tests/data/test_datareader.py +++ b/tests/data/test_datareader.py @@ -1,5 +1,5 @@ import pandas as pd -from vnpy_mock import Exchange, Interval +from vnpy.trader.constant import Exchange, Interval from sanguo_data.config import DataConfig from sanguo_data.datareader import read_parquet_daily diff --git a/tests/data/vnpy_mock.py b/tests/data/vnpy_mock.py deleted file mode 100644 index 7d267c5..0000000 --- a/tests/data/vnpy_mock.py +++ /dev/null @@ -1,34 +0,0 @@ -"""Minimal vnpy mocks for testing""" -from dataclasses import dataclass -from datetime import datetime -from enum import Enum - -class Exchange(Enum): - SSE = "SSE" - SZSE = "SZSE" - SHFE = "SHFE" - DCE = "DCE" - CZCE = "CZCE" - CFFEX = "CFFEX" - GFEX = "GFEX" - INE = "INE" - -class Interval(Enum): - MINUTE = "1m" - HOUR = "1h" - DAILY = "d" - WEEKLY = "w" - MONTHLY = "M" - -@dataclass -class BarData: - symbol: str - exchange: Exchange - datetime: datetime - interval: Interval - open_price: float - high_price: float - low_price: float - close_price: float - volume: float - gateway_name: str