title: python using self in decorators in class with kwarg
body: <p>So I have this set of code, testing decorator <code>base_permissions_check</code>:</p>
  
  <pre><code>def authenticated(self,*arg,**kwargs):
      function_call = inspect.stack()[1][4][0].strip()
      matched = re.match('^self\.', function_call)
      if not matched:
          raise Exception("function is private")
  
      return self.user.is_authenticated()
  
  def base_permissions_check(func):
      def wrap(self,**kwargs):
  
          if not self.authenticated(kwargs):
              return self.permissions
              # func(kwargs)
          return func(kwargs)
      return wrap
  
  #public
  @base_permissions_check
  def has_video_permission(self,**kwargs):
  </code></pre>
  
  <p>The error says that <code>authenticated() takes 1 positional argument but 2 were given</code> when I call has_video_permission. I really don't know what's wrong? while I pass only one kwarg into it</p>