Пример #1
0
 def test_setTimeout(self):
     api = disqusapi.DisqusAPI()
     self.assertEquals(api.timeout, socket.getdefaulttimeout())
     api = disqusapi.DisqusAPI(timeout=30)
     self.assertEquals(api.timeout, 30)
     api.setTimeout(60)
     self.assertEquals(api.timeout, 60)
Пример #2
0
 def test_paginator_legacy(self):
     api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC)
     with mock.patch('disqusapi.Resource._request') as _request:
         iterator = iter_results()
         _request.return_value = next(iterator)
         paginator = disqusapi.Paginator(api.posts.list, forum='disqus')
         n = 0
         for n, result in enumerate(paginator(limit=100)):
             if n % 10 == 0:
                 next(iterator)
     self.assertEquals(n, 99)
Пример #3
0
    def test_endpoint(self):
        api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC)
        with mock.patch('disqusapi.Resource._request') as _request:
            iterator = iter_results()
            _request.return_value = next(iterator)
            response1 = api.posts.list(forum='disqus')

        with mock.patch('disqusapi.Resource._request') as _request:
            iterator = iter_results()
            _request.return_value = next(iterator)
            response2 = api.get('posts.list', forum='disqus')

        self.assertEquals(len(response1), len(response2))
Пример #4
0
    def test_paginator(self):
        def iter_results():
            for n in xrange(11):
                yield disqusapi.Result(
                    response=[n] * 10,
                    cursor={
                        'id': n,
                        'more': n < 10,
                    },
                )

        api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC)

        with mock.patch('disqusapi.Resource._request') as _request:
            iterator = iter_results()
            _request.return_value = iterator.next()
            paginator = disqusapi.Paginator(api.posts.list, forum='disqus')
            n = 0
            for n, result in enumerate(paginator(limit=100)):
                if n % 10 == 0:
                    iterator.next()
        self.assertEquals(n, 99)
Пример #5
0
    def __init__(self, log_time):
        self.log_time = log_time
        self.DISQUS_API_SECRET = os.getenv('DISQUS_API_SECRET', None)
        self.DISQUS_API_PUBLIC = os.getenv('DISQUS_API_PUBLIC', None)
        self.DISQUS_ACCESS_TOKEN = os.getenv('DISQUS_ACCESS_TOKEN', None)
        self.user = {
            'id': os.getenv('DISQUS_SSO_ID', None),
            'username': os.getenv('DISQUS_SSO_USERNAME', None),
            'email': os.getenv('DISQUS_SSO_EMAIL', None),
        }
        self.SSO_KEY = self.get_disqus_sso(self.user)
        self.disqus = disqusapi.DisqusAPI(api_secret=self.DISQUS_API_SECRET,
                                          public_key=self.DISQUS_API_PUBLIC,
                                          remote_auth=self.SSO_KEY)
        self.change_log = {}
        self.last_post = None
        self.last_library = None

        with open(get_path('data', DISQUS_COMMENTS)) as f:
            self.messages = simplejson.loads(f.read())

        with open(get_path('data', EXAMPLES_WITHOUT_LIBRARY_DB)) as f:
            self.examples_without_library = simplejson.loads(f.read())
Пример #6
0
 def test_setVersion(self):
     api = disqusapi.DisqusAPI()
     self.assertEquals(api.version, '3.0')
     api.setVersion('3.1')
     self.assertEquals(api.version, '3.1')
Пример #7
0
 def test_setFormat(self):
     api = disqusapi.DisqusAPI()
     self.assertEquals(api.format, 'json')
     api.setFormat('jsonp')
     self.assertEquals(api.format, 'jsonp')
Пример #8
0
 def test_setPublicKey(self):
     api = disqusapi.DisqusAPI('a', 'c')
     self.assertEquals(api.public_key, 'c')
     api.setPublicKey('b')
     self.assertEquals(api.public_key, 'b')
Пример #9
0
 def test_setSecretKey(self):
     api = disqusapi.DisqusAPI('a', 'c')
     self.assertEquals(api.secret_key, 'a')
     api.setSecretKey('b')
     self.assertEquals(api.secret_key, 'b')
Пример #10
0
            config[x] = getattr(mod, x)


def log_exception(e):
    if raven:
        raven.captureException()
    traceback.print_exc()


# load our default settings
load_settings('app.cfg', config, silent=False)

assert config['API_SECRET'], "You must set your API_SECRET!"
assert config['ACCESS_TOKEN'], "You must set your ACCESS_TOKEN!"

api = disqusapi.DisqusAPI(secret_key=config['API_SECRET'])


def anonymize(post):
    return {
        'link': post['thread']['link'],
        'title': post['thread']['title'],
        'icon':
        'http://disqus.com/api/forums/favicons/%s.jpg' % (post['forum'], )
    }


def main():
    queue = gevent.queue.Queue(1000)
    context = zmq.Context()
    pub = context.socket(zmq.PUSH)
Пример #11
0
def init_disqus(app):
    import disqusapi

    return disqusapi.DisqusAPI(app.config['DISQUS_SECRET'],
                               app.config['DISQUS_PUBLIC'])
Пример #12
0
 def test_update_interface(self):
     api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC)
     api.update_interface(extra_interface)
Пример #13
0
 def test_invalid_method(self):
     api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC)
     with self.assertRaises(disqusapi.InvalidHTTPMethod):
         api.get('posts.list', method='lol', forum='disqus')
Пример #14
0
 def test_update_interface_legacy(self):
     api = disqusapi.DisqusAPI(self.API_SECRET, self.API_PUBLIC)
     with self.assertRaises(disqusapi.InterfaceNotDefined):
         api.interface.update(extra_interface)