Qual è il modo migliore per ottenere una rappresentazione canonica di un nome utente idempotente?Canonicalizzazione dei nomi utente
voglio evitare di avere lo stesso problema come Spotify: http://labs.spotify.com/2013/06/18/creative-usernames/
Sto cercando una buona biblioteca per fare questo in Python. Preferirei non fare quello che ha finito Spotify (eseguire due volte la canonicalizzazione per testare se è idempotente), e importare Twisted nel mio progetto è un po 'eccessivo, esiste una libreria autonoma per questo?
Utilizzare gli indirizzi di posta elettronica preferibilmente quando si tratta di nomi utente? In che modo i principali siti/aziende si occupano di questo?
Avete bisogno di supportare nomi utente non ASCII? Se la risposta è sì, rinunciare e fare ciò che hanno fatto, è un problema non banale. In caso contrario, ''' .join ([c per c in orig_username.lower() se c in string.punctuation + string.ascii_lowercase + string.digits])'. – AdamKG
Sì, ho bisogno di supportare non-ascii. –
Bene, eccoti allora. Per quanto riguarda il modo in cui i principali giocatori lo gestiscono ... presumo che per la maggior parte non lo facciano. Quelli che probabilmente hanno speso tanto su di esso quanto lo hanno fatto spotify. Non conosco alcuna libreria autonoma, ma non sarei sorpreso se uno si aprisse ora, usando l'approccio dall'articolo spotify e semplicemente copiando il codice rilevante da Twisted (è il MIT). – AdamKG