From a876aed23a654211405d3fa1fa12c29b76aafecc Mon Sep 17 00:00:00 2001 From: Daniel Valentine Date: Mon, 26 Sep 2022 21:20:50 -0600 Subject: [PATCH] (#460) get Libreddit instances from libbacon/libreddit-instances --- src/instances/get_instances.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/instances/get_instances.py b/src/instances/get_instances.py index 28ffed5..695569c 100644 --- a/src/instances/get_instances.py +++ b/src/instances/get_instances.py @@ -238,21 +238,30 @@ def bibliogram(): def libreddit(): r = requests.get( - 'https://raw.githubusercontent.com/spikecodes/libreddit/master/README.md') + 'https://github.com/libbacon/libreddit-instances/raw/master/instances.json') + rJson = json.loads(r.text) libredditList = {} libredditList['normal'] = [] libredditList['tor'] = [] libredditList['i2p'] = [] libredditList['loki'] = [] - tmp = re.findall( - r"\| \[.*\]\(([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)*\|*[A-Z]{0,}.*\|.*\|", r.text) + if 'instances' not in rJson: + mightyList['libreddit'] = libredditList + print(Fore.RED + 'Failed to fetch ' + Style.RESET_ALL + 'LibReddit') + return + + for item in rJson['instances']: + if 'url' in item: + url = item['url'] + libredditList['normal'].append(url) + elif 'onion' in item: + onion = item['onion'] + libredditList['tor'].append(onion) + elif 'i2p' in item: + i2p = item['i2p'] + libredditList['i2p'].append(i2p) - for item in tmp: - if re.search(torRegex, item): - libredditList['tor'].append(item) - else: - libredditList['normal'].append(item) mightyList['libreddit'] = libredditList print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + 'LibReddit')