Ответ на комментарий от Andrew Lobanov
Хэш в блеклисте это вообще ничего не меняет, нужны же "сообщения от", если в файле эхи сообщение есть, то от него и пойдёт. Если хэша нет, то отдастся вся эха. По сравнению с текущим случаем, преимуществ два - хэш гораздо более надёжный источник, чем количество сообщений, и не сработает только в одном случае: если конкретная нода инъектировала в эху сообщения сверху - но на это нужно иметь настолько серьёзные основания, что это повод говорить об этом в сисопской эхе. Ну и второе - точно отдадутся только самые новые сообщения, одним запросом (я думал, реализация срезов вообще не так работает, в текущем виде она вообще какая-то непонятная, почему на все эхи один лимит, если сообщений в базе мало)
реализация и sf и lim у меня это всего несколько строчек.
было
Ответы на это сообщение:
ahamai (2024-10-30 18:49:16)
Andrew Lobanov (2024-10-31 05:21:38)
реализация и sf и lim у меня это всего несколько строчек.
было
def echoareas(names): out = '' for ea in names: out += ea + '\n' + get_echoarea(ea,True) return outстало
def echoareas(names, sf, lim=0): out = '' if sf: sf = set(sf.split('/')) for ea in names: dllist = get_echoarea_f(ea) if sf: newhash = [x for x in dllist if x in sf] if newhash: dllist = dllist[dllist.index(newhash[0]):] if lim: dllist = dllist[-lim:] dllist = '\n'.join(dllist) if dllist: dllist += '\n' out += ea + '\n' + dllist return outне использовалось это никогда потому что я не вижу смысла экономить и так копеечный трафик. но на такой случай реализация в моей станции была
ahamai (2024-10-30 18:42:57)
[Ответить]