diff --git a/common/djangoapps/edxmako/middleware.py b/common/djangoapps/edxmako/middleware.py index 27b129f571..9587c0b2b0 100644 --- a/common/djangoapps/edxmako/middleware.py +++ b/common/djangoapps/edxmako/middleware.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +import ConfigParser +from django.conf import settings from django.template import RequestContext from util.request import safe_get_host requestcontext = None @@ -24,3 +26,21 @@ class MakoMiddleware(object): requestcontext = RequestContext(request) requestcontext['is_secure'] = request.is_secure() requestcontext['site'] = safe_get_host(request) + requestcontext['doc_url'] = self.get_doc_url_func(request) + + def get_doc_url_func(self, request): + config_file = open(settings.REPO_ROOT / "docs" / "config.ini") + config = ConfigParser.ConfigParser() + config.readfp(config_file) + + # in the future, we will detect the locale; for now, we will + # hardcode en_us, since we only have English documentation + locale = "en_us" + + def doc_url(token): + try: + return config.get(locale, token) + except ConfigParser.NoOptionError: + return config.get(locale, "default") + + return doc_url diff --git a/docs/config.ini b/docs/config.ini new file mode 100644 index 0000000000..6337e350de --- /dev/null +++ b/docs/config.ini @@ -0,0 +1,2 @@ +[en_us] +default=default