Proper way to do tear-up/tear-down?
- Linguagem predominante
- Python
- Estrelas
- 28.2k
- Forks
- 1.5k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
I have a pipeline tool that opens a file in `__init__`, mutates `self.nwbfile` using chained commands, and finally writes to disk & closes file. Right now I'm using `__str__` for this. Is this a reasonable pattern, or is there a better way?
```python
class CLI(object):
"""Facilitate writing a Neurodata without borders (NWB) file."""
def __init__(self, filepath):
self.io = NWBHDF5IO(filepath, 'a')
self.nwbfile = io.read()
self.filepath = filepath
def noop(self):
"add nothing to nwbfile"
return self
def __str__(self):
"""Write data & close io."""
if not self.io is None:
if not self.nwbfile is None:
self.io.write(self.nwbfile)
self.io.close()
return f"Wrote to {self.filepath}"
if __name__ == '__main__':
fire.Fire(CLI)
```
Guia de contribuição
Direção de pesquisa
Comece pelo exemplo de CLI e revise como Python Fire invoca __str__ para objetos de comando. Procure orientações e testes existentes sobre ciclo de vida, limpeza ou gerenciadores de contexto; para considerar o trabalho concluído, seria necessário definir um comportamento de Setup/Teardown acordado, mas este issue não nomeia nenhum arquivo-alvo nem critérios de aceitação.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- cli
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 20/100