Rendere l'output di phicli json #3
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "json-serialize-output"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ho fatto tre modifiche in questa PR:
--flag/--no-flag
, con default aFalse
) dalla cliFalse
per scegliere di mostrare le password nell'output dei comandishowuser
,adduser
eshowgroup
sia del json valido, scegliendo in particolare di trasformare le password (che vengono fornite comebytes
) nella lista di hex corrispondentiLungo la strada, ho anche applicato black. Non me ne vogliate. Mi mette l'anima in pace e ce l'ho direttamente integrato in vim.
Ho svolto una prima revisione non completa.
Visto che la patch è formata in buona parte da modifiche estetiche, ho iniziato da quelle.
Il progetto era già lintato con flake8 e personalmente validavo ogni commit (cfr.
flake8 --install-hook git
). Non mi sembra il caso di usare due linter diversi.Ho indicato senza ripetermi i punti in cui il linter ha fatto cazzate e dove si è comportato bene.
Per favore evitiamo di far scrivere sorgente alle macchine. Usare sempre, in ogni caso, senza possibilità di appello lo stesso stile non rende il codice più leggibile. Lasciare rifare a un software tutte le indentazioni in un modo standard (o cambiare tutte le virgolette) probabilmente impatterà positivamente sugli OCD di qualcuno ma IMHO non rende automagicamente il codice migliore o più chiaro.
Completerò la revisione più in là oggi stesso (spero).
@ -4,3 +4,2 @@
def serialize(d):
return {k: (v.isoformat() if isinstance(v, datetime) else v)
for k, v in d.items()}
return {k: (v.isoformat() if isinstance(v, datetime) else v) for k, v in d.items()}
Qui malissimo.
@ -20,3 +20,1 @@
web.run_app(app,
host=app['config']['core']['listen'].get('host', '127.0.0.1'),
port=app['config']['core']['listen'].get('port', '8080'))
web.run_app(
Qui male.
@ -22,3 +23,3 @@
for i, name in enumerate(param_names):
info = param_infos[i] if i<len(param_infos) else ''
info = param_infos[i] if i < len(param_infos) else ""
Qui bene.
@ -42,3 +42,1 @@
raise FileNotFoundError("Could not find {} in any of {}."
.format(CONFIG_FILE,
', '.join(CONFIG_PATHS)))
raise FileNotFoundError(
Qui male.
Inoltre non capisco perché l'unica regola a mio avviso sana, cioè di evitare righe più lunghe di 80 colonne, rispettata finora, è stata falciata via con violenza.
https://black.readthedocs.io/en/stable/the_black_code_style.html#line-length
Comunque è questione di scelte. Sappiamo che python ha ventuordicimila strumenti diversi per fare lint e fix. Ho trovato
black
il più facile da usare e per questo mi sono adattato.Perdonami, dove sta scritto? Non ho trovato riferimenti a questa convenzione di sviluppo nel readme o da altre parti.
Cosa vogliamo fare con questa PR? Rejected? @crudo @uid
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Gitea.