Beispiel #1
0
def latests_by_hash_from_history_by_gpath(history_by_gpath):
    latests_by_hash = {}
    for history in history_by_gpath.itervalues():
        latest = history.latest
        if latest.hash:
            setdefault(latests_by_hash, latest.hash, set).add(latest)
    return latests_by_hash
Beispiel #2
0
def entries_by_hash_from_history_by_gpath(history_by_gpath):
    entries_by_hash = {}
    for history in history_by_gpath.itervalues():
        for entry in history:
            if entry.hash:
                setdefault(entries_by_hash, entry.hash, set).add(entry)
    return entries_by_hash
Beispiel #3
0
 def read_entries(self, peerid):
     cached = setdefault(self.cache_by_peerid, peerid, lambda: \
                         HistoryCache(list(self.select_entries(peerid))))
     # copy list for thread safety
     return list(cached.entries)
Beispiel #4
0
 def read_entries(self, peerid):
     cached = setdefault(self.cache_by_peerid, peerid, lambda: \
                         HistoryCache(list(self.select_entries(peerid))))
     # copy list for thread safety
     return list(cached.entries)