Files
@ b61824e61e68
Branch filter:
Location: kallithea/rhodecode/lib/vcs/utils/paths.py - annotation
b61824e61e68
834 B
text/x-python
Don't cache dulwich Repos, in pararell multithreaded evniroment dulwich pack file openers
can break badly. We need to create Repo() objects always for each call, even when it's
taken from cache.
Fixed issue with dulwich filedescriptor leak ref #573
can break badly. We need to create Repo() objects always for each call, even when it's
taken from cache.
Fixed issue with dulwich filedescriptor leak ref #573
324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 26fac32c215d 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 26fac32c215d | import os
abspath = lambda * p: os.path.abspath(os.path.join(*p))
def get_dirs_for_path(*paths):
"""
Returns list of directories, including intermediate.
"""
for path in paths:
head = path
while head:
head, tail = os.path.split(head)
if head:
yield head
else:
# We don't need to yield empty path
break
def get_dir_size(path):
root_path = path
size = 0
for path, dirs, files in os.walk(root_path):
for f in files:
try:
size += os.path.getsize(os.path.join(path, f))
except OSError:
pass
return size
def get_user_home():
"""
Returns home path of the user.
"""
return os.getenv('HOME', os.getenv('USERPROFILE')) or ''
|