本文整理汇总了Python中pywikibot.data.api.CachedRequest._get_cache_dir方法的典型用法代码示例。如果您正苦于以下问题:Python CachedRequest._get_cache_dir方法的具体用法?Python CachedRequest._get_cache_dir怎么用?Python CachedRequest._get_cache_dir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pywikibot.data.api.CachedRequest
的用法示例。
在下文中一共展示了CachedRequest._get_cache_dir方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DryAPITests
# 需要导入模块: from pywikibot.data.api import CachedRequest [as 别名]
# 或者: from pywikibot.data.api.CachedRequest import _get_cache_dir [as 别名]
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)))
示例2: refresh_all
# 需要导入模块: from pywikibot.data.api import CachedRequest [as 别名]
# 或者: from pywikibot.data.api.CachedRequest import _get_cache_dir [as 别名]
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)
示例3: DryCachedRequestTests
# 需要导入模块: from pywikibot.data.api import CachedRequest [as 别名]
# 或者: from pywikibot.data.api.CachedRequest import _get_cache_dir [as 别名]
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())
示例4: DryAPITests
# 需要导入模块: from pywikibot.data.api import CachedRequest [as 别名]
# 或者: from pywikibot.data.api.CachedRequest import _get_cache_dir [as 别名]
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))
示例5: DryCachedRequestTests
# 需要导入模块: from pywikibot.data.api import CachedRequest [as 别名]
# 或者: from pywikibot.data.api.CachedRequest import _get_cache_dir [as 别名]
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):
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")
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())
示例6: DryCachedRequestTests
# 需要导入模块: from pywikibot.data.api import CachedRequest [as 别名]
# 或者: from pywikibot.data.api.CachedRequest import _get_cache_dir [as 别名]
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())
示例7: DryAPITests
# 需要导入模块: from pywikibot.data.api import CachedRequest [as 别名]
# 或者: from pywikibot.data.api.CachedRequest import _get_cache_dir [as 别名]
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))