• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python api.CachedRequest类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中pywikibot.data.api.CachedRequest的典型用法代码示例。如果您正苦于以下问题:Python CachedRequest类的具体用法?Python CachedRequest怎么用?Python CachedRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了CachedRequest类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: refresh

def refresh(site, sysop=False):
    """Fetch the watchlist."""
    if not site.logged_in(sysop=sysop):
        site.login(sysop=sysop)

    params = {
        'action': 'query',
        'list': 'watchlistraw',
        'wrlimit': config.special_page_limit,
    }

    pywikibot.output(u'Retrieving watchlist for %s via API.' % str(site))
    # pywikibot.put_throttle() # It actually is a get, but a heavy one.
    watchlist = []
    while True:
        req = CachedRequest(config.API_config_expiry, site=site, **params)
        data = req.submit()
        if 'error' in data:
            raise RuntimeError('ERROR: %s' % data)
        watchlist.extend([w['title'] for w in data['watchlistraw']])

        if 'query-continue' in data:
            params.update(data['query-continue']['watchlistraw'])
        else:
            break
    return watchlist
开发者ID:donkaban,项目名称:pywiki-bot,代码行数:26,代码来源:watchlist.py


示例2: setUp

 def setUp(self):
     super(DryCachedRequestTests, self).setUp()
     self.parms = {"site": self.basesite, "action": "query", "meta": "userinfo"}
     self.req = CachedRequest(expiry=1, **self.parms)
     self.expreq = CachedRequest(expiry=0, **self.parms)
     self.diffreq = CachedRequest(expiry=1, site=self.basesite, action="query", meta="siteinfo")
     self.diffsite = CachedRequest(expiry=1, site=self.altsite, action="query", meta="userinfo")
开发者ID:emijrp,项目名称:pywikibot-core,代码行数:7,代码来源:dry_api_tests.py


示例3: setUp

 def setUp(self):
     self.parms = {'site': pywikibot.Site('en'),
                   'action': 'query',
                   'meta': 'userinfo'}
     self.req = CachedRequest(expiry=1, **self.parms)
     self.expreq = CachedRequest(expiry=0, **self.parms)
     self.diffreq = CachedRequest(expiry=1, site=pywikibot.Site('en'), action='query', meta='siteinfo')
     self.diffsite = CachedRequest(expiry=1, site=pywikibot.Site('de'), action='query', meta='userinfo')
开发者ID:Aaron1011,项目名称:pywikibot-core,代码行数:8,代码来源:dry_api_tests.py


示例4: setUp

 def setUp(self):
     super(DryCachedRequestTests, self).setUp()
     self.parms = {'site': self.basesite,
                   'action': 'query',
                   'meta': 'userinfo'}
     self.req = CachedRequest(expiry=1, **self.parms)
     self.expreq = CachedRequest(expiry=0, **self.parms)
     self.diffreq = CachedRequest(expiry=1, site=self.basesite, action='query', meta='siteinfo')
     self.diffsite = CachedRequest(expiry=1, site=self.altsite, action='query', meta='userinfo')
开发者ID:valhallasw,项目名称:pywikibot-core,代码行数:9,代码来源:dry_api_tests.py


示例5: test_unicode

    def test_unicode(self):
        """Test caching with Unicode content."""
        self.mocksite._userinfo = {'name': u'محمد الفلسطيني'}
        self.mocksite._loginstatus = 0

        req = CachedRequest(expiry=1, site=self.mocksite,
                            parameters={'action': 'query', 'meta': 'siteinfo'})
        en_user_path = req._cachefile_path()

        self.mocksite._namespaces = {2: [u'مستخدم']}

        req = CachedRequest(expiry=1, site=self.mocksite,
                            parameters={'action': 'query', 'meta': 'siteinfo'})

        expect = (u'MockSite()User(User:محمد الفلسطيني)' +
                  "[('action', 'query'), ('meta', 'siteinfo')]")

        self.assertEqual(repr(req._uniquedescriptionstr()), repr(expect))

        self.assertEqual(req._uniquedescriptionstr().encode('utf-8'),
                         expect.encode('utf-8'))

        ar_user_path = req._cachefile_path()

        self.assertEqual(en_user_path, ar_user_path)
开发者ID:AbdealiJK,项目名称:pywikibot-core,代码行数:25,代码来源:dry_api_tests.py


示例6: refresh_all

def refresh_all(sysop=False):
    """Reload watchlists for all wikis where a watchlist is already present."""
    cache_path = CachedRequest._get_cache_dir()
    files = os.listdir(cache_path)
    seen = []
    for filename in files:
        entry = CacheEntry(cache_path, filename)
        entry._load_cache()
        entry.parse_key()
        entry._rebuild()
        if entry.site not in seen:
            if entry._data.get('watchlistraw'):
                refresh(entry.site, sysop)
                seen.append(entry.site)
开发者ID:runt18,项目名称:pywikibot-core,代码行数:14,代码来源:watchlist.py


示例7: setUp

 def setUp(self):
     """Initialize the fake requests."""
     super(DryCachedRequestTests, self).setUp()
     self.parms = {"action": "query", "meta": "userinfo"}
     self.req = CachedRequest(expiry=1, site=self.basesite, parameters=self.parms)
     self.expreq = CachedRequest(expiry=0, site=self.basesite, parameters=self.parms)
     self.diffreq = CachedRequest(expiry=1, site=self.basesite, parameters={"action": "query", "meta": "siteinfo"})
     self.diffsite = CachedRequest(expiry=1, site=self.altsite, parameters={"action": "query", "meta": "userinfo"})
     # When using ** the paramters are still unicode
     self.deprecated_explicit = CachedRequest(expiry=1, site=self.basesite, action="query", meta="userinfo")
     self.deprecated_asterisks = CachedRequest(expiry=1, site=self.basesite, **self.parms)
开发者ID:TridevGuha,项目名称:pywikibot-core,代码行数:11,代码来源:dry_api_tests.py


示例8: test_cachefile_path_different_users

    def test_cachefile_path_different_users(self):
        # Mock basesite object to test this.
        class MockSite(pywikibot.site.APISite):

            _loginstatus = pywikibot.site.LoginStatus.NOT_ATTEMPTED

            _namespaces = {2: 'User'}

            def __init__(self):
                self._user = 'anon'

            def user(self):
                return self._user

            def encoding(self):
                return 'utf-8'

            def encodings(self):
                return []

            def _getsiteinfo(self):
                self._siteinfo = {'case': 'first-letter'}
                return {}

            def __repr__(self):
                return "MockSite()"

            def __getattr__(self, attr):
                raise Exception("Attribute %r not defined" % attr)

        site = MockSite()
        req = CachedRequest(expiry=1, site=site, action='query', meta='siteinfo')
        anonpath = req._cachefile_path()

        site._userinfo = {'name': u'user'}
        site._loginstatus = 0
        req = CachedRequest(expiry=1, site=site, action='query', meta='siteinfo')
        userpath = req._cachefile_path()

        self.assertNotEqual(anonpath, userpath)

        site._userinfo = {'name': u'sysop'}
        site._loginstatus = 1
        req = CachedRequest(expiry=1, site=site, action='query', meta='siteinfo')
        sysoppath = req._cachefile_path()

        self.assertNotEqual(anonpath, sysoppath)
        self.assertNotEqual(userpath, sysoppath)
开发者ID:APerson241,项目名称:pywikibot-core,代码行数:48,代码来源:dry_api_tests.py


示例9: test_cachefile_path_different_users

    def test_cachefile_path_different_users(self):
        req = CachedRequest(expiry=1, site=self.mocksite, action="query", meta="siteinfo")
        anonpath = req._cachefile_path()

        self.mocksite._userinfo = {"name": "MyUser"}
        self.mocksite._loginstatus = 0
        req = CachedRequest(expiry=1, site=self.mocksite, action="query", meta="siteinfo")
        userpath = req._cachefile_path()

        self.assertNotEqual(anonpath, userpath)

        self.mocksite._userinfo = {"name": "MySysop"}
        self.mocksite._loginstatus = 1
        req = CachedRequest(expiry=1, site=self.mocksite, action="query", meta="siteinfo")
        sysoppath = req._cachefile_path()

        self.assertNotEqual(anonpath, sysoppath)
        self.assertNotEqual(userpath, sysoppath)
开发者ID:emijrp,项目名称:pywikibot-core,代码行数:18,代码来源:dry_api_tests.py


示例10: setUp

 def setUp(self):
     """Initialize the fake requests."""
     super(DryCachedRequestTests, self).setUp()
     self.parms = {'action': 'query',
                   'meta': 'userinfo'}
     self.req = CachedRequest(expiry=1, site=self.basesite,
                              parameters=self.parms)
     self.expreq = CachedRequest(expiry=0, site=self.basesite,
                                 parameters=self.parms)
     self.diffreq = CachedRequest(
         expiry=1, site=self.basesite,
         parameters={'action': 'query', 'meta': 'siteinfo'})
     self.diffsite = CachedRequest(
         expiry=1, site=self.altsite,
         parameters={'action': 'query', 'meta': 'userinfo'})
     # When using ** the paramters are still unicode
     self.deprecated_explicit = CachedRequest(
         expiry=1, site=self.basesite, action='query', meta='userinfo')
     self.deprecated_asterisks = CachedRequest(
         expiry=1, site=self.basesite, **self.parms)
开发者ID:AbdealiJK,项目名称:pywikibot-core,代码行数:20,代码来源:dry_api_tests.py


示例11: test_unicode

    def test_unicode(self):
        self.mocksite._userinfo = {"name": "محمد الفلسطيني"}
        self.mocksite._loginstatus = 0

        req = CachedRequest(expiry=1, site=self.mocksite, action="query", meta="siteinfo")
        en_user_path = req._cachefile_path()

        self.mocksite._namespaces = {2: ["مستخدم"]}

        req = CachedRequest(expiry=1, site=self.mocksite, action="query", meta="siteinfo")

        expect = "MockSite()User(User:محمد الفلسطيني)" + "[('action', 'query'), ('meta', 'siteinfo')]"

        self.assertEqual(repr(req._uniquedescriptionstr()), repr(expect))

        self.assertEqual(req._uniquedescriptionstr().encode("utf-8"), expect.encode("utf-8"))

        ar_user_path = req._cachefile_path()

        self.assertEqual(en_user_path, ar_user_path)
开发者ID:emijrp,项目名称:pywikibot-core,代码行数:20,代码来源:dry_api_tests.py


示例12: test_cachefile_path_different_users

    def test_cachefile_path_different_users(self):
        req = CachedRequest(expiry=1, site=self.mocksite,
                            action='query', meta='siteinfo')
        anonpath = req._cachefile_path()

        self.mocksite._userinfo = {'name': u'MyUser'}
        self.mocksite._loginstatus = 0
        req = CachedRequest(expiry=1, site=self.mocksite,
                            action='query', meta='siteinfo')
        userpath = req._cachefile_path()

        self.assertNotEqual(anonpath, userpath)

        self.mocksite._userinfo = {'name': u'MySysop'}
        self.mocksite._loginstatus = 1
        req = CachedRequest(expiry=1, site=self.mocksite,
                            action='query', meta='siteinfo')
        sysoppath = req._cachefile_path()

        self.assertNotEqual(anonpath, sysoppath)
        self.assertNotEqual(userpath, sysoppath)
开发者ID:skamithi,项目名称:pywikibot-core,代码行数:21,代码来源:dry_api_tests.py


示例13: test_cachefile_path_different_users

    def test_cachefile_path_different_users(self):
        """Test and compare the file paths when different usernames are used."""
        req = CachedRequest(expiry=1, site=self.mocksite,
                            parameters={'action': 'query', 'meta': 'siteinfo'})
        anonpath = req._cachefile_path()

        self.mocksite._userinfo = {'name': u'MyUser'}
        self.mocksite._loginstatus = 0
        req = CachedRequest(expiry=1, site=self.mocksite,
                            parameters={'action': 'query', 'meta': 'siteinfo'})
        userpath = req._cachefile_path()

        self.assertNotEqual(anonpath, userpath)

        self.mocksite._userinfo = {'name': u'MySysop'}
        self.mocksite._loginstatus = 1
        req = CachedRequest(expiry=1, site=self.mocksite,
                            parameters={'action': 'query', 'meta': 'siteinfo'})
        sysoppath = req._cachefile_path()

        self.assertNotEqual(anonpath, sysoppath)
        self.assertNotEqual(userpath, sysoppath)
开发者ID:AbdealiJK,项目名称:pywikibot-core,代码行数:22,代码来源:dry_api_tests.py


示例14: test_unicode

    def test_unicode(self):
        self.mocksite._userinfo = {'name': u'محمد الفلسطيني'}
        self.mocksite._loginstatus = 0

        req = CachedRequest(expiry=1, site=self.mocksite,
                            action='query', meta='siteinfo')
        en_user_path = req._cachefile_path()

        self.mocksite._namespaces = {2: [u'مستخدم']}

        req = CachedRequest(expiry=1, site=self.mocksite,
                            action='query', meta='siteinfo')

        expect = u'MockSite()User(User:محمد الفلسطيني)' + \
                  "[('action', 'query'), ('meta', 'siteinfo')]"

        self.assertEqual(repr(req._uniquedescriptionstr()), repr(expect))

        self.assertEqual(req._uniquedescriptionstr().encode('utf-8'),
                         expect.encode('utf-8'))

        ar_user_path = req._cachefile_path()

        self.assertEqual(en_user_path, ar_user_path)
开发者ID:Exal117,项目名称:pywikibot-core,代码行数:24,代码来源:dry_api_tests.py


示例15: load_tests

            test_list.append(module_class_name)

    tests = loader.loadTestsFromNames(test_list)
    suite = unittest.TestSuite()
    suite.addTests(tests)
    return suite


def load_tests(loader=unittest.loader.defaultTestLoader,
               tests=None, pattern=None):
    """Load the default modules."""
    return collector(loader)


CachedRequest._get_cache_dir = staticmethod(
    lambda *args: CachedRequest._make_dir(_cache_dir))


# Travis-CI builds are set to retry twice, which aims to reduce the number
# of 'red' builds caused by intermittant server problems, while also avoiding
# the builds taking a long time due to retries.
# The following allows builds to retry twice, but higher default values are
# overridden here to restrict retries to only 1, so developer builds fail more
# frequently in code paths resulting from mishandled server problems.
if config.max_retries > 2:
    print('max_retries reduced from %d to 1 for tests' % config.max_retries)
    config.max_retries = 1

cache_misses = 0
cache_hits = 0
开发者ID:rubin16,项目名称:pywikibot-core,代码行数:30,代码来源:__init__.py


示例16: DryCachedRequestTests

class DryCachedRequestTests(SiteAttributeTestCase):

    """Test CachedRequest using real site objects."""

    sites = {
        'basesite': {
            'family': 'wikipedia',
            'code': 'en',
        },
        'altsite': {
            'family': 'wikipedia',
            'code': 'de',
        },
    }

    dry = True

    def setUp(self):
        """Initialize the fake requests."""
        super(DryCachedRequestTests, self).setUp()
        self.parms = {'action': 'query',
                      'meta': 'userinfo'}
        self.req = CachedRequest(expiry=1, site=self.basesite,
                                 parameters=self.parms)
        self.expreq = CachedRequest(expiry=0, site=self.basesite,
                                    parameters=self.parms)
        self.diffreq = CachedRequest(
            expiry=1, site=self.basesite,
            parameters={'action': 'query', 'meta': 'siteinfo'})
        self.diffsite = CachedRequest(
            expiry=1, site=self.altsite,
            parameters={'action': 'query', 'meta': 'userinfo'})
        # When using ** the paramters are still unicode
        self.deprecated_explicit = CachedRequest(
            expiry=1, site=self.basesite, action='query', meta='userinfo')
        self.deprecated_asterisks = CachedRequest(
            expiry=1, site=self.basesite, **self.parms)

    def test_expiry_formats(self):
        """Test using a timedelta as expiry."""
        self.assertEqual(self.req.expiry,
                         CachedRequest(datetime.timedelta(days=1), site=self.basesite,
                                       parameters=self.parms).expiry)

    def test_expired(self):
        """Test if the request is expired."""
        self.assertFalse(self.req._expired(datetime.datetime.now()))
        self.assertTrue(self.req._expired(datetime.datetime.now() - datetime.timedelta(days=2)))

    def test_parameter_types(self):
        """Test _uniquedescriptionstr is identical using different ways."""
        # This test is done as create_file_name and cachefile_path only use
        # the hashed name which is not very helpful
        self.assertEqual(self.req._uniquedescriptionstr(),
                         self.req._uniquedescriptionstr())
        self.assertEqual(self.req._uniquedescriptionstr(),
                         self.expreq._uniquedescriptionstr())
        self.assertEqual(self.req._uniquedescriptionstr(),
                         self.deprecated_explicit._uniquedescriptionstr())
        self.assertEqual(self.req._uniquedescriptionstr(),
                         self.deprecated_asterisks._uniquedescriptionstr())
        self.assertNotEqual(self.req._uniquedescriptionstr(),
                            self.diffreq._uniquedescriptionstr())
        self.assertNotEqual(self.req._uniquedescriptionstr(),
                            self.diffsite._uniquedescriptionstr())

    def test_get_cache_dir(self):
        """Test that 'apicache' is in the cache dir."""
        retval = self.req._get_cache_dir()
        self.assertIn('apicache', retval)

    def test_create_file_name(self):
        """Test the file names for the cache."""
        self.assertEqual(self.req._create_file_name(), self.req._create_file_name())
        self.assertEqual(self.req._create_file_name(), self.expreq._create_file_name())
        self.assertEqual(self.req._create_file_name(),
                         self.deprecated_explicit._create_file_name())
        self.assertEqual(self.req._create_file_name(),
                         self.deprecated_asterisks._create_file_name())
        self.assertNotEqual(self.req._create_file_name(), self.diffreq._create_file_name())

    def test_cachefile_path(self):
        """Test the file paths for the cache."""
        self.assertEqual(self.req._cachefile_path(), self.req._cachefile_path())
        self.assertEqual(self.req._cachefile_path(), self.expreq._cachefile_path())
        self.assertEqual(self.req._cachefile_path(),
                         self.deprecated_explicit._cachefile_path())
        self.assertEqual(self.req._cachefile_path(),
                         self.deprecated_asterisks._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffsite._cachefile_path())
开发者ID:AbdealiJK,项目名称:pywikibot-core,代码行数:91,代码来源:dry_api_tests.py


示例17: DryAPITests

class DryAPITests(unittest.TestCase):

    def setUp(self):
        self.basesite = pywikibot.Site('en', 'wikipedia')
        self.altsite = pywikibot.Site('de', 'wikipedia')
        self.parms = {'site': self.basesite,
                      'action': 'query',
                      'meta': 'userinfo'}
        self.req = CachedRequest(expiry=1, **self.parms)
        self.expreq = CachedRequest(expiry=0, **self.parms)
        self.diffreq = CachedRequest(expiry=1, site=self.basesite, action='query', meta='siteinfo')
        self.diffsite = CachedRequest(expiry=1, site=self.altsite, action='query', meta='userinfo')

    def test_expiry_formats(self):
        self.assertEqual(self.req.expiry, CachedRequest(datetime.timedelta(days=1), **self.parms).expiry)

    def test_get_cache_dir(self):
        retval = self.req._get_cache_dir()
        self.assertIn('apicache', retval)

    def test_create_file_name(self):
        self.assertEqual(self.req._create_file_name(), self.req._create_file_name())
        self.assertEqual(self.req._create_file_name(), self.expreq._create_file_name())
        self.assertNotEqual(self.req._create_file_name(), self.diffreq._create_file_name())

    def test_cachefile_path(self):
        self.assertEqual(self.req._cachefile_path(), self.req._cachefile_path())
        self.assertEqual(self.req._cachefile_path(), self.expreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffsite._cachefile_path())

    def test_cachefile_path_different_users(self):
        # Mock basesite object to test this.
        class MockSite(pywikibot.site.APISite):

            _loginstatus = pywikibot.site.LoginStatus.NOT_ATTEMPTED

            _namespaces = {2: 'User'}

            def __init__(self):
                self._user = 'anon'

            def user(self):
                return self._user

            def encoding(self):
                return 'utf-8'

            def encodings(self):
                return []

            def _getsiteinfo(self):
                self._siteinfo = {'case': 'first-letter'}
                return {}

            def __repr__(self):
                return "MockSite()"

            def __getattr__(self, attr):
                raise Exception("Attribute %r not defined" % attr)

        site = MockSite()
        req = CachedRequest(expiry=1, site=site, action='query', meta='siteinfo')
        anonpath = req._cachefile_path()

        site._userinfo = {'name': u'user'}
        site._loginstatus = 0
        req = CachedRequest(expiry=1, site=site, action='query', meta='siteinfo')
        userpath = req._cachefile_path()

        self.assertNotEqual(anonpath, userpath)

        site._userinfo = {'name': u'sysop'}
        site._loginstatus = 1
        req = CachedRequest(expiry=1, site=site, action='query', meta='siteinfo')
        sysoppath = req._cachefile_path()

        self.assertNotEqual(anonpath, sysoppath)
        self.assertNotEqual(userpath, sysoppath)

    def test_expired(self):
        self.assertFalse(self.req._expired(datetime.datetime.now()))
        self.assertTrue(self.req._expired(datetime.datetime.now() - datetime.timedelta(days=2)))

    def test_query_constructor(self):
        qGen1 = QueryGenerator(action="query", meta="siteinfo")
        qGen2 = QueryGenerator(meta="siteinfo")
        self.assertEqual(str(qGen1.request), str(qGen2.request))
开发者ID:APerson241,项目名称:pywikibot-core,代码行数:88,代码来源:dry_api_tests.py


示例18: DryAPITests

class DryAPITests(unittest.TestCase):

    def setUp(self):
        self.parms = {'site': pywikibot.Site('en'),
                      'action': 'query',
                      'meta': 'userinfo'}
        self.req = CachedRequest(expiry=1, **self.parms)
        self.expreq = CachedRequest(expiry=0, **self.parms)
        self.diffreq = CachedRequest(expiry=1, site=pywikibot.Site('en'), action='query', meta='siteinfo')
        self.diffsite = CachedRequest(expiry=1, site=pywikibot.Site('de'), action='query', meta='userinfo')

    def test_expiry_formats(self):
        self.assertEqual(self.req.expiry, CachedRequest(datetime.timedelta(days=1), **self.parms).expiry)

    def test_get_cache_dir(self):
        retval = self.req._get_cache_dir()
        self.assertIn('apicache', retval)

    def test_create_file_name(self):
        self.assertEqual(self.req._create_file_name(), self.req._create_file_name())
        self.assertEqual(self.req._create_file_name(), self.expreq._create_file_name())
        self.assertNotEqual(self.req._create_file_name(), self.diffreq._create_file_name())

    def test_cachefile_path(self):
        self.assertEqual(self.req._cachefile_path(), self.req._cachefile_path())
        self.assertEqual(self.req._cachefile_path(), self.expreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffsite._cachefile_path())

    def test_expired(self):
        self.assertFalse(self.req._expired(datetime.datetime.now()))
        self.assertTrue(self.req._expired(datetime.datetime.now() - datetime.timedelta(days=2)))
开发者ID:Aaron1011,项目名称:pywikibot-core,代码行数:32,代码来源:dry_api_tests.py


示例19: DryCachedRequestTests

class DryCachedRequestTests(TestCase):

    """Test CachedRequest using real site objects."""

    sites = {
        'basesite': {
            'family': 'wikipedia',
            'code': 'en',
        },
        'altsite': {
            'family': 'wikipedia',
            'code': 'de',
        },
    }

    dry = True

    def setUp(self):
        super(DryCachedRequestTests, self).setUp()
        self.basesite = self.get_site('basesite')
        self.altsite = self.get_site('altsite')
        self.parms = {'site': self.basesite,
                      'action': 'query',
                      'meta': 'userinfo'}
        self.req = CachedRequest(expiry=1, **self.parms)
        self.expreq = CachedRequest(expiry=0, **self.parms)
        self.diffreq = CachedRequest(expiry=1, site=self.basesite, action='query', meta='siteinfo')
        self.diffsite = CachedRequest(expiry=1, site=self.altsite, action='query', meta='userinfo')

    def test_expiry_formats(self):
        self.assertEqual(self.req.expiry, CachedRequest(datetime.timedelta(days=1), **self.parms).expiry)

    def test_expired(self):
        self.assertFalse(self.req._expired(datetime.datetime.now()))
        self.assertTrue(self.req._expired(datetime.datetime.now() - datetime.timedelta(days=2)))

    def test_get_cache_dir(self):
        retval = self.req._get_cache_dir()
        self.assertIn('apicache', retval)

    def test_create_file_name(self):
        self.assertEqual(self.req._create_file_name(), self.req._create_file_name())
        self.assertEqual(self.req._create_file_name(), self.expreq._create_file_name())
        self.assertNotEqual(self.req._create_file_name(), self.diffreq._create_file_name())

    def test_cachefile_path(self):
        self.assertEqual(self.req._cachefile_path(), self.req._cachefile_path())
        self.assertEqual(self.req._cachefile_path(), self.expreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffsite._cachefile_path())
开发者ID:skamithi,项目名称:pywikibot-core,代码行数:50,代码来源:dry_api_tests.py


示例20: DryAPITests

class DryAPITests(unittest.TestCase):

    def setUp(self):
        self.basesite = pywikibot.Site('en', 'wikipedia')
        self.altsite = pywikibot.Site('de', 'wikipedia')
        self.parms = {'site': self.basesite,
                      'action': 'query',
                      'meta': 'userinfo'}
        self.req = CachedRequest(expiry=1, **self.parms)
        self.expreq = CachedRequest(expiry=0, **self.parms)
        self.diffreq = CachedRequest(expiry=1, site=self.basesite, action='query', meta='siteinfo')
        self.diffsite = CachedRequest(expiry=1, site=self.altsite, action='query', meta='userinfo')

    def test_expiry_formats(self):
        self.assertEqual(self.req.expiry, CachedRequest(datetime.timedelta(days=1), **self.parms).expiry)

    def test_get_cache_dir(self):
        retval = self.req._get_cache_dir()
        self.assertIn('apicache', retval)

    def test_create_file_name(self):
        self.assertEqual(self.req._create_file_name(), self.req._create_file_name())
        self.assertEqual(self.req._create_file_name(), self.expreq._create_file_name())
        self.assertNotEqual(self.req._create_file_name(), self.diffreq._create_file_name())

    def test_cachefile_path(self):
        self.assertEqual(self.req._cachefile_path(), self.req._cachefile_path())
        self.assertEqual(self.req._cachefile_path(), self.expreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffreq._cachefile_path())
        self.assertNotEqual(self.req._cachefile_path(), self.diffsite._cachefile_path())

    def test_expired(self):
        self.assertFalse(self.req._expired(datetime.datetime.now()))
        self.assertTrue(self.req._expired(datetime.datetime.now() - datetime.timedelta(days=2)))

    def test_query_constructor(self):
        qGen1 = QueryGenerator(action="query", meta="siteinfo")
        qGen2 = QueryGenerator(meta="siteinfo")
        self.assertEqual(str(qGen1.request), str(qGen2.request))
开发者ID:blueprintmrk,项目名称:pywikibot-core,代码行数:39,代码来源:dry_api_tests.py



注:本文中的pywikibot.data.api.CachedRequest类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python api.Request类代码示例发布时间:2022-05-26
下一篇:
Python config.datafilepath函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap