Exemple #1
0
 def multi(self, queries, **params):
     
     """
     Execute multiple FQL queries (using `fql.multiquery`).
     
     Example:
     
         >>> q = FQL('access_token')
         >>> result = q.multi(dict(query1="SELECT...", query2="SELECT..."))
         
         >>> result[0].name
         'query1'
         >>> result[0].fql_result_set
         [...]
         
         >>> result[1].name
         'query2'
         >>> result[1].fql_result_set
         [...]
     
     """
     
     url = add_path(self.ENDPOINT, 'fql.multiquery')
     params.update(queries=json.dumps(queries),
                   access_token=self.access_token, format='json')
     url = update_query_params(url, params)
     
     return self.fetch_json(url)
Exemple #2
0
 def __call__(self, query, **params):
     
     """
     Execute a single FQL query (using `fql.query`).
     
     Example:
     
         >>> q = FQL('access_token')
         >>> result = q("SELECT post_id FROM stream WHERE source_id = ...")
         >>> result
         [Bunch(post_id='XXXYYYZZZ'), ...]
         
         >>> result[0]
         Bunch(post_id='XXXYYYZZZ')
         
         >>> result[0].post_id
         'XXXYYYZZZ'
     
     """
     
     url = add_path(self.ENDPOINT, 'fql.query')
     params.update(query=query, access_token=self.access_token,
                   format='json')
     url = update_query_params(url, params)
     
     return self.fetch_json(url)
Exemple #3
0
    def multi(self, queries, **params):
        """
        Execute multiple FQL queries (using `fql.multiquery`).
        
        Example:
        
            >>> q = FQL('access_token')
            >>> result = q.multi(dict(query1="SELECT...", query2="SELECT..."))
            
            >>> result[0].name
            'query1'
            >>> result[0].fql_result_set
            [...]
            
            >>> result[1].name
            'query2'
            >>> result[1].fql_result_set
            [...]
        
        """

        url = add_path(self.ENDPOINT, 'fql.multiquery')
        params.update(queries=json.dumps(queries),
                      access_token=self.access_token,
                      format='json')
        url = update_query_params(url, params)

        return self.fetch_json(url)
Exemple #4
0
    def __call__(self, query, **params):
        """
        Execute a single FQL query (using `fql.query`).
        
        Example:
        
            >>> q = FQL('access_token')
            >>> result = q("SELECT post_id FROM stream WHERE source_id = ...")
            >>> result
            [Bunch(post_id='XXXYYYZZZ'), ...]
            
            >>> result[0]
            Bunch(post_id='XXXYYYZZZ')
            
            >>> result[0].post_id
            'XXXYYYZZZ'
        
        """

        url = add_path(self.ENDPOINT, 'fql.query')
        params.update(query=query,
                      access_token=self.access_token,
                      format='json')
        url = update_query_params(url, params)

        return self.fetch_json(url)
Exemple #5
0
 def __getitem__(self, item):
     if isinstance(item, slice):
         log.debug('Deprecated magic slice!')
         log.debug( traceback.format_stack())
         return self._range(item.start, item.stop)
     return self.copy(url=add_path(self.url, unicode(item)))
Exemple #6
0
 def __getitem__(self, item):
     if isinstance(item, slice):
         log.debug('Deprecated magic slice!')
         log.debug(traceback.format_stack())
         return self._range(item.start, item.stop)
     return self.copy(url=add_path(self.url, unicode(item)))