Closed RomitoVincenzo closed 3 years ago
@louieQ
filename_max_length
è facoltativo sia in get_pynblint_results
di notebook, sia in get_notebooks_results
di repo, in modo che si possa propagare di notebook in notebook. La stessa get_pynblint_results
si occuperà di effettuare il controllo se il parametro è stato o meno valorizzato e quindi di chiamare o meno is_filename_short
test_repo
in fixtures
che conterrà le cartelle per il test del repo_linting module come da te indicato
La libreria pynblint ora presenta ulteriori funzioni per:
nb_linting.py 1) identificare un notebook senza titolo 2) identificare un notebook con titolo più lungo di una MAX_LENGTH 3) identificare un notebook con un titolo che utilizza charset diverso da quello individuato da Pimental
notebook.py
1,2 e 3 sono diventati ulteriori campi del dict object restituito da get_pynblint_results()
creato repo_linting.py 4) in un repo (locale o remoto) che al suo interno presenta notebook con medesimo filename, ritornare i path di quest'ultimi 5) in un repo (locale o remoto) che al suo interno presenta notebook senza titolo, ritornare i path di quest'ultimi
repository.py
get_pynblint_results() ridenominato in -> get_notebooks_results() creata get_repository results() che restituirà i risultati di 4 e 5 ed insieme ai risultati di get_notebooks_results() costituirà la response dell'API in caso di linting di un repo
Oss: osservando i test, penso che ci sia un modo per ottimizzare il tutto. Al momento, in ogni test viene costruito l'interezza del dizionario con i risultati di linting (get_pynblint_results()) ma in realtà poi andiamo a controllare solo un campo del dizionario. Non potendo invocare get_pynblint_results() nella fixture in quanto ogni volta viene calcolato con parametri diversi, credo che ne guadagneremmo immensamente, computazionalmente parlando, semplicemente testando la singola funziona della libreria e non richiamandole tutte con il get_pynblint_results()