[notes][spam] pursuing dgit/gitopia
Undiscussed Horrific Abuse, One Victim of Many
gmkarl at gmail.com
Tue Feb 15 02:56:33 PST 2022
# This is where I am right now.
# It shows tx ids, in theory, didn't find one on a block explorer, but
not commit hashes.
# This sourcefile is in https://github.com/xloem/gitlakepy under
scripts/git-remote-arweave
# This content is commit 67efbad6b03ed7a0ad53fac83a79d5b845ba177b
#!/usr/bin/env python3
import json
import requests
GRAPHQL_URI='https://arweave.net/graphql'
def get_page(uri, Type, cursor=''):
resp = requests.post(uri,
json={'query':'''
query {
transactions(
tags: [
{ name: "Type", values: [''' + json.dumps(Type) + '''] }
]
after: ''' + json.dumps(cursor) + '''
) {
edges {
node {
id
owner {
address
}
tags {
name
value
}
}
cursor
}
}
}
'''}
)
cursor = None
data = resp.json()
if 'data' not in data:
raise Exception(data)
edges = data['data']['transactions']['edges']
if len(edges):
cursor = edges[-1]['cursor']
objects = [
dict(
txid = node['id'],
owner = node['owner']['address'],
tags = {tag['name']: tag['value'] for tag in node['tags']}
)
for node in (edge['node'] for edge in edges)
]
return objects, cursor
def yield_all(uri, Type):
cursor = None
while True:
objs, cursor = get_page(uri, Type, cursor = cursor)
if not len(objs):
break
yield from objs
for obj in yield_all(GRAPHQL_URI, 'update-ref'):
print(obj)
raise Exception('===> This is just a prototype to show git updates
from arweave. <===')
More information about the cypherpunks
mailing list