用新的路径寻找方式替换原本的os.getcwd()从而支持任意目录启动vn.trader
This commit is contained in:
parent
5ad2c56845
commit
2e92f5c891
@ -33,7 +33,8 @@ from vtFunction import todayDate
|
||||
class CtaEngine(object):
|
||||
"""CTA策略引擎"""
|
||||
settingFileName = 'CTA_setting.json'
|
||||
settingFileName = os.getcwd() + '/ctaAlgo/' + settingFileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
settingFileName = os.path.join(path, settingFileName)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def __init__(self, mainEngine, eventEngine):
|
||||
|
@ -31,6 +31,8 @@ class DatayesClient(object):
|
||||
def loadSetting(self):
|
||||
"""载入配置"""
|
||||
try:
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
FILENAME = os.path.join(path, FILENAME)
|
||||
f = file(FILENAME)
|
||||
except IOError:
|
||||
print u'%s无法打开配置文件' % self.name
|
||||
|
@ -87,7 +87,8 @@ class CtpGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/ctpGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -25,7 +25,8 @@ class DrEngine(object):
|
||||
"""数据记录引擎"""
|
||||
|
||||
settingFileName = 'DR_setting.json'
|
||||
settingFileName = os.getcwd() + '/dataRecorder/' + settingFileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
settingFileName = os.path.join(path, settingFileName)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def __init__(self, mainEngine, eventEngine):
|
||||
|
@ -78,8 +78,9 @@ class FemasGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/femasGateway/' + fileName
|
||||
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
except IOError:
|
||||
|
@ -143,7 +143,8 @@ class IbGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/ibGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -51,7 +51,8 @@ class KsgoldGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/ksgoldGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -74,7 +74,8 @@ class KsotpGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/ksotpGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -76,7 +76,8 @@ class LtsGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json 文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/ltsGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -58,7 +58,8 @@ class OandaGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/oandaGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -107,7 +107,8 @@ class OkcoinGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/okcoinGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -20,7 +20,8 @@ from vtGateway import VtLogData
|
||||
class RmEngine(object):
|
||||
"""风控引擎"""
|
||||
settingFileName = 'RM_setting.json'
|
||||
settingFileName = os.getcwd() + '/riskManager/' + settingFileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
settingFileName = os.path.join(path, settingFileName)
|
||||
|
||||
name = u'风控模块'
|
||||
|
||||
|
@ -94,7 +94,8 @@ class SgitGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/sgitGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
@ -77,8 +77,9 @@ class ShzdGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/shzdGateway/' + fileName
|
||||
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
except IOError:
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
import json
|
||||
import csv
|
||||
import os
|
||||
from collections import OrderedDict
|
||||
|
||||
from PyQt4 import QtGui, QtCore
|
||||
@ -14,8 +15,12 @@ from vtGateway import *
|
||||
#----------------------------------------------------------------------
|
||||
def loadFont():
|
||||
"""载入字体设置"""
|
||||
fileName = 'VT_setting.json'
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file("VT_setting.json")
|
||||
f = file(fileName)
|
||||
setting = json.load(f)
|
||||
family = setting['fontFamily']
|
||||
size = setting['fontSize']
|
||||
|
@ -1,9 +1,10 @@
|
||||
# encoding: UTF-8
|
||||
|
||||
"""
|
||||
包含一些开放中常用的函数
|
||||
包含一些开发中常用的函数
|
||||
"""
|
||||
|
||||
import os
|
||||
import decimal
|
||||
import json
|
||||
from datetime import datetime
|
||||
@ -30,8 +31,12 @@ def safeUnicode(value):
|
||||
#----------------------------------------------------------------------
|
||||
def loadMongoSetting():
|
||||
"""载入MongoDB数据库的配置"""
|
||||
fileName = 'VT_setting.json'
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file("VT_setting.json")
|
||||
f = file(fileName)
|
||||
setting = json.load(f)
|
||||
host = setting['mongoHost']
|
||||
port = setting['mongoPort']
|
||||
|
@ -1,12 +1,22 @@
|
||||
# encoding: UTF-8
|
||||
|
||||
import sys
|
||||
import os
|
||||
import ctypes
|
||||
import platform
|
||||
|
||||
import vtPath
|
||||
from vtEngine import MainEngine
|
||||
from uiMainWindow import *
|
||||
|
||||
# 文件路径名
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
ICON_FILENAME = 'vnpy.ico'
|
||||
ICON_FILENAME = os.path.join(path, ICON_FILENAME)
|
||||
|
||||
SETTING_FILENAME = 'VT_setting.json'
|
||||
SETTING_FILENAME = os.path.join(path, SETTING_FILENAME)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def main():
|
||||
"""主程序入口"""
|
||||
@ -17,15 +27,15 @@ def main():
|
||||
# 设置Windows底部任务栏图标
|
||||
if 'Windows' in platform.uname() :
|
||||
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID('vn.trader')
|
||||
|
||||
|
||||
# 初始化Qt应用对象
|
||||
app = QtGui.QApplication(sys.argv)
|
||||
app.setWindowIcon(QtGui.QIcon('vnpy.ico'))
|
||||
app.setWindowIcon(QtGui.QIcon(ICON_FILENAME))
|
||||
app.setFont(BASIC_FONT)
|
||||
|
||||
# 设置Qt的皮肤
|
||||
try:
|
||||
f = file("VT_setting.json")
|
||||
f = file(SETTING_FILENAME)
|
||||
setting = json.load(f)
|
||||
if setting['darkStyle']:
|
||||
import qdarkstyle
|
||||
|
24
vn.trader/vtPath.py
Normal file
24
vn.trader/vtPath.py
Normal file
@ -0,0 +1,24 @@
|
||||
# encoding: UTF-8
|
||||
|
||||
"""
|
||||
用于vn.trader的运行目录环境设置
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# 将根目录路径添加到环境变量中
|
||||
ROOT_PATH = os.path.abspath(os.path.dirname(__file__))
|
||||
sys.path.append(ROOT_PATH)
|
||||
|
||||
# 将功能模块的目录路径添加到环境变量中
|
||||
# 若各目录下存在同名文件可能导致异常,请注意测试
|
||||
MODULE_PATH = {}
|
||||
MODULE_PATH['CTA'] = os.path.join(ROOT_PATH, 'ctaAlgo')
|
||||
MODULE_PATH['RM'] = os.path.join(ROOT_PATH, 'riskManager')
|
||||
MODULE_PATH['DR'] = os.path.join(ROOT_PATH, 'dataRecorder')
|
||||
|
||||
# 添加到环境变量中
|
||||
for path in MODULE_PATH.values():
|
||||
if path not in sys.path:
|
||||
sys.path.append(path)
|
@ -76,7 +76,8 @@ class XspeedGateway(VtGateway):
|
||||
"""连接"""
|
||||
# 载入json文件
|
||||
fileName = self.gatewayName + '_connect.json'
|
||||
fileName = os.getcwd() + '/xspeedGateway/' + fileName
|
||||
path = os.path.abspath(os.path.dirname(__file__))
|
||||
fileName = os.path.join(path, fileName)
|
||||
|
||||
try:
|
||||
f = file(fileName)
|
||||
|
Loading…
Reference in New Issue
Block a user