O projeto é um sistema de gerenciamento de "banco de dados". Porém, ele faz acessos a arquivos de .txt, e gerencia os mesmos. Para isso, ele conta com um algoritmo de fila FIFO (First in First Out), algoritmo de fila de prioridades, e gerenciamento de arquivos.
Instalação do projeto
git clone [email protected]:vicsantus/Projeto-TING.git
cd Projeto-TING
python3 -m venv .venv && source .venv/bin/activate
python3 -m pip install -r dev-requirements.txt
Para fazer o teste utilize a seguinte instrução dentro do ambiente .venv
python3 -m pytest -s -vv
-
O arquivo queue.py é uma classe de gerenciamento de fila FIFO.
-
O arquivo priority_queue.py é uma classe de gerenciamento de fila com prioridades, tendo alguns arquivos mais prioridades que outros.
-
O arquivo file_process.py contém 3 funções:
process - é a função que adiciona dentro da fila, o arquivo de texto processado por ela;
remove - é a função que remove dentro da fila o primeiro elemento;
file_metadata - é a função que mostra um elemento expecifico da fila com um index expecifico.
-
O arquivo file_management.py é uma função que importa o .txt transformando as linhas do arquivo em uma lista de strings.
-
O arquivo abstract_queue.py é uma classe abstrata de Queue.
- O arquivo word_search.py que tem duas funções:
exists_word - Faz uma pesquisa na queue e retorna em quantas linhas aconteceram ocorrências de qualquer palavra passada no parâmetro da função;
search_by_word - Faz uma pesquisa na queue e retorna em quantas linhas, e também quais linhas aconteceram ocorrências de qualquer palavra passada no parâmetro da função;
- O arquivo test_priority_queue.py realiza testes da função priority_queue.
Back-end: Python, Algoritmos, FIFO, FILO, Computer Science, PyTest