Skip to main content

Python library for communication via API to the website: "TabNews.com.br"

Project description


TabNews.py

Python OS
Uma biblioteca massinha para um lugar massinha :)

SobreInstalaçãoExemplosContribuirLicença

💻 Sobre o projeto

Essa é uma biblioteca Python para consumir a API do Tabnews. Ela tem o proposito de facilitar e optimizar a integração de aplicações Python com o site do TabNews;

📩 Como baixar a biblioteca?

Para instalar localmente a biblioteca em seu computador, você pode usar o Pypi, com o comando:

pip install tabnews

Ou instalar via git:

pip install git+https://github.com/Gustavosta/TabNews.py

🔨 Exemplos de uso

Aqui vamos ver alguns exemplos de uso de como você pode usar a biblioteca para facilitar a comunicação com a API do Tabnews:

➡️ Exemplo 1:

Esse é um caso de uso bem simples, para mostrar como a autenticação funciona:


Welcome

from tabnews import Client

EMAIL = 'user@example.com'
PASSWORD = 'SenhaExtremamenteSegura'

client = Client(EMAIL, PASSWORD)
user = client.get_user()
print(f'Logged in as {user.username}')

➡️ Exemplo 2:

Esse é um exemplo de como fazer uma publicação via código.


Welcome

from tabnews import Client

EMAIL = 'user@example.com'
PASSWORD = 'SenhaExtremamenteSegura'
client = Client(EMAIL, PASSWORD, use_preview_tabnews_host=True)

post = client.publish_post(
    title='isso é um teste',
    content='isso foi publicado com a biblioteca do Tabnews para Python :)',
    reference='https://github.com/Gustavosta/TabNews.py'
)

print(post)

Repare que usei use_preview_tabnews_host=True. Esse parâmetro serve para postar coisas diretamente no ambiente de homologação usando a URL do ambiente extraída via API no repositório oficial do Tabnews.

➡️ Exemplo 3:

Esse exemplo mostra como dar upvote em um post, passando como parâmetro o username do usuário e o slug ou parent_id de um conteúdo:


Welcome

from tabnews import Client

TOKEN = 'TokenOuCookieExtraidoAPartirDaAutenticacao'
client = Client(token=TOKEN, save_session=True)
upvote = client.upvote(
    'filipedeschamps', 
    'tentando-construir-um-pedaco-de-internet-mais-massa'
)

print(upvote)

Note que dessa vez, eu usei o parâmetro token no client para autenticação, o que também é possível, mas não tão recomendado, já que tokens podem expirar e não durarem muito.

➡️ Exemplo 4:

Esse exemplo mostra como obter os dados de uma postagem e como comentar em uma postagem:


Welcome

from tabnews import Client

EMAIL = 'user@example.com'
PASSWORD = 'SenhaExtremamenteSegura'
client = Client(EMAIL, PASSWORD, save_session=True, use_preview_tabnews_host=True)

post = client.get_post(
    'sowlfie', 
    'isso-e-um-teste'
)
comment = client.publish_comment(
    parent_id=post.id,
    content='Teste de comentário'
)

print(comment)

Repare que usei o parâmetro save_session, que a biblioteca usa para salvar as configurações de autenticação para a sessão e diminuir o tempo de autenticação (que por padrão é True). Você também pode usar: config_path para escolher o caminho de salvamento ou carregamento das configurações em formato json.

➡️ Exemplo 5:

Esse exemplo mostra como editar uma postagem ou comentário:


Welcome

from tabnews import Client

EMAIL = 'user@example.com'
PASSWORD = 'SenhaExtremamenteSegura'
client = Client(EMAIL, PASSWORD, use_preview_tabnews_host=True)

post = client.edit_post(
    username='sowlfie', 
    slug='isso-e-um-teste',
    title='Isso é um teste (título editado)',
    content='isso foi publicado e editado com a biblioteca do Tabnews para Python :)', 
    reference='https://github.com/Gustavosta/TabNews.py'
)
comment = client.edit_comment(
    comment_slug='f0777d39-055a-4e44-b3cf-dabf0e2176bb',
    parent_id=post.id,
    content='Esse é um comentário publicado e editado com a mesma lib'
)

➡️ Exemplo 6:

Esse exemplo mostra como deletar uma postagem ou comentário:


Welcome

from tabnews import Client

EMAIL = 'user@example.com'
PASSWORD = 'SenhaExtremamenteSegura'
client = Client(EMAIL, PASSWORD, use_preview_tabnews_host=True)

post = client.delete_post(
    slug='isso-e-um-teste'
)
comment = client.delete_comment(
    comment_slug='f0777d39-055a-4e44-b3cf-dabf0e2176bb'
)

💛 Quer contribuir

Caso queira contribuir, você pode criar uma issue documentando as alterações sugeridas antes de criar um pull request, linkar o PR à issue, preferencialmente utilizar nomes de branch com o seguinte padrao:

/<tipo de alteração>-<descrição da issue>

EX: 001/Hotfix-correcao-tabela-principal

Utilizar os tipos [Feature|Hotfix|Update]

Qualquer duvida ou sugestão, sinta-se a vontade para abrir uma nova issue, assim temos espaço para discutir as alterações/duvidas.

📜 Licença

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tabnews-1.2.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

tabnews-1.2.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file tabnews-1.2.0.tar.gz.

File metadata

  • Download URL: tabnews-1.2.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for tabnews-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d9730ec9624ec5554e42a0d593b3492e0b13572d669f7df288ea0a22b433b0c1
MD5 3402cf96de201ccee796b6be754b71d3
BLAKE2b-256 dab745b1f064035b542ac12f78a754c199bf20b6d04fc5357c7e168a04bb33b4

See more details on using hashes here.

File details

Details for the file tabnews-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: tabnews-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for tabnews-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 323f35d0ef61667f3f0a631e832cfe6dffb4069b5bb68676ee2ddb91d7ba0d6b
MD5 e15f30eed0d4d98a6046e616cdb8f455
BLAKE2b-256 6f49742d632f2267d757fb3640287eded1ee19e01f6e32e37874eb298b9b7f84

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page