Rev3542, Trackers file path always relative to executable
This commit is contained in:
parent
debe9959e4
commit
f33350a4ef
1 changed files with 40 additions and 31 deletions
|
@ -10,13 +10,14 @@ class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.6.3"
|
self.version = "0.6.3"
|
||||||
self.rev = 3540
|
self.rev = 3542
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.pending_changes = {}
|
self.pending_changes = {}
|
||||||
self.need_restart = False
|
self.need_restart = False
|
||||||
self.keys_api_change_allowed = set(["tor", "fileserver_port", "language", "tor_use_bridges", "trackers_proxy", "trackers", "trackers_file", "open_browser"])
|
self.keys_api_change_allowed = set(["tor", "fileserver_port", "language", "tor_use_bridges", "trackers_proxy", "trackers", "trackers_file", "open_browser"])
|
||||||
self.keys_restart_need = set(["tor", "fileserver_port"])
|
self.keys_restart_need = set(["tor", "fileserver_port"])
|
||||||
|
self.start_dir = self.getStartDir()
|
||||||
|
|
||||||
self.config_file = "zeronet.conf"
|
self.config_file = "zeronet.conf"
|
||||||
self.createParser()
|
self.createParser()
|
||||||
|
@ -35,6 +36,40 @@ class Config(object):
|
||||||
def strToBool(self, v):
|
def strToBool(self, v):
|
||||||
return v.lower() in ("yes", "true", "t", "1")
|
return v.lower() in ("yes", "true", "t", "1")
|
||||||
|
|
||||||
|
def getStartDir(self):
|
||||||
|
this_file = os.path.abspath(__file__).replace("\\", "/").rstrip("cd")
|
||||||
|
|
||||||
|
if this_file.endswith("/Contents/Resources/core/src/Config.py"):
|
||||||
|
# Running as ZeroNet.app
|
||||||
|
if this_file.startswith("/Application") or this_file.startswith("/private") or this_file.startswith(os.path.expanduser("~/Library")):
|
||||||
|
# Runnig from non-writeable directory, put data to Application Support
|
||||||
|
start_dir = os.path.expanduser("~/Library/Application Support/ZeroNet").decode(sys.getfilesystemencoding())
|
||||||
|
else:
|
||||||
|
# Running from writeable directory put data next to .app
|
||||||
|
start_dir = re.sub("/[^/]+/Contents/Resources/core/src/Config.py", "", this_file).decode(sys.getfilesystemencoding())
|
||||||
|
config_file = start_dir + "/zeronet.conf"
|
||||||
|
data_dir = start_dir + "/data"
|
||||||
|
log_dir = start_dir + "/log"
|
||||||
|
elif this_file.endswith("/core/src/Config.py"):
|
||||||
|
# Running as exe or source is at Application Support directory, put var files to outside of core dir
|
||||||
|
start_dir = this_file.replace("/core/src/Config.py", "").decode(sys.getfilesystemencoding())
|
||||||
|
config_file = start_dir + "/zeronet.conf"
|
||||||
|
data_dir = start_dir + "/data"
|
||||||
|
log_dir = start_dir + "/log"
|
||||||
|
elif this_file.endswith("usr/share/zeronet/src/Config.py"):
|
||||||
|
# Running from non-writeable location, e.g., AppImage
|
||||||
|
start_dir = os.path.expanduser("~/ZeroNet").decode(sys.getfilesystemencoding())
|
||||||
|
config_file = start_dir + "/zeronet.conf"
|
||||||
|
data_dir = start_dir + "/data"
|
||||||
|
log_dir = start_dir + "/log"
|
||||||
|
else:
|
||||||
|
start_dir = "."
|
||||||
|
config_file = "zeronet.conf"
|
||||||
|
data_dir = "data"
|
||||||
|
log_dir = "log"
|
||||||
|
|
||||||
|
return start_dir
|
||||||
|
|
||||||
# Create command line arguments
|
# Create command line arguments
|
||||||
def createArguments(self):
|
def createArguments(self):
|
||||||
trackers = [
|
trackers = [
|
||||||
|
@ -66,35 +101,9 @@ class Config(object):
|
||||||
else:
|
else:
|
||||||
fix_float_decimals = False
|
fix_float_decimals = False
|
||||||
|
|
||||||
this_file = os.path.abspath(__file__).replace("\\", "/").rstrip("cd")
|
config_file = self.start_dir + "/zeronet.conf"
|
||||||
|
data_dir = self.start_dir + "/data"
|
||||||
if this_file.endswith("/Contents/Resources/core/src/Config.py"):
|
log_dir = self.start_dir + "/log"
|
||||||
# Running as ZeroNet.app
|
|
||||||
if this_file.startswith("/Application") or this_file.startswith("/private") or this_file.startswith(os.path.expanduser("~/Library")):
|
|
||||||
# Runnig from non-writeable directory, put data to Application Support
|
|
||||||
start_dir = os.path.expanduser("~/Library/Application Support/ZeroNet").decode(sys.getfilesystemencoding())
|
|
||||||
else:
|
|
||||||
# Running from writeable directory put data next to .app
|
|
||||||
start_dir = re.sub("/[^/]+/Contents/Resources/core/src/Config.py", "", this_file).decode(sys.getfilesystemencoding())
|
|
||||||
config_file = start_dir + "/zeronet.conf"
|
|
||||||
data_dir = start_dir + "/data"
|
|
||||||
log_dir = start_dir + "/log"
|
|
||||||
elif this_file.endswith("/core/src/Config.py"):
|
|
||||||
# Running as exe or source is at Application Support directory, put var files to outside of core dir
|
|
||||||
start_dir = this_file.replace("/core/src/Config.py", "").decode(sys.getfilesystemencoding())
|
|
||||||
config_file = start_dir + "/zeronet.conf"
|
|
||||||
data_dir = start_dir + "/data"
|
|
||||||
log_dir = start_dir + "/log"
|
|
||||||
elif this_file.endswith("usr/share/zeronet/src/Config.py"):
|
|
||||||
# Running from non-writeable location, e.g., AppImage
|
|
||||||
start_dir = os.path.expanduser("~/ZeroNet").decode(sys.getfilesystemencoding())
|
|
||||||
config_file = start_dir + "/zeronet.conf"
|
|
||||||
data_dir = start_dir + "/data"
|
|
||||||
log_dir = start_dir + "/log"
|
|
||||||
else:
|
|
||||||
config_file = "zeronet.conf"
|
|
||||||
data_dir = "data"
|
|
||||||
log_dir = "log"
|
|
||||||
|
|
||||||
ip_local = ["127.0.0.1"]
|
ip_local = ["127.0.0.1"]
|
||||||
|
|
||||||
|
@ -280,7 +289,7 @@ class Config(object):
|
||||||
self.trackers = self.arguments.trackers[:]
|
self.trackers = self.arguments.trackers[:]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
for line in open(self.trackers_file):
|
for line in open(self.start_dir + "/" + self.trackers_file):
|
||||||
tracker = line.strip()
|
tracker = line.strip()
|
||||||
if "://" in tracker and tracker not in self.trackers:
|
if "://" in tracker and tracker not in self.trackers:
|
||||||
self.trackers.append(tracker)
|
self.trackers.append(tracker)
|
||||||
|
|
Loading…
Reference in a new issue