def bounty_lookup(vendor): key = '%s-bounties' % vendor val = cache.read(key) if val is not None: return val try: bounties = read_bounty_tables(vendor) except ScrapeError as e: return e bounty_template = '%(name)s - %(desc)s' bounty_output = [] for name, desc in bounties.items(): line = bounty_template % {'name': name, 'desc': desc} bounty_output.append(line) out = '\n'.join(bounty_output) expiry = datetime.datetime.now() + datetime.timedelta(hours=1) cache.write(key, out, expiry) return out
def test_writing_with_newer_expire(): cache.write('test', '1', tomorrow) result = cache.write('test', '2', today) assert result == False val = cache.read('test') assert val == '1'
def _save_cache(self, inventory_path, ssh_config_path, errors): max_age = self.ops_config.get('inventory.max_age') if not max_age: return inventory_path, ssh_config_path display.display("Caching inventory location to %s for %d seconds" % (self.cache_location, max_age), color='blue', stderr=True) caching.write( self.cache_location, dict(inventory_path=inventory_path, ssh_config_path=ssh_config_path, errors=errors)) return inventory_path, ssh_config_path
def test_writing_expires_old_value(): cache.write('test', '1', yesterday) cache.write('test', '2', tomorrow) value = cache.read('test') assert value == '2'
def test_reading_expires_old_value(): cache.write('test', '1', yesterday) value = cache.read('test') assert value == None
def test_write(): cache.write('test', '92', tomorrow) value = cache.read('test') assert value == '92'