Ho uno strumento CLI Python che il mio dipartimento usa per elaborare un file excel aiutato da un yaml. Ho provato a disegnare qui un flusso di lavoro di base:
Passaggio1:l'utentescaricaunxlsx,loinserisceinunfile,eseguetool--preprocess
cheaccettaalcuniinputA,B,Ceilnomedelfile.Questopassaggiononfanulla,vedilamiadomandaquisotto.
Passaggio2:l'utenteeseguetool--start
dovedannoglistessiinput.Tuttaviaquestavoltausaisuoiinputeilxlsxpergenerareunyaml.
Passaggio3:l'utenteterminal'aggiornamentodiyamledeseguetool--build
cherichiedesolounyamleunxlsxeloconverteinunpdfgigante.
Unacosachehonotatoèchealcunideimieiutentistannofacendodituttoperapportarealcunemodificheaifileperchésonouncasolimite.Adesempio:potrebberocrearealcunifoglidilavoroprimadiutilizzaretool--start
.
Eccolamiadomanda:comepossoconsentireagliutentidi"agganciarsi" a ogni passaggio, cioè, consentire loro di scrivere un file / funzione python personalizzato che viene salvato in un file diverso (non voglio avere un utente personalizzato rendere tutte le funzionalità):
Quindi anziché:
def preprocess():
# do stuff
if input == "A":
# user 1 code
if input == "B":
# user 2 code
# convert to expected form
Forse potrebbero spingere verso l'alto un file come "A.py" che ha def overload_preprocess()
e quindi lo strumento dovrebbe importare il file ed eseguire la loro funzione a seconda dei loro input?