[utils] Get root dir from root module's __file__
This commit is contained in:
parent
8b92b7fb8d
commit
89442a0e26
@ -2531,7 +2531,7 @@ def g(s):
|
|||||||
DOMAIN = 'youtube_dl'
|
DOMAIN = 'youtube_dl'
|
||||||
lang, _ = locale.getdefaultlocale()
|
lang, _ = locale.getdefaultlocale()
|
||||||
try:
|
try:
|
||||||
t = gettext.translation(DOMAIN, os.path.join(get_root_dir(), '../share/locale/'), [lang])
|
t = gettext.translation(DOMAIN, find_file_in_root('share/locale/'), [lang])
|
||||||
except (OSError, IOError): # OSError for 3.3+ and IOError otherwise
|
except (OSError, IOError): # OSError for 3.3+ and IOError otherwise
|
||||||
t = None
|
t = None
|
||||||
|
|
||||||
@ -2552,8 +2552,25 @@ def g(s):
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def get_root_dir():
|
def get_root_dirs():
|
||||||
return os.path.dirname(os.path.abspath(__file__))
|
ret = []
|
||||||
|
|
||||||
|
import __main__
|
||||||
|
if hasattr(__main__, '__file__'): # __main__ has no __file__ if youtube_dl is imported from stdin
|
||||||
|
# ../../ of bin/youtube-dl
|
||||||
|
ret.append(os.path.dirname(os.path.dirname(os.path.abspath(__main__.__file__))))
|
||||||
|
|
||||||
|
# ../../ of youtube_dl/utils.py
|
||||||
|
ret.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||||
|
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
def find_file_in_root(file_path):
|
||||||
|
for root in get_root_dirs():
|
||||||
|
full_path = os.path.join(root, file_path)
|
||||||
|
if os.path.exists(full_path):
|
||||||
|
return full_path
|
||||||
|
|
||||||
|
|
||||||
class PerRequestProxyHandler(compat_urllib_request.ProxyHandler):
|
class PerRequestProxyHandler(compat_urllib_request.ProxyHandler):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user