Fix IPv6 weirdness?

master
Caleb Fontenot 2021-12-20 09:38:59 +07:00
parent e350811b05
commit b6fd956cc3
6 changed files with 33 additions and 12 deletions

3
.gitmodules vendored

@ -0,0 +1,3 @@
[submodule "request_wrapper"]
path = request_wrapper
url = https://gitlab.com/snippets/1900824.git

@ -1,6 +1,8 @@
#!/bin/python
# Setup Parser
import requests
#import socket
#from request_wrapper import requests_wrapper as requests
from re import sub
import parsers.paperMC
import parsers.modrinth

@ -1,10 +1,13 @@
from os import error
from types import WrapperDescriptorType
from pytz.tzinfo import memorized_timedelta
import requests
#import requests
import socket
from request_wrapper import requests_wrapper as requests
import datetime
import iso8601
import pytz
debug = False
debug = True
if debug == True:
import logging
from requests import api
@ -14,7 +17,7 @@ if debug == True:
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
timeoutTime = 1
base_api_url = "https://api.modrinth.com/api/v1"
base_api_url = "https://api.modrinth.com:443/api/v1"
def failCheck(response):
print("Status Code is: "+str(response.status_code))
if response.status_code != 200:
@ -24,12 +27,14 @@ dataCache = {}
def cacheData(function_name, cached_data):
print("Caching data!")
dataCache[function_name] = cached_data
print("Stored "+function_name+"'s data to cache")
#
def modInfo(project):
print("Calling modInfo()...")
if "modInfo" in dataCache:
print("Returning cached data!")
return dataCache["modInfo"]
response = requests.get(base_api_url+"/mod/"+project)
response = requests.get(base_api_url+"/mod/"+project, family=socket.AF_INET)
failCheck(response)
api_response = response.json()
cacheData("modInfo", api_response)
@ -38,6 +43,7 @@ def modInfo(project):
def getVersions(project):
print("Calling getVersions()...")
if "getVersions" in dataCache:
print("Returning cached data!")
return dataCache["getVersions"]
workingDict = modInfo(project)
versions = workingDict["versions"]
@ -47,18 +53,21 @@ def getVersions(project):
def getAllModVersionInfo(project):
print("Calling getAllModVersionInfo()...")
if "getAllModVersionInfo" in dataCache:
print("Returning cached data!")
return dataCache["getAllMinecraftVersionInfo"]
versions = getVersions(project)
responseList = []
numberOfVersions = len(versions)
for item in range(numberOfVersions):
response = requests.get(base_api_url+"/version/"+versions[item])
response = requests.get(base_api_url+"/version/"+versions[item], family=socket.AF_INET)
failCheck(response)
api_response = response.json()
responseList.append(api_response)
cacheData("getAllMinecraftVersionInfo", responseList)
return responseList
def determine(project, whatToDetermine):
print("Calling determine()...")
modInfo = getAllModVersionInfo(project)
numberOfVersions = len(modInfo)
determine = []
@ -69,6 +78,7 @@ def determine(project, whatToDetermine):
return determine
def getLatestVersion(project):
print("Calling getLatestVersion()...")
versions = getVersions(project)
publishDates = determine(project, "date_published")
#print(publishDates)
@ -89,6 +99,7 @@ def getLatestVersion(project):
return list(latest.keys())[0]
def getDownloadURL(project, versionID):
print("Calling getDownloadURL()...")
versions = getVersions(project)
versionInfo = getAllModVersionInfo(project)
downloadURLs = {}

@ -1,6 +1,8 @@
from os import error
import requests
debug = False
#import requests
import socket
from request_wrapper import requests_wrapper as requests
debug = True
if debug == True:
import logging
from requests import api
@ -10,7 +12,7 @@ if debug == True:
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
timeoutTime = 1
base_api_url = "https://papermc.io/api/v2"
base_api_url = "https://papermc.io:443/api/v2"
def failCheck(response):
print("Status Code is: "+str(response.status_code))
if response.status_code != 200:
@ -20,12 +22,13 @@ dataCache = {}
def cacheData(function_name, cached_data):
print("Caching data!")
dataCache[function_name] = cached_data
print("Stored "+function_name+"'s data to cache")
# This function returns the versions from a project from the Paper API.
def getVersions(project):
print("Calling getVersions()...")
if "getVersions" in dataCache:
return dataCache["getVersions"]
response = requests.get(base_api_url+"/projects/"+project, timeout=timeoutTime)
response = requests.get(base_api_url+"/projects/"+project, family=socket.AF_INET, timeout=timeoutTime)
failCheck(response)
api_response = response.json()
cacheData("getVersions", api_response['versions'])
@ -40,7 +43,7 @@ def getBuildNumber(project, version):
print("Calling getBuildNumber()...")
if "getBuildNumber" in dataCache:
return dataCache["getBuildNumber"]
response = requests.get(base_api_url+"/projects/"+project+"/versions/"+version, timeout=timeoutTime)
response = requests.get(base_api_url+"/projects/"+project+"/versions/"+version, family=socket.AF_INET, timeout=timeoutTime)
failCheck(response)
api_response = response.json()
cacheData("getBuildNumber", api_response['builds'])
@ -52,7 +55,7 @@ def getBuildInfo(project, version):
return dataCache["getBuildInfo"]
buildID1 = getBuildNumber(project, version)
buildID = str(buildID1[-1])
response = requests.get(base_api_url+"/projects/"+project+"/versions/"+version+"/builds/"+buildID, timeout=timeoutTime)
response = requests.get(base_api_url+"/projects/"+project+"/versions/"+version+"/builds/"+buildID, family=socket.AF_INET, timeout=timeoutTime)
failCheck(response)
api_response = response.json()
cacheData("getBuildInfo", api_response)
@ -70,7 +73,7 @@ def downloadVersion(project, version):
jarName = getJarInfo(project, version)
buildID1 = getBuildNumber(project, version)
buildID = str(buildID1[-1])
response = requests.get(base_api_url+"/projects/"+project+"/versions/"+version+"/builds/"+buildID+"/downloads/"+jarName["name"], stream=True, timeout=timeoutTime)
response = requests.get(base_api_url+"/projects/"+project+"/versions/"+version+"/builds/"+buildID+"/downloads/"+jarName["name"], family=socket.AF_INET, stream=True, timeout=timeoutTime)
failCheck(response)
return response

@ -0,0 +1 @@
Subproject commit f2811c5ce989753e7a926f2849489941f21bb2c2

@ -0,0 +1 @@
Subproject commit f2811c5ce989753e7a926f2849489941f21bb2c2