Commits

Mikhail Korobov committed 5d03231

move _patch_request_with_vkapi to a method; remove useless setattr call

Comments (0)

Files changed (1)

vk_iframe/middleware.py

                 " 'django.contrib.auth.middleware.AuthenticationMiddleware'"
                 " before the vk.middleware.AuthenticationMiddleware class.")
 
-        def patch_request_with_vkapi():
-            if use_vkontakte_pkg and hasattr(request, 'session'):
-                if 'vk_startup_vars' in request.session:
-                    token = request.session['vk_startup_vars']['access_token']
-                    setattr(request,'vk_api',vkontakte.API(token = token))
-
         # не было попытки авторизоваться через Вконтакте
         if 'viewer_id' not in request.GET:
-            patch_request_with_vkapi()
+            self._patch_request_with_vkapi(request)
             return
 
         # пользователь уже залогинен под тем же именем
         if request.user.is_authenticated():
             if request.user.username == request.GET['viewer_id']:
-                patch_request_with_vkapi()
+                self._patch_request_with_vkapi(request)
                 return
 
         # пользователь не залогинен или залогинен под другим именем
                 del startup_vars['api_result'] # этот большой кусок сохранять в сессию не будем, он уже есть в vk_profile
                 request.session['vk_startup_vars'] = startup_vars
 
-                patch_request_with_vkapi()
+                self._patch_request_with_vkapi(request)
 
         else:
             request.META['VKONTAKTE_LOGIN_ERRORS'] = vk_form.errors
 
+    def _patch_request_with_vkapi(self, request):
+        """
+        Помещает в request.vk_api экземпляр vkontakte.API с настроенной
+        авторизацией.
+        """
+        if use_vkontakte_pkg and hasattr(request, 'session'):
+            if 'vk_startup_vars' in request.session:
+                token = request.session['vk_startup_vars']['access_token']
+                request.vk_api = vkontakte.API(token=token)
+
 
 class IFrameFixMiddleware(object):
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.