本文整理匯總了Python中workflow.workflow.Workflow.cache_data方法的典型用法代碼示例。如果您正苦於以下問題:Python Workflow.cache_data方法的具體用法?Python Workflow.cache_data怎麽用?Python Workflow.cache_data使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類workflow.workflow.Workflow
的用法示例。
在下文中一共展示了Workflow.cache_data方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: WorkflowTests
# 需要導入模塊: from workflow.workflow import Workflow [as 別名]
# 或者: from workflow.workflow.Workflow import cache_data [as 別名]
#.........這裏部分代碼省略.........
try:
wf = Workflow()
cachepath = wf.cachefile('somedir')
os.makedirs(cachepath)
wf.cached_data('test', somedata)
self.assertTrue(os.path.exists(wf.cachefile('test.cpickle')))
self.assertRaises(SystemExit, lambda wf: wf.args, wf)
self.assertFalse(os.path.exists(wf.cachefile('test.cpickle')))
finally:
sys.argv = oargs[:]
def test_logger(self):
"""Logger"""
self.assert_(isinstance(self.wf.logger, logging.Logger))
logger = logging.Logger('')
self.wf.logger = logger
self.assertEqual(self.wf.logger, logger)
####################################################################
# Cached data
####################################################################
def test_cached_data(self):
"""Cached data stored"""
data = {'key1': 'value1'}
d = self.wf.cached_data('test', lambda: data, max_age=10)
self.assertEqual(data, d)
def test_cached_data_deleted(self):
"""Cached data deleted"""
data = {'key1': 'value1'}
d = self.wf.cached_data('test', lambda: data, max_age=10)
self.assertEqual(data, d)
ret = self.wf.cache_data('test', None)
self.assertEquals(ret, None)
self.assertFalse(os.path.exists(self.wf.cachefile('test.cpickle')))
# Test alternate code path for non-existent file
self.assertEqual(self.wf.cache_data('test', None), None)
def test_delete_all_cache_file(self):
"""Cached data are all deleted"""
data = {'key1': 'value1'}
test_file1 = 'test1.cpickle'
test_file2 = 'test2.cpickle'
self.wf.cached_data('test1', lambda: data, max_age=10)
self.wf.cached_data('test2', lambda: data, max_age=10)
self.assertTrue(os.path.exists(self.wf.cachefile(test_file1)))
self.assertTrue(os.path.exists(self.wf.cachefile(test_file2)))
self.wf.clear_cache()
self.assertFalse(os.path.exists(self.wf.cachefile(test_file1)))
self.assertFalse(os.path.exists(self.wf.cachefile(test_file2)))
def test_delete_all_cache_file_with_filter_func(self):
"""Only part of cached data are deleted"""
data = {'key1': 'value1'}
test_file1 = 'test1.cpickle'
test_file2 = 'test2.cpickle'
def filter_func(file):
if file == test_file1:
return True
else:
return False
self.wf.cached_data('test1', lambda: data, max_age=10)
示例2: WorkflowTests
# 需要導入模塊: from workflow.workflow import Workflow [as 別名]
# 或者: from workflow.workflow.Workflow import cache_data [as 別名]
#.........這裏部分代碼省略.........
def somedata():
return {'arg1': 'value1'}
try:
wf = Workflow()
cachepath = wf.cachefile('somedir')
os.makedirs(cachepath)
wf.cached_data('test', somedata)
self.assertTrue(os.path.exists(wf.cachefile('test.cpickle')))
with self.assertRaises(SystemExit):
wf.args
self.assertFalse(os.path.exists(wf.cachefile('test.cpickle')))
finally:
sys.argv = oargs[:]
def test_logger(self):
"""Logger"""
self.assert_(isinstance(self.wf.logger, logging.Logger))
logger = logging.Logger('')
self.wf.logger = logger
self.assertEqual(self.wf.logger, logger)
def test_cached_data(self):
"""Cached data stored"""
data = {'key1': 'value1'}
d = self.wf.cached_data('test', lambda: data, max_age=10)
self.assertEqual(data, d)
def test_cached_data_deleted(self):
"""Cached data deleted"""
data = {'key1': 'value1'}
d = self.wf.cached_data('test', lambda: data, max_age=10)
self.assertEqual(data, d)
ret = self.wf.cache_data('test', None)
self.assertEquals(ret, None)
self.assertFalse(os.path.exists(self.wf.cachefile('test.cpickle')))
# Test alternate code path for non-existent file
self.assertEqual(self.wf.cache_data('test', None), None)
def test_cached_data_callback(self):
"""Cached data callback"""
called = {'called': False}
data = [1, 2, 3]
def getdata():
called['called'] = True
return data
d = self.wf.cached_data('test', getdata, max_age=10)
self.assertEqual(d, data)
self.assertTrue(called['called'])
def test_cached_data_no_callback(self):
"""Cached data no callback"""
d = self.wf.cached_data('nonexistent', None)
self.assertEqual(d, None)
def test_cache_expires(self):
"""Cached data expires"""
data = ('hello', 'goodbye')
called = {'called': False}
def getdata():
called['called'] = True
return data
示例3: WorkflowTests
# 需要導入模塊: from workflow.workflow import Workflow [as 別名]
# 或者: from workflow.workflow.Workflow import cache_data [as 別名]
#.........這裏部分代碼省略.........
def somedata():
return {'arg1': 'value1'}
try:
wf = Workflow()
cachepath = wf.cachefile('somedir')
os.makedirs(cachepath)
wf.cached_data('test', somedata)
self.assertTrue(os.path.exists(wf.cachefile('test.cache')))
with self.assertRaises(SystemExit):
wf.args
self.assertFalse(os.path.exists(wf.cachefile('test.cache')))
finally:
sys.argv = oargs[:]
def test_logger(self):
"""Logger"""
self.assert_(isinstance(self.wf.logger, logging.Logger))
logger = logging.Logger('')
self.wf.logger = logger
self.assertEqual(self.wf.logger, logger)
def test_cached_data(self):
"""Cached data stored"""
data = {'key1': 'value1'}
d = self.wf.cached_data('test', lambda: data, max_age=10)
self.assertEqual(data, d)
def test_cached_data_deleted(self):
"""Cached data deleted"""
data = {'key1': 'value1'}
d = self.wf.cached_data('test', lambda: data, max_age=10)
self.assertEqual(data, d)
ret = self.wf.cache_data('test', None)
self.assertEquals(ret, None)
self.assertFalse(os.path.exists(self.wf.cachefile('test.cache')))
# Test alternate code path for non-existent file
self.assertEqual(self.wf.cache_data('test', None), None)
def test_cached_data_callback(self):
"""Cached data callback"""
called = {'called': False}
data = [1, 2, 3]
def getdata():
called['called'] = True
return data
d = self.wf.cached_data('test', getdata, max_age=10)
self.assertEqual(d, data)
self.assertTrue(called['called'])
def test_cached_data_no_callback(self):
"""Cached data no callback"""
d = self.wf.cached_data('nonexistent', None)
self.assertEqual(d, None)
def test_cache_expires(self):
"""Cached data expires"""
data = ('hello', 'goodbye')
called = {'called': False}
def getdata():
called['called'] = True
return data