Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Erro 404 na class Manipula_Repos.py

Inicialmente o código estava retornando o código 202. Porém, por meios didáticos, deletei o repositório dentro do próprio Git para refazer os comandos, só que dessa vez o código retorna 404.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

segue o código com o meu token e o meu usuário:

import requests
import base64

class ManipulaRepositorios:

    def __init__(self, username):
        self.username = username
        self.api_base_url = 'https://api.github.com'
        self.access_token='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'
        self.headers = {'Authorization':"Bearer " + self.access_token,
                        'X-GitHub-Api-Version': '2022-11-28'}

    def cria_repo(self, nome_repo):
        data = {
            "name": nome_repo,
            "description": "Dados dos repositórios de algumas empresas",
            "private": False
        }
        response = requests.post(f"{self.api_base_url}/user/repos", 
                                 json=data, headers=self.headers)

        print(f'status_code criação do repositório: {response.status_code}')

    def add_arquivo(self, nome_repo, nome_arquivo, caminho_arquivo):

        # Codificando o arquivo
        with open(caminho_arquivo, "rb") as file:
            file_content = file.read()
        encoded_content = base64.b64encode(file_content)

        # Realizando o upload
        url = f"{self.api_base_url}/repos/{self.username}/{nome_repo}/contents/{nome_arquivo}"
        data = {
            "message": "Adicionando um novo arquivo",
            "content": encoded_content.decode("utf-8")
        }

        response = requests.put(url, json=data, headers=self.headers)
        print(f'status_code upload do arquivo: {response.status_code}')

# instanciando um objeto
novo_repo = ManipulaRepositorios('igorleonel')

# Criando o repositório
nome_repo = 'linguagens-repositorios-empresas'
novo_repo.cria_repo(nome_repo)

# Adicionando arquivos salvos no repositório criado
novo_repo.add_arquivo(nome_repo, 'linguagens_amzn.csv', 'dados/linguagens_amzn.csv')
novo_repo.add_arquivo(nome_repo, 'linguagens_netflix.csv', 'dados/linguagens_netflix.csv')
novo_repo.add_arquivo(nome_repo, 'linguagens_spotify.csv', 'dados/linguagens_spotify.csv')

Observação: não tem nenhum outro repositório com nome igual.

1 resposta
solução!

Erro 404 corrigido. O token gerado não estava com as opções de 'repo' marcadas e 'delete:packages'.