annotate python/resource_filename.py @ 307:655a40db0977

ah, the magic switch
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 16 May 2013 11:25:10 -0700
parents cbd7651dbd52
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
269
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 # example code
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 import os
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 def resource_path(path):
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 """
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 getting a resource filename (absolute path)
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 - path: relative path
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 """
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13 try:
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 # use pkg_resources if available
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 # http://pythonhosted.org/distribute/setuptools.html#non-package-data-files
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 from pkg_resources import Requirement, resource_filename
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 return resource_filename(Requirement.parse("MyProject"),path)
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 except ImportError:
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 # assume file lives relative to this file
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 here = os.path.dirname(os.path.abspath(__file__))
cbd7651dbd52 add sample example code
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 return os.path.join(here, path)