import os from datetime import datetime import base64 import requests from requests.models import urlencode import pdb if __name__ == '__main__': filename = 'test.csv' with open(filename, 'rb') as input_file: data = input_file.read() file = base64.b64encode(data) owner = "spla" repo = "upload" author_email = "spla@mastodont.cat" author_name = "spla" branch = "main" content = file message = f'file {filename} uploaded' api_base_url = "https://git.mastodont.cat" data = {"author":[{"email":author_email},{"name":author_name}], "branch":branch, "content":content, "message":message } params = dict() params['token'] = '' formatted_params = urlencode(params) endpoint = api_base_url + '/api/v1/repos/{0}/{1}/contents/{2}?{3}'.format(owner, repo, filename, formatted_params) try: response = requests.post(endpoint, data) except: pass if response is not None: print(f'request status code: {response.status_code},\n\n{response.content}')