def load_full_proto(timestamp, java_application=False):
 full_key = (make_key(timestamp) + config.FULL_SUFFIX)
 if java_application:
  full_key = (('"' + full_key) + '"')
 full_binary = memcache.get(full_key, namespace=config.KEY_NAMESPACE)
 if (full_binary is None):
  logging.debug('No full record at %s', full_key)
  return None
 try:
  full = StatsProto(full_binary)
 except Exception as err:
  logging.warn('Bad full record at %s: %s', full_key, err)
  return None
 if (full.start_timestamp_milliseconds() != int((timestamp * 1000))):
  logging.debug('Hash collision, record at %d has timestamp %d', int((timestamp * 1000)), full.start_timestamp_milliseconds())
  return None
 return full

def load_full_proto ( timestamp , java_application = False ) : full_key = ( make_key ( timestamp ) + config . FULL_SUFFIX ) if java_application : full_key = ( ( '"' + full_key ) + '"' ) full_binary = memcache . get ( full_key , namespace = config . KEY_NAMESPACE ) if ( full_binary is None ) : logging . debug ( 'No full record at %s' , full_key ) return None try : full = StatsProto ( full_binary ) except Exception as err : logging . warn ( 'Bad full record at %s: %s' , full_key , err ) return None if ( full . start_timestamp_milliseconds ( ) != int ( ( timestamp * 1000 ) ) ) : logging . debug ( 'Hash collision, record at %d has timestamp %d' , int ( ( timestamp * 1000 ) ) , full . start_timestamp_milliseconds ( ) ) return None return full
load the full record for a given timestamp .