```
~ --> cat bin/betulagorize.sh
#!/bin/sh
python3 ~/bin/betulagora.py
cd ~/bookmarks/betulagora-bouncepaw
git add .
git commit -m "Sync `date`"
git push
cd ~/bookmarks/betulagora-flancian
git add .
git commit -m "Sync `date`"
git push
```
```
~ --> cat bin/betulagora.py
#!/usr/bin/env python3
import json
import os
import requests
lost_posts = 0
def write_file(emit_dir, name, url, body):
filename = emit_dir + name + '.myco'
try:
file = open(filename, 'a')
file.write('= ')
file.write(name)
file.write('\n')
file.write(url)
file.write('\n\n')
file.write(body)
file.close()
except OSError:
print('Could not write to file ' + filename)
except Exception as e:
print('Weird exception', e)
def process(domain, emit_dir, item):
global lost_posts
id = int(item['url'].rsplit('/', 1)[-1])
try:
body = requests.get(f'https://{domain}/text/' + str(id)).text
except Exception as e:
print('While fetching body:', e)
name = ''
try:
name = item['name']
except Exception as e:
print('While getting name:', e)
try:
write_file(emit_dir, str(id), item['bookmark-of'][0], body)
write_file(emit_dir, name, item['bookmark-of'][0], body)
print('Processed ' + str(id) + ': ' + item['name'])
except Exception:
lost_posts += 1
print(item)
def agorize(domain, emit_dir):
json_url = f'https://xray.p3k.app/parse?url=https%3A%2F%2F{domain}'
json_doc = requests.get(json_url).text
items = json.loads(json_doc)['data']['items']
for file in os.listdir(emit_dir):
filename = os.fsdecode(file)
if filename == '.git':
continue
os.remove(emit_dir + filename)
for item in items:
process(domain, emit_dir, item)
# domain git repo
agorize('links.flancia.org', '/home/forester/bookmarks/betulagora-flancian/')
agorize('links.bouncepaw.com', '/home/forester/bookmarks/betulagora-bouncepaw/')
```