#!/usr/bin/env python3
import lxml.html
import os
import re
import urllib.request
root = lxml.html.fromstring(urllib.request.urlopen('https://saucenao.com').read())
databases = []
for child in root.findall('.//input[@name="dbs[]"]'):
text, value = child.tail, int(child.get('value'))
if value == 999:
continue
databases.append((text, value))
assert(len(databases) > 0)
databases.sort(key=lambda tup: tup[0].lower())
v = [x[1] for x in databases]
with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../app/src/main/res/values/arrays.xml'), 'r+') as f:
data = f.read()
databases_entries = ''
for k in [x[0] for x in databases]:
databases_entries += f'\n - {k}
'
databases_entries += '\n '
data = re.sub(r'[^>]*>[^~]*?<\/string-array>', databases_entries, data)
databases_values = ''
for v in [x[1] for x in databases]:
databases_values += f'\n - {v}
'
databases_values += '\n '
data = re.sub(r'[^>]*>[^~]*?<\/integer-array>', databases_values, data)
f.seek(0)
f.write(data)
f.truncate()