Пример #1
0
 def create(self, request, user=None):
     self._user = user
     while True:
         try:
             self._session_key = self._get_new_session_key()
             self._session_rk = Session(
                                      id=self._session_key,
                                      data=self.encode({}),
                                      user=self._user,
                                      ip=self._ip,
                                      agent=request.META.get('HTTP_USER_AGENT', ''),
                                      start=timezone.now(),
                                      last=timezone.now(),
                                      admin=request.firewall.admin,
                                      )
             self._session_rk.save(force_insert=True)
             if settings.USER_EXTENSIONS_PRELOAD:
                 self._session_rk = self._session_rk.select_related(*settings.USER_EXTENSIONS_PRELOAD)
             if user:
                 # Update user data
                 user.set_last_visit(
                                     self.get_ip(request),
                                     request.META.get('HTTP_USER_AGENT', '')
                                     )
                 user.save(force_update=True)
             break
         except CreateError:
             # Key wasn't unique. Try again.
             continue
Пример #2
0
 def create(self, request):
     self._session_rk = Session(
                                id=self._session_key,
                                data=self.encode({}),
                                crawler=request.user.username,
                                ip=self._ip,
                                agent=request.META.get('HTTP_USER_AGENT', ''),
                                start=timezone.now(),
                                last=timezone.now(),
                                matched=True
                                )
     while True:
         try:
             self._session_rk.save(force_insert=True)
             break
         except CreateError:
             continue
         except IntegrityError:
             try:
                 self._session_rk =  Session.objects.get(id=self._session_key)                    
             except Session.DoesNotExist:
                 continue