From 0d0cb5650179384ef155dfa7dba419fa9b0256d1 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 19 Sep 2013 12:13:01 -0400 Subject: [PATCH] Speed up Location creation returning existing locations where possible --- common/lib/xmodule/xmodule/modulestore/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/lib/xmodule/xmodule/modulestore/__init__.py b/common/lib/xmodule/xmodule/modulestore/__init__.py index e53b4adb5e..87d492c9bd 100644 --- a/common/lib/xmodule/xmodule/modulestore/__init__.py +++ b/common/lib/xmodule/xmodule/modulestore/__init__.py @@ -169,7 +169,9 @@ class Location(_LocationBase): # names allow colons check(list_[4], INVALID_CHARS_NAME) - if isinstance(location, basestring): + if isinstance(location, Location): + return location + elif isinstance(location, basestring): match = URL_RE.match(location) if match is None: log.debug('location is instance of %s but no URL match' % basestring) @@ -195,8 +197,6 @@ class Location(_LocationBase): check_dict(kwargs) return _LocationBase.__new__(_cls, **kwargs) - elif isinstance(location, Location): - return _LocationBase.__new__(_cls, location) else: raise InvalidLocationError(location)