Finished splitting util.py into separate files.
[mediagoblin.git] / mediagoblin / tools / common.py
index dccceccb808a5654cbf961d6a848c468dc36e931..ea4541a8e18ec4d9be35829ea2bdb848eff3c350 100644 (file)
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+import sys
+
+DISPLAY_IMAGE_FETCHING_ORDER = [u'medium', u'original', u'thumb']
+
 global TESTS_ENABLED
 TESTS_ENABLED = False
+
+def import_component(import_string):
+    """
+    Import a module component defined by STRING.  Probably a method,
+    class, or global variable.
+
+    Args:
+     - import_string: a string that defines what to import.  Written
+       in the format of "module1.module2:component"
+    """
+    module_name, func_name = import_string.split(':', 1)
+    __import__(module_name)
+    module = sys.modules[module_name]
+    func = getattr(module, func_name)
+    return func