about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorEdward <101938856+EdwardLangdon@users.noreply.github.com>2022-09-27 18:21:34 +0200
committerGitHub <noreply@github.com>2022-09-27 18:21:34 +0200
commit5d74d475bd69a0aacb3d26d4f9f57cb4c54d0798 (patch)
tree1370811da22c66232e1c5e59cc4bb868e5405192
parentUpdated quetre & libremdb regex (diff)
parent(#460) get Libreddit instances from libbacon/libreddit-instances (diff)
downloadlibredirect-5d74d475bd69a0aacb3d26d4f9f57cb4c54d0798.zip
Merge pull request #465 from Daniel-Valentine/fix/460
(#460) get Libreddit instances from libbacon/libreddit-instances
-rw-r--r--src/instances/get_instances.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/instances/get_instances.py b/src/instances/get_instances.py
index 28ffed50..695569ce 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')