docs: def get_subscriptions(self, publication_id=None, owner_id=None,
                            since_when=None, limit_to=200, max_calls=None,
                            start_record=0, verbose=False):
          """
          Fetches all subscriptions from Membersuite of a particular
          `publication_id` if set.
          """
          query = "SELECT Objects() FROM Subscription"
  
          # collect all where parameters into a list of
          # (key, operator, value) tuples
          where_params = []
  
          if owner_id:
              where_params.append(('owner', '=', "'%s'" % owner_id))
          if publication_id:
              where_params.append(('publication', '=', "'%s'" % publication_id))
          if since_when:
              d = datetime.date.today() - datetime.timedelta(days=since_when)
              where_params.append(
                  ('LastModifiedDate', ">", "'%s 00:00:00'" % d))
  
          if where_params:
              query += " WHERE "
              query += " AND ".join(
                  ["%s %s %s" % (p[0], p[1], p[2]) for p in where_params])
  
          subscription_list = self.get_long_query(
              query, limit_to=limit_to, max_calls=max_calls,
              start_record=start_record, verbose=verbose)
  
          return subscription_list