mirror of
https://github.com/believethehype/nostrdvm.git
synced 2025-03-29 11:01:41 +01:00
adding more paid relays to avoid in inbox, optimizng wos test code
This commit is contained in:
parent
fcf796b800
commit
5c0acd82a6
@ -43,12 +43,17 @@ AVOID_PAID_OUTBOX_RELAY_LIST = ["wss://nostrelay.yeghro.site", "wss://nostr.wine
|
||||
"wss://nostr.thesamecat.io", "wss://nostr.plebchain.org", "wss://relay.noswhere.com", "wss://nostr.uselessshit.co",
|
||||
"wss://bitcoiner.social", "wss://relay.stoner.com", "wss://nostr.l00p.org", "wss://relay.nostr.ro", "wss://nostr.kollider.xyz",
|
||||
"wss://relay.valera.co", "wss://relay.austrich.net", "wss://relay.nostrich.de", "wss://nostr.azte.co", "wss://nostr-relay.schnitzel.world",
|
||||
"wss://relay.nostriches.org", "wss://happytavern.co", "wss://onlynotes.lol", "wss://offchain.pub", "wss://purplepag.es", "wss://relay.plebstr.com"
|
||||
"wss://poster.place/relay", "wss://relayable.org", "wss://bbb.santos.lol", "wss://relay.bitheaven.social", "wss://theforest.nostr1.com"
|
||||
|
||||
|
||||
|
||||
"wss://relay.nostriches.org", "wss://happytavern.co", "wss://onlynotes.lol", "wss://offchain.pub", "wss://purplepag.es", "wss://relay.plebstr.com",
|
||||
"wss://poster.place/relay", "wss://relayable.org", "wss://bbb.santos.lol", "wss://relay.bitheaven.social", "wss://theforest.nostr1.com",
|
||||
"wss://relay.nostrati.com", "wss://purplerelay.com", "wss://hist.nostr.land", "wss://creatr.nostr.wine", "ws://localhost:4869",
|
||||
"wss://pyramid.fiatjaf.com", "wss://relay.nos.social", "wss://nostr.thank.eu"
|
||||
]
|
||||
|
||||
RECONCILE_DB_RELAY_LIST = ["wss://relay.damus.io",
|
||||
"wss://nostr.oxtr.dev", "wss://relay.nostr.bg",
|
||||
"wss://relay.nostr.net", "wss://relay.primal.net"] # , "wss://relay.snort.social"]
|
||||
|
||||
|
||||
if use_logger:
|
||||
init_logger(LogLevel.ERROR)
|
||||
|
||||
@ -61,6 +66,8 @@ def build_db_scheduler(name, identifier, admin_config, options, image, descripti
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
|
||||
# Activate these to use a subscription based model instead
|
||||
# dvm_config.SUBSCRIPTION_REQUIRED = True
|
||||
# dvm_config.SUBSCRIPTION_DAILY_COST = 1
|
||||
|
75
tests/wot.py
75
tests/wot.py
@ -123,12 +123,10 @@ def write_to_csv(friends, file="friends222.csv"):
|
||||
writer.writerow(row)
|
||||
|
||||
|
||||
def main(user_key, create_csv, get_profile = False, remove_followings_from_set = False):
|
||||
|
||||
def main(user_key, depth, update_db, create_csv, get_profile=False, remove_followings_from_set=False):
|
||||
file = "db/friends223.csv"
|
||||
# make sure key is in hex format
|
||||
|
||||
|
||||
if create_csv:
|
||||
# clear previous file
|
||||
try:
|
||||
@ -137,8 +135,8 @@ def main(user_key, create_csv, get_profile = False, remove_followings_from_set =
|
||||
except:
|
||||
print("Creating new file")
|
||||
# sync the database, this might take a while if it's empty or hasn't been updated in a long time
|
||||
asyncio.run(sync_db())
|
||||
|
||||
if update_db:
|
||||
asyncio.run(sync_db())
|
||||
|
||||
user_id = PublicKey.parse(user_key).to_hex()
|
||||
user_friends_level1 = asyncio.run(analyse_users([user_id]))
|
||||
@ -149,24 +147,23 @@ def main(user_key, create_csv, get_profile = False, remove_followings_from_set =
|
||||
|
||||
write_to_csv([me], file)
|
||||
|
||||
|
||||
# for every npub we follow, we look at the npubs they follow (this might take a while)
|
||||
friendlist2 = []
|
||||
for friend in user_friends_level1:
|
||||
for npub in friend.friends:
|
||||
friendlist2.append(npub)
|
||||
|
||||
user_friends_level2 = asyncio.run(analyse_users(friendlist2))
|
||||
write_to_csv(user_friends_level2, file)
|
||||
|
||||
friendlist3 = []
|
||||
for friend in user_friends_level2:
|
||||
for npub in friend.friends:
|
||||
friendlist3.append(npub)
|
||||
print(len(friendlist3))
|
||||
user_friends_level3 = asyncio.run(analyse_users(friendlist3))
|
||||
write_to_csv(user_friends_level3, file)
|
||||
if depth >= 2:
|
||||
friendlist2 = []
|
||||
for friend in user_friends_level1:
|
||||
for npub in friend.friends:
|
||||
friendlist2.append(npub)
|
||||
|
||||
user_friends_level2 = asyncio.run(analyse_users(friendlist2))
|
||||
write_to_csv(user_friends_level2, file)
|
||||
if depth >= 3:
|
||||
friendlist3 = []
|
||||
for friend in user_friends_level2:
|
||||
for npub in friend.friends:
|
||||
friendlist3.append(npub)
|
||||
print(len(friendlist3))
|
||||
user_friends_level3 = asyncio.run(analyse_users(friendlist3))
|
||||
write_to_csv(user_friends_level3, file)
|
||||
|
||||
df = pd.read_csv(file, sep=',')
|
||||
df.info()
|
||||
@ -183,32 +180,32 @@ def main(user_key, create_csv, get_profile = False, remove_followings_from_set =
|
||||
for npub in user_friends_level1[0].friends:
|
||||
friendlist.append(npub)
|
||||
|
||||
sorted_nodes = sorted([(node, pagerank) for node, pagerank in pr.items() if node not in friendlist], key=lambda x: pr[x[0]],
|
||||
sorted_nodes = sorted([(node, pagerank) for node, pagerank in pr.items() if node not in friendlist],
|
||||
key=lambda x: pr[x[0]],
|
||||
reverse=True)[:50]
|
||||
else:
|
||||
sorted_nodes = sorted([(node, pagerank) for node, pagerank in pr.items()], key=lambda x: pr[x[0]],
|
||||
reverse=True)[:50]
|
||||
|
||||
|
||||
|
||||
for node in sorted_nodes:
|
||||
try:
|
||||
pk = PublicKey.parse(node[0]).to_bech32()
|
||||
except:
|
||||
pk = node[0]
|
||||
try:
|
||||
pk = PublicKey.parse(node[0]).to_bech32()
|
||||
except:
|
||||
pk = node[0]
|
||||
|
||||
if get_profile:
|
||||
name, nip05, lud16 = asyncio.run(getmetadata(node[0]))
|
||||
print(name + " (" + pk + ") " + "," + str(node[1]))
|
||||
else:
|
||||
print(pk + "," + str(node[1]))
|
||||
if get_profile:
|
||||
name, nip05, lud16 = asyncio.run(getmetadata(node[0]))
|
||||
print(name + " (" + pk + ") " + "," + str(node[1]))
|
||||
else:
|
||||
print(pk + "," + str(node[1]))
|
||||
|
||||
|
||||
|
||||
user_id = "99bb5591c9116600f845107d31f9b59e2f7c7e09a1ff802e84f1d43da557ca64"
|
||||
#user_id = "npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z"
|
||||
|
||||
#user_id = "99bb5591c9116600f845107d31f9b59e2f7c7e09a1ff802e84f1d43da557ca64" #dbth
|
||||
#user_id = "npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z" #vitor
|
||||
user_id = "npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft" #pablo
|
||||
fetch_profiles = True
|
||||
create_csv = False
|
||||
create_csv = True
|
||||
remove_followings_from_set = True
|
||||
main(user_id, create_csv, fetch_profiles, remove_followings_from_set)
|
||||
depth = 2
|
||||
update_db = False
|
||||
main(user_id, depth, update_db, create_csv, fetch_profiles, remove_followings_from_set)
|
||||
|
Loading…
x
Reference in New Issue
Block a user