From 1c161a769e9c80365b4e5f5854c05c40c94f7b8f Mon Sep 17 00:00:00 2001 From: Rocky Duan Date: Mon, 20 Aug 2012 15:16:40 -0700 Subject: [PATCH 1/3] removed unnecessary dependency --- common/lib/xmodule/xmodule/discussion_module.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/common/lib/xmodule/xmodule/discussion_module.py b/common/lib/xmodule/xmodule/discussion_module.py index a92b112ef1..c029d95098 100644 --- a/common/lib/xmodule/xmodule/discussion_module.py +++ b/common/lib/xmodule/xmodule/discussion_module.py @@ -3,8 +3,6 @@ from lxml import etree from xmodule.x_module import XModule from xmodule.raw_module import RawDescriptor -import comment_client - import json class DiscussionModule(XModule): From f82c2e00d14c0b87e83002c9617d5b987e5f3b11 Mon Sep 17 00:00:00 2001 From: Rocky Duan Date: Mon, 20 Aug 2012 15:24:19 -0700 Subject: [PATCH 2/3] simplified mustache helper loading --- .../django_comment_client/mustache_helpers.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lms/djangoapps/django_comment_client/mustache_helpers.py b/lms/djangoapps/django_comment_client/mustache_helpers.py index 48a38be29b..b3b5daaa01 100644 --- a/lms/djangoapps/django_comment_client/mustache_helpers.py +++ b/lms/djangoapps/django_comment_client/mustache_helpers.py @@ -1,5 +1,7 @@ -from django.core.urlresolvers import reverse +import django.core.urlresolvers as urlresolvers import urllib +import sys +import inspect def pluralize(content, text): num, word = text.split(' ') @@ -9,10 +11,10 @@ def pluralize(content, text): return num + ' ' + word def url_for_user(content, user_id): - return reverse('django_comment_client.forum.views.user_profile', args=[content['course_id'], user_id]) + return urlresolvers.reverse('django_comment_client.forum.views.user_profile', args=[content['course_id'], user_id]) -def url_for_tags(content, tags): # assume that tags is in the format u'a, b, c' - return reverse('django_comment_client.forum.views.forum_form_discussion', args=[content['course_id']]) + '?' + urllib.urlencode({'tags': tags}) +def url_for_tags(content, tags): # assume that attribute 'tags' is in the format u'a, b, c' + return urlresolvers.reverse('django_comment_client.forum.views.forum_form_discussion', args=[content['course_id']]) + '?' + urllib.urlencode({'tags': tags}) def close_thread_text(content): if content.get('closed'): @@ -20,9 +22,7 @@ def close_thread_text(content): else: return 'Close thread' -mustache_helpers = { - 'pluralize': pluralize, - 'url_for_tags': url_for_tags, - 'url_for_user': url_for_user, - 'close_thread_text': close_thread_text, -} +current_module = sys.modules[__name__] +all_functions = inspect.getmembers(current_module, inspect.isfunction) + +mustache_helpers = {k: v for k, v in all_functions if not k.startswith('_')} From e3a3f7094a7bb236e7dc911e2008f38b4707453b Mon Sep 17 00:00:00 2001 From: Rocky Duan Date: Tue, 21 Aug 2012 15:45:41 -0700 Subject: [PATCH 3/3] added shared key authentication --- lms/lib/comment_client/settings.py | 2 ++ lms/lib/comment_client/utils.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lms/lib/comment_client/settings.py b/lms/lib/comment_client/settings.py index f64726335f..75a107d0c9 100644 --- a/lms/lib/comment_client/settings.py +++ b/lms/lib/comment_client/settings.py @@ -6,3 +6,5 @@ else: SERVICE_HOST = 'http://localhost:4567' PREFIX = SERVICE_HOST + '/api/v1' + +API_KEY = "PUT_YOUR_API_KEY_HERE" diff --git a/lms/lib/comment_client/utils.py b/lms/lib/comment_client/utils.py index 16b1952303..4e8beec079 100644 --- a/lms/lib/comment_client/utils.py +++ b/lms/lib/comment_client/utils.py @@ -1,5 +1,6 @@ import requests import json +import settings def strip_none(dic): return dict([(k, v) for k, v in dic.iteritems() if v is not None]) @@ -19,6 +20,7 @@ def merge_dict(dic1, dic2): return dict(dic1.items() + dic2.items()) def perform_request(method, url, data_or_params=None, *args, **kwargs): + data_or_params['api_key'] = settings.API_KEY if method in ['post', 'put', 'patch']: response = requests.request(method, url, data=data_or_params) else: