Class to use Pixelfed API
This commit is contained in:
parent
ae1eb8076e
commit
b5973e2a78
56
PixelfedAPI.py
Normal file
56
PixelfedAPI.py
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import os
|
||||||
|
import json
|
||||||
|
import requests
|
||||||
|
|
||||||
|
class PixelfedAPI:
|
||||||
|
def __init__(self, url, token):
|
||||||
|
self.serverurl = url
|
||||||
|
self.accesstoken = token
|
||||||
|
|
||||||
|
def mediaUpload(self, image):
|
||||||
|
serverurl = self.serverurl()
|
||||||
|
apiurl = serverurl + "/api/v1/media"
|
||||||
|
|
||||||
|
accessToken = self.accesstoken()
|
||||||
|
headers = {
|
||||||
|
"Authorization": f"Bearer {accessToken}"
|
||||||
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(image, "rb") as imageFile:
|
||||||
|
f = {"file": imageFile}
|
||||||
|
response = requests.post(apiurl, headers=headers, files=f)
|
||||||
|
try:
|
||||||
|
data = response.json()
|
||||||
|
return(data)
|
||||||
|
except json.decoder.JSONDecodeError:
|
||||||
|
print("API response contains non-valid JSON data")
|
||||||
|
#print(response.text)
|
||||||
|
except requests.exceptions.RequestException as e:
|
||||||
|
print(f"An error occurred during the API call: {e}")
|
||||||
|
|
||||||
|
def createNewPost(self, ImageID, ImageDescription, ImageAltDescription = ''):
|
||||||
|
serverurl = self.serverurl()
|
||||||
|
apiurl = serverurl + "/api/v1/statuses"
|
||||||
|
|
||||||
|
print(apiurl)
|
||||||
|
|
||||||
|
accessToken = self.accesstoken()
|
||||||
|
headers = {
|
||||||
|
"Authorization": f"Bearer {accessToken}"
|
||||||
|
}
|
||||||
|
data = {
|
||||||
|
"status": ImageDescription,
|
||||||
|
"media_ids": [ImageID],
|
||||||
|
"alt": ImageAltDescription
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
response = requests.post(apiurl, headers=headers, json=data)
|
||||||
|
try:
|
||||||
|
responsedata = response.json()
|
||||||
|
return(responsedata)
|
||||||
|
except json.decoder.JSONDecodeError:
|
||||||
|
print("API response contains non-valid JSON data")
|
||||||
|
#print(response.text)
|
||||||
|
except requests.exceptions.RequestException as e:
|
||||||
|
print(f"An error occurred during the API call: {e}")
|
Loading…
Reference in New Issue
Block a user