From b31a8ea3f385abc4506a11ad9510642c3cd5a594 Mon Sep 17 00:00:00 2001 From: BreakWa11 Date: Mon, 26 Oct 2015 16:53:16 +0800 Subject: [PATCH] auto get realpath --- server.py | 20 +++++++++++++++++++- shadowsocks/asyncdns.py | 8 ++++---- shadowsocks/local.py | 10 ++++------ shadowsocks/server.py | 10 ++++------ 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/server.py b/server.py index c93cee5..ac32a7c 100644 --- a/server.py +++ b/server.py @@ -1,10 +1,28 @@ #!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Copyright 2015 breakwall +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + import time import sys import threading import os -os.chdir(os.path.dirname(os.path.realpath(__file__))) +if __name__ == '__main__': + import inspect + os.chdir(os.path.dirname(os.path.realpath(inspect.getfile(inspect.currentframe())))) import server_pool import db_transfer diff --git a/shadowsocks/asyncdns.py b/shadowsocks/asyncdns.py index 08ec5f0..e64895c 100644 --- a/shadowsocks/asyncdns.py +++ b/shadowsocks/asyncdns.py @@ -26,10 +26,10 @@ import logging if __name__ == '__main__': import sys - try: - sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../')) - except: - sys.path.insert(0, os.path.join(sys.path[0], '../')) + import inspect + file_path = os.path.dirname(os.path.realpath(inspect.getfile(inspect.currentframe()))) + os.chdir(file_path) + sys.path.insert(0, os.path.join(file_path, '../')) from shadowsocks import common, lru_cache, eventloop, shell diff --git a/shadowsocks/local.py b/shadowsocks/local.py index 79fd04e..c6df20c 100755 --- a/shadowsocks/local.py +++ b/shadowsocks/local.py @@ -24,12 +24,10 @@ import logging import signal if __name__ == '__main__': - try: - os.chdir(os.path.dirname(os.path.realpath(__file__))) - sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../')) - except: - os.chdir(os.path.dirname(sys.path[0])) - sys.path.insert(0, os.path.join(sys.path[0], '../')) + import inspect + file_path = os.path.dirname(os.path.realpath(inspect.getfile(inspect.currentframe()))) + os.chdir(file_path) + sys.path.insert(0, os.path.join(file_path, '../')) from shadowsocks import shell, daemon, eventloop, tcprelay, udprelay, asyncdns diff --git a/shadowsocks/server.py b/shadowsocks/server.py index b6ef3c7..68d187f 100755 --- a/shadowsocks/server.py +++ b/shadowsocks/server.py @@ -24,12 +24,10 @@ import logging import signal if __name__ == '__main__': - try: - os.chdir(os.path.dirname(os.path.realpath(__file__))) - sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../')) - except: - os.chdir(os.path.dirname(sys.path[0])) - sys.path.insert(0, os.path.join(sys.path[0], '../')) + import inspect + file_path = os.path.dirname(os.path.realpath(inspect.getfile(inspect.currentframe()))) + os.chdir(file_path) + sys.path.insert(0, os.path.join(file_path, '../')) from shadowsocks import shell, daemon, eventloop, tcprelay, udprelay, \ asyncdns, manager