Files
intern/utils.py
Andreas Stephanides 2d0f074315 big refactor 1
2017-08-30 15:35:25 +02:00

35 lines
939 B
Python

"""
Utility Functions for handling files and paths
"""
import os
import re
from os.path import isfile, abspath
def pjoin2 (pth):
if (not type(pth) is list):
raise AttributeError("path should be a list")
pth=filter(lambda s: len(s.strip())>0, pth)
if len(pth)==0:
raise AttributeError("List for pjoin2 can't be empty")
return u'/'.join(pth) or u''
def pjoin (rt,pth):
return pjoin2([rt,pth])
def list_dir(mypath,ext=None, not_ext=None):
return (f for f in os.listdir(mypath)
if os.path.isfile(os.path.join(mypath, f))
and ((re.match('.*%s$' % not_ext, f) is None) or (not_ext is None))
and ((re.match('.*%s$' % ext, f) is not None) or (ext is None))
)
def path_depth(path):
if path =="":
return 0
p_split=path.split('/')
cc=len(p_split)
if p_split[-1]=='index' or p_split[-1]=='index.json' :
cc=cc-1
return cc