Source code for equip.utils.files

# -*- coding: utf-8 -*-
"""
  equip.utils.files
  ~~~~~~~~~~~~~~~~~

  :copyright: (c) 2014 by Romain Gaucher (@rgaucher)
  :license: Apache 2, see LICENSE for more details.
"""
import os

__normalize_path = lambda x: os.path.abspath(x)


[docs]def file_extension(filename): if '.' not in filename: return None return filename[filename.rfind('.') + 1:].lower()
[docs]def good_ext(fext, l=None): return fext.lower() in l if l else False
[docs]def scan_dir(directory, files, l_ext=None): names = os.listdir(directory) for name in names: srcname = __normalize_path(os.path.join(directory, name)) try: if os.path.isdir(srcname): try: scan_dir(srcname, files, l_ext) except: continue elif os.path.isfile(srcname) \ and (not l_ext \ or good_ext(srcname[srcname.rfind('.')+1:], l_ext)): if srcname not in files: files.append(srcname) except IOError, error: continue
[docs]def list_dir(directory): subdirs = os.listdir(directory) if not subdirs: return [] return [os.path.join(directory, k) for k in subdirs]