8000 formatação e logging by braiansmarzaro · Pull Request #23 · bet-blocker/bet-blocker · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

formatação e logging #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 53 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,20 @@ O BetBlocker foi pensado para que o próprio usuário ou familiares preocupados

## Instalação e utilização

Clone o repositório para sua máquina:
```bash
git clone https://github.com/jhowbhz/bet-blocker.git bet-blocker
```
1. Clone o repositório para sua máquina:
```bash
git clone https://github.com/jhowbhz/bet-blocker.git bet-blocker
```

Instale as dependencias:
```bash
cd bet-blocker && pip install -r requirements.txt
```
2. Instale as dependencias:
```bash
cd bet-blocker && pip install -r requirements.txt
```

Para rodar o projeto:
```bash
python main.py
```
3. Para rodar o projeto:
```bash
python main.py
```

## Funcionamento
O BetBlocker realiza bloqueios por meio de configurações de firewall e ajustes no arquivo hosts para impedir o acesso a sites de apostas conhecidos. Além disso, oferece uma funcionalidade para configurar uma rede de apoio, uma opção que garante suporte ao usuário caso ele queira desbloquear ou remover o software de proteção em um momento de crise.
Expand All @@ -47,46 +47,44 @@ Estado do Projeto
Atualmente, essa solução está em fase de Prova de Conceito (POC) e foi desenvolvida em Python. Contribuições são bem-vindas para que possamos avançar e melhorar o BetBlocker.

## Contribua
Acredita que pode ajudar a evoluir essa ideia? Caso sim, sinta-se à vontade para fazer uma pull request seguindo os passos a seguir:

Crie um fork do repositório:
<br>
![fork](https://github.com/user-attachments/assets/40a18cf5-031e-4134-bd73-e87cf22b57aa)

Clone o seu fork:
```
git clone link_do_seu_repositório
```
Navegue até o diretório do projeto e instale as dependências:
```
cd bet-blocker && pip install -r requirements.txt
```

Crie uma nova branch:
```
git checkout -b feature/nome-da-sua-feature
```

Commite suas alterações:
```
git add nome-do-arquivo
```

```
git commit -m "descrição"
```

Puxe as alterações para o seu repositório:
```
git push origin feature/nome-da-sua-feature
```

Abra uma nova Pull Request:
<br>
![pr](https://github.com/user-attachments/assets/0fb5947b-2a31-4240-b00d-12c9de24eee7)

Adicione um título e descrição para sua Pull Request:
<br>
![submmit](https://github.com/user-attachments/assets/a30c6f0a-8752-43c4-965a-279220b01279)

Feito, agora é só esperar para que sua Pull Request seja aceita, ou se caso seja encontrado algum erro de compatibilidade com o estado atual do projeto, ou qualquer outro problema, será adicionado um comentário e sua Pull Request será fechada. Sinta-se à vontade para abrir outra novamente e contribuir para o projeto.
Acredita que pode ajudar a evoluir essa ideia? Sinta-se à vontade para fazer uma pull request seguindo os passos a seguir:

1. Crie um fork do repositório:
![fork](https://github.com/user-attachments/assets/40a18cf5-031e-4134-bd73-e87cf22b57aa)

2. Clone o seu fork:
```
git clone link_do_seu_repositório
```

3. Navegue até o diretório do projeto e instale as dependências:
```
cd bet-blocker && pip install -r requirements.txt
```

4. Crie uma nova branch:
```
git checkout -b feature/nome-da-sua-feature
```

5. Commite suas alterações:
```
git add nome-do-arquivo
```

```
git commit -m "descrição"
```

6. _Puxe_ as alterações para o seu repositório:
```
git push origin feature/nome-da-sua-feature
```

7. Abra uma nova Pull Request:
![pr](https://github.com/user-attachments/assets/0fb5947b-2a31-4240-b00d-12c9de24eee7)

8. Adicione um título e descrição para sua Pull Request:
![submmit](https://github.com/user-attachments/assets/a30c6f0a-8752-43c4-965a-279220b01279)

Feito, agora é só esperar que sua Pull Request seja aceita, ou se caso seja encontrado algum erro de compatibilidade com o estado atual do projeto, ou qualquer outro problema, será adicionado um comentário e sua Pull Request será fechada. Sinta-se à vontade para abrir outra novamente e contribuir para o projeto.
17 changes: 3 additions & 14 deletions _cicd/avoid_dup_bet.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# avoid_dup_bet.py :+: :+: :+: #
# +:+ +:+ +:+ #
# By: umeneses <umeneses@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2024/11/06 08:12:15 by umeneses #+# #+# #
# Updated: 2024/11/06 08:25:53 by umeneses ### ########.fr #
# #
# **************************************************************************** #

import sys
import logging

def check_duplicates_bets(file_path):
with open(file_path, 'r') as file:
Expand All @@ -19,11 +8,11 @@ def check_duplicates_bets(file_path):
seen = {}
for line_number, line in enumerate(lines, start=1):
if line in seen:
print(f"Duplicated BET found on line {line_number}: '{line}'")
logging.info(f"Duplicated BET found on line {line_number}: '{line}'")
sys.exit(line_number)
seen[line] = line_number

print("No duplicates found.")
logging.info("No duplicates found.")
sys.exit(0)

if __name__ == "__main__":
Expand Down
36 changes: 26 additions & 10 deletions app/__init__.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
import os, sys
import platform
import ctypes
import logging
import os
import platform
import shutil
import sys
import tkinter as tk
from tkinter import BooleanVar, messagebox, ttk

from tkinter import BooleanVar, ttk, messagebox
from PIL import Image, ImageTk
from src.utils.get_paths import get_path_from_context

from app.app_styles import AppButtonColors, AppColors, AppConfig
from src.functions.blocker import restrict_sites
from src.utils.get_paths import get_path_from_context
from src.utils.logs import logger
from app.app_styles import AppConfig, AppColors, AppButtonColors


class AppInitializer:
def __init__(self, config: AppConfig):
Expand Down Expand Up @@ -51,7 +55,12 @@ def setup_frames(self):
def run(self):
"""Inicia a execução da aplicação."""
self.app_window.focus_force()
self.app_window.after(100, lambda: logger.info("Bem-vindo(a) ao Bloqueador de Bets. A aplicação está em execução."))
self.app_window.after(
100,
lambda: logger.info(
"Bem-vindo(a) ao Bloqueador de Bets. A aplicação está em execução."
),
)
self.app_window.mainloop()
logger.info("Aplicação encerrada.")

Expand Down Expand Up @@ -188,6 +197,7 @@ def get_sites_from_blocklist(self) -> list:
sites = file.readlines()
return [site.strip() for site in sites if site.strip()]


## Auxiliares
def request_admin_grant():
if ctypes.windll.shell32.IsUserAnAdmin():
Expand All @@ -198,17 +208,20 @@ def request_admin_grant():
)
return False


# Requisitar permissão de administrador no Linux
def request_sudo_grant() -> None:
# Testando se o usuário executou o processo como root
if os.geteuid() != 0:
os.execvp('sudo', ['sudo', 'python3'] + sys.argv)
os.execvp("sudo", ["sudo", "python3"] + sys.argv)

return True


# Requisitar permissão de administrador no MacOS
def request_doas_grant() -> bool:
pass # todo
pass # todo


def copy_hosts():
match platform.system():
Expand All @@ -222,7 +235,8 @@ def copy_hosts():
copy_macos_hosts()

case _:
print("Sistema operacional não reconhecido!")
logging.warning("Sistema operacional não reconhecido!")


def copy_windows_hosts():
"""Copia o arquivo ./hosts para C:\Windows\System32\drivers\etc\hosts."""
Expand All @@ -235,6 +249,7 @@ def copy_windows_hosts():
messagebox.showerror("Erro", f"Falha ao copiar o arquivo hosts: {e}")
logger.error(f"Erro ao copiar o arquivo hosts: {e}")


def copy_linux_hosts():
"""Copia o arquivo ./hosts para /etc/hosts"""
request_sudo_grant()
Expand All @@ -249,6 +264,7 @@ def copy_linux_hosts():
messagebox.showerror("Erro", f"Falha ao copiar o arquivo hosts: {e}")
logger.error(f"Erro ao copiar o arquivo hosts: {e}")

# To do

#TODO
def copy_macos_hosts():
pass
0