add userpath and environ var expansion to expand_path

This commit is contained in:
Kenneth Reitz
2011-09-24 14:33:13 -04:00
parent 98edec43e9
commit d19650b93c
+24 -4
View File
@@ -11,9 +11,29 @@ Various Python helpers used within clint.
from __future__ import absolute_import
from __future__ import with_statement
import sys
import errno
import os.path
from os import makedirs
from glob import glob
def expand_path(path):
"""Expands directories and globs in given path."""
paths = []
path = os.path.expanduser(path)
path = os.path.expandvars(path)
if os.path.isdir(path):
for (dir, dirs, files) in os.walk(path):
for file in files:
paths.append(os.path.join(dir, file))
else:
paths.extend(glob(path))
return paths
def is_collection(obj):
@@ -37,17 +57,17 @@ def mkdir_p(path):
def tsplit(string, delimiters):
"""Behaves str.split but supports tuples of delimiters."""
delimiters = tuple(delimiters)
stack = [string,]
for delimiter in delimiters:
for i, substring in enumerate(stack):
substack = substring.split(delimiter)
stack.pop(i)
for j, _substring in enumerate(substack):
stack.insert(i+j, _substring)
return stack
def schunk(string, size):