comparison martini/config.py @ 17:a42a02bb46ed

py3
author Jeff Hammel <k0scist@gmail.com>
date Mon, 20 Feb 2017 15:11:21 -0800
parents 8ae3a7fd466a
children 81e0743dbe53
comparison
equal deleted inserted replaced
16:8ae3a7fd466a 17:a42a02bb46ed
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 import os 3 import os
4 import sys 4 import sys
5
6 5
7 6
8 try: 7 try:
9 from collections import OrderedDict 8 from collections import OrderedDict
10 except ImportError: 9 except ImportError:
27 from configparser import MissingSectionHeaderError 26 from configparser import MissingSectionHeaderError
28 from configparser import NoOptionError 27 from configparser import NoOptionError
29 from io import StringIO 28 from io import StringIO
30 29
31 30
31 try:
32 # python 2
33 string = (str, unicode)
34 except:
35 # python 3
36 string = (str,)
37
38
32 def file_pointer(resource): 39 def file_pointer(resource):
33 """returns a file-like object given a string""" 40 """returns a file-like object given a string"""
34 # XXX could go in utils.py 41 # XXX could go in utils.py
35 42
36 if not isinstance(resource, basestring): 43 if not isinstance(resource, string):
37 # assume resource is already a file-like object 44 # assume resource is already a file-like object
38 return resource 45 return resource
39 46
40 if os.path.exists(resource): 47 if os.path.exists(resource):
41 return file(resource) 48 return open(resource)
42 if sum([resource.startswith(http) 49 if sum([resource.startswith(http)
43 for http in ('http://', 'https://')]): 50 for http in ('http://', 'https://')]):
44 return urlopen(resource) 51 return urlopen(resource)
45 return StringIO(resource) 52 return StringIO(resource)
46 53