1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

import os 

import sys 

 

py3 = sys.version_info.major >= 3 

 

if py3: 

def isStringType(t): 

return isinstance(t, str) 

 

def isPath(f): 

return isinstance(f, (bytes, str)) 

else: 

def isStringType(t): 

return isinstance(t, basestring) # noqa: F821 

 

def isPath(f): 

return isinstance(f, basestring) # noqa: F821 

 

 

# Checks if an object is a string, and that it points to a directory. 

def isDirectory(f): 

return isPath(f) and os.path.isdir(f) 

 

 

class deferred_error(object): 

def __init__(self, ex): 

self.ex = ex 

 

def __getattr__(self, elt): 

raise self.ex