Lista Calciatori Gazzetta 2015-2016: giornata 2

settembre 2, 2015 1 commento

tutte le giornate

101|ABBIATI|MIL|0.0|0.0|1
102|ANDUJAR|NAP|0.0|0.0|1
103|BASSI|ATA|0.0|0.0|1
104|BENUSSI|CAR|0.0|0.0|2
105|BERISHA|LAZ|1.5|5.5|2
106|BERNI|INT|0.0|0.0|1
107|BIZZARRI|CHI|7.5|7.5|14
108|BRIGNOLI|SAM|0.0|0.0|1
109|BRKIC|CAR|3.5|5.5|6
110|BUFFON|JUV|4.5|6.5|17
111|CARRIZO|INT|0.0|0.0|1
112|CASTELLAZZI|TOR|0.0|0.0|1
113|COLOMBI|PAL|0.0|0.0|1
114|CONSIGLI|SAS|6|6|11
115|COPPOLA|VER|0.0|0.0|1
116|DA COSTA|BOL|0.0|0.0|1
117|DE SANCTIS|ROM|0.0|0.0|2
118|DONNARUMMA A.|GEN|0.0|0.0|1
119|DONNARUMMA G.|MIL|0.0|0.0|1
120|GABRIEL|NAP|0.0|0.0|1
121|GOLLINI|VER|0.0|0.0|1
123|GUERRIERI|LAZ|0.0|0.0|1
124|HANDANOVIC|INT|4.5|6|15
125|ICHAZO|TOR|0.0|0.0|1
126|KARNEZIS|UDI|5|6|13
127|LAMANNA|GEN|6.5|6.5|3
128|LEALI|FRO|9|8|11
129|LEZZERINI|FIO|0.0|0.0|1
130|LOBONT|ROM|0.0|0.0|1
131|DIEGO LOPEZ|MIL|4.5|5.5|13
132|MARCHETTI|LAZ|0.0|0.0|12
133|MERET|UDI|0.0|0.0|1
134|MIRANTE|BOL|5|6|11
135|MURANO|CAR|0.0|0.0|1
136|NETO|JUV|0.0|0.0|1
137|PADELLI|TOR|5|6|12
138|PEGOLO|SAS|0.0|0.0|1
139|PELAGOTTI|EMP|0.0|0.0|1
140|PERIN|GEN|0.0|0.0|13
142|POMINI|SAS|0.0|0.0|1
144|PUGGIONI|SAM|0.0|0.0|1
145|PUGLIESI|EMP|0.0|0.0|1
146|RADUNOVIC|ATA|0.0|0.0|1
147|RAFAEL D.|VER|4|6|10
148|REINA|NAP|4.5|6.5|13
149|RUBINHO|JUV|0.0|0.0|1
150|SARR|BOL|0.0|0.0|1
152|SECULIN|CHI|0.0|0.0|1
153|SEPE|FIO|0.0|0.0|10
154|SKORUPSKI|EMP|3|5|8
155|SORRENTINO|PAL|7|7.5|13
156|SPORTIELLO|ATA|6|6|13
158|TATARUSANU|FIO|3.5|6.5|5
159|UJKANI|GEN|0.0|0.0|1
160|VIVIANO|SAM|3.5|5.5|14
161|ZAPPINO|FRO|0.0|0.0|2
162|BRESSAN|CHI|0.0|0.0|1
163|SZCZESNY|ROM|6|7|16
164|RAFAEL C.|NAP|0.0|0.0|1
165|PERISAN|UDI|0.0|0.0|1
166|LIOTTI|CAR|0.0|0.0|1
167|BELEC|CAR|0.0|0.0|1
201|ABATE|MIL|0.0|0.0|7
202|ACERBI|SAS|6.5|6.5|10
203|ADNAN|UDI|6.5|6.5|6
204|ALBERTAZZI|VER|0.0|0.0|2
205|ALBIOL|NAP|5|5|6
206|ALEX|MIL|0.0|0.0|7
206|ALEX|MIL|0.0|0.0|12
207|ALONSO|FIO|8|5.5|8
208|ALTOBELLI|FRO|0.0|0.0|2
209|ANDELKOVIC|PAL|0.0|0.0|4
211|ANTEI|SAS|0.0|0.0|3
212|ANTONELLI|MIL|5.5|5.5|10
213|ARIAUDO|SAS|0.0|0.0|3
214|AVELAR|TOR|7|7|10
215|BAGADUR|FIO|0.0|0.0|1
216|BARBA|EMP|5.5|5.5|6
217|BARZAGLI|JUV|0.0|0.0|10
219|BASTA|LAZ|5|5|12
220|BELLINI|ATA|0.0|0.0|4
222|BERTONCINI|FRO|0.0|0.0|2
223|BIANCHETTI|VER|0.0|0.0|3
225|BITTANTE|EMP|0.0|0.0|5
226|BLANCHARD|FRO|4|4.5|5
228|BONUCCI|JUV|6|6|13
229|BORGHINI|EMP|0.0|0.0|1
230|BOVO|TOR|0.0|0.0|4
231|BRAAFHEID|LAZ|0.0|0.0|4
232|BRIVIO|ATA|0.0|0.0|3
233|BUBNJIC|CAR|6|6|3
234|BURDISSO|GEN|6|6|7
235|CACCIATORE|CHI|6|6|4
236|CACERES|JUV|5|5|5
237|CALABRIA|MIL|0.0|0.0|1
238|CAMPORESE|EMP|0.0|0.0|3
240|CANINI|ATA|0.0|0.0|2
241|CANNAVARO|SAS|5.5|6|6
242|CAPRADOSSI|ROM|0.0|0.0|1
243|CASSANI|SAM|5.5|5.5|7
244|CASTAN|ROM|0.0|0.0|6
245|CESAR|CHI|7|7|5
246|CHERUBIN|ATA|6|6|4
247|CHIELLINI|JUV|4.5|5|11
248|CIOFANI M.|FRO|0.0|0.0|3
249|CISSOKHO|GEN|6.5|6.5|5
250|CODA|SAM|5.5|5.5|2
251|COLE|ROM|0.0|0.0|5
252|CONTI|ATA|0.0|0.0|2
253|COSTA A.|EMP|0.0|0.0|4
254|CRIVELLO|FRO|5|5|4
255|D'AMBROSIO|INT|0.0|0.0|6
256|DAINELLI|CHI|0.0|0.0|6
257|DANILO|UDI|6|6|10
258|DAPRELA'|PAL|0.0|0.0|3
260|DE MAIO|GEN|6|6|7
261|DE SCIGLIO|MIL|5.5|5.5|5
262|DE SILVESTRI|SAM|0.0|0.0|9
263|DE VRIJ|LAZ|4|4|10
265|DERMAKU|EMP|0.0|0.0|2
266|DIAKITE|FRO|4.5|5|5
267|DIMARCO|INT|0.0|0.0|2
268|DODO'|INT|0.0|0.0|4
269|DOMIZZI|UDI|0.0|0.0|6
270|DRAME'|ATA|6|6|5
271|EDENILSON|UDI|5|5|6
272|ELY|MIL|0.0|0.0|1
273|EMERSON|ROM|0.0|0.0|4
274|EVRA|JUV|4|5|8
276|FERRARI|BOL|5.5|6|2
277|FIGUEIRAS|GEN|0.0|0.0|6
279|FREY|CHI|6.5|6.5|5
280|GABRIEL SILVA|CAR|5|5.5|5
281|GAGLIOLO|CAR|6|6|6
282|GAMBERINI|CHI|7|7|5
283|GASTALDELLO|BOL|0.0|0.0|7
284|GASTON SILVA|TOR|0.0|0.0|2
285|GAZZOLA|SAS|0.0|0.0|4
286|GENTILETTI|LAZ|4|4|8
287|GHOULAM|NAP|5.5|5.5|6
288|GLIK|TOR|6|6|14
289|GOBBI|CHI|7|7|6
290|GOLDANIGA|PAL|5.5|5.5|4
291|GONZALEZ|PAL|7|7|9
293|HENRIQUE|NAP|0.0|0.0|3
294|HEURTAUX|UDI|5.5|5.5|8
295|HOEDT|LAZ|0.0|0.0|5
296|HYSAJ|NAP|5.5|5.5|5
298|IZZO|GEN|5.5|6|6
299|JANSSON|TOR|0.0|0.0|3
300|JUAN|INT|5.5|5.5|6
301|KONKO|LAZ|0.0|0.0|3
302|KOULIBALY|NAP|5|5|7
303|KRESIC|ATA|0.0|0.0|1
304|LAURINI|EMP|0.0|0.0|4
305|LAZAAR|PAL|5.5|5.5|8
306|LETIZIA|CAR|5|5.5|4
307|LICHTSTEINER|JUV|5|5|13
308|LONGHI|SAS|0.0|0.0|4
309|LUPERTO|NAP|0.0|0.0|1
310|MAGGIO|NAP|5.5|5.5|5
311|MAICON|ROM|0.0|0.0|10
312|MAIETTA|BOL|5.5|5.5|3
313|MAKSIMOVIC|TOR|6|6|7
314|MANOLAS|ROM|6.5|6.5|11
315|MARCHESE|GEN|6|6|8
316|MARIO RUI|EMP|5.5|5.5|7
317|MARQUEZ|VER|5.5|5.5|6
318|MARTINELLI|EMP|0.0|0.0|2
319|MASIELLO|ATA|6|6|4
320|MASINA|BOL|6|6|4
321|MATTIELLO|CHI|0.0|0.0|4
322|MAURICIO|LAZ|0.0|0.0|4
323|MBAYE I.|BOL|5.5|5.5|5
324|MESBAH|SAM|0.0|0.0|3
325|MEXES|MIL|0.0|0.0|6
326|MIRANDA|INT|6|6.5|12
327|MOISANDER|SAM|0.0|0.0|7
328|MOLINARO|TOR|0.0|0.0|5
329|MONTOYA|INT|0.0|0.0|7
330|MORAS|VER|5.5|6|7
331|MORETTI|TOR|9.5|6.5|11
332|MORLEO|BOL|0.0|0.0|4
333|MUNOZ|GEN|0.0|0.0|6
334|MURILLO|INT|6|6|9
335|NAGATOMO|INT|5|5|5
336|OIKONOMOU|BOL|0.0|0.0|4
337|PALETTA|MIL|0.0|0.0|6
338|PARENTE|GEN|0.0|0.0|1
339|PASQUAL|FIO|0.0|0.0|9
340|PASQUALE|UDI|0.0|0.0|3
341|PATRIC|LAZ|5.5|5.5|2
342|PAVLOVIC|FRO|0.0|0.0|5
343|PELUSO|SAS|6|6|6
344|PERES|TOR|6.5|5.5|11
345|PIRIS|UDI|6|6|5
346|PIRRELLO|PAL|0.0|0.0|1
347|PISANO|VER|5|5|4
349|PRCE|LAZ|0.0|0.0|1
351|RADU|LAZ|4.5|4.5|7
352|RAIMONDI|ATA|0.0|0.0|5
353|RANOCCHIA|INT|0.0|0.0|8
354|REGINI|SAM|6|6|5
355|RISPOLI|PAL|5.5|5.5|6
356|RODRIGUEZ|FIO|4.5|5|13
356|RODRIGUEZ|FIO|4.5|5|11
357|ROMAGNOLI A.|MIL|5.5|5.5|9
358|ROMAGNOLI S.|CAR|0.0|0.0|4
359|RONCAGLIA|FIO|4.5|4.5|4
360|ROSI|FRO|6|6|6
361|ROSSETTINI|BOL|5.5|5.5|6
362|RUGANI|JUV|0.0|0.0|7
363|RUSSO|FRO|0.0|0.0|3
365|SANTON|INT|5.5|6|6
366|SARDO|CHI|0.0|0.0|4
368|SILVESTRE|SAM|5.5|6|8
369|SOUPRAYEN|VER|5|5|5
371|STENDARDO|ATA|9.5|6.5|8
372|STRINIC|NAP|0.0|0.0|5
373|STRUNA|PAL|3|4|4
374|SUAGHER|ATA|0.0|0.0|3
375|TAMBE|GEN|0.0|0.0|3
376|TERRANOVA|SAS|0.0|0.0|4
378|TOMOVIC|FIO|5|5|6
379|TONELLI|EMP|5.5|6|12
380|TOROSIDIS|ROM|0.0|0.0|5
383|VIDIC|INT|0.0|0.0|5
384|VITIELLO|PAL|0.0|0.0|4
385|VRSALJKO|SAS|5.5|5.5|9
386|WAGUE|UDI|0.0|0.0|5
387|WALLACE|CAR|6|6|5
388|WIDMER|UDI|0.0|0.0|11
389|WINCK|VER|0.0|0.0|5
391|ZACCARDO|MIL|0.0|0.0|3
394|ZAPATA C.|MIL|5.5|5.5|5
395|ZAPPACOSTA|TOR|0.0|0.0|12
396|ZUKANOVIC|SAM|6|6|9
397|ZUNIGA|NAP|0.0|0.0|6
398|GILBERTO|FIO|5|5|5
399|HELANDER|VER|0.0|0.0|5
400|SPOLLI|CAR|0.0|0.0|6
401|EL KAOUTARI|PAL|6.5|6.5|8
402|CHIRICHES|NAP|0.0|0.0|5
403|ASTORI|FIO|0.0|0.0|7
406|ZAMBELLI|EMP|5.5|5.5|6
408|KRAFTH|BOL|0.0|0.0|4
409|RUDIGER|ROM|0.0|0.0|8
414|DIGNE|ROM|6.5|6.5|7
415|TOLOI|ATA|0.0|0.0|7
418|POPA|INT|0.0|0.0|1
419|PEREIRA|SAM|0.0|0.0|1
420|TELLES|INT|0.0|0.0|9
421|ANSALDI|GEN|0.0|0.0|7
422|MORGANELLA|PAL|0.0|0.0|5
424|FELIPE|UDI|0.0|0.0|4
501|ACQUAH|TOR|6.5|6.5|6
502|ALLAN|NAP|6.5|5.5|11
503|FELIPE ANDERSON|LAZ|4.5|4.5|22
504|ASAMOAH|JUV|0.0|0.0|6
505|BADELJ|FIO|0.0|0.0|6
506|BADU|UDI|0.0|0.0|7
507|BAKIC|FIO|0.0|0.0|2
508|BARRETO|SAM|6|6|11
509|BASELLI|TOR|10|7|12
511|BENASSI|TOR|5.5|5.5|8
512|BERTOLACCI|MIL|4.5|4.5|13
513|BIANCO|CAR|0.0|0.0|3
514|BIGLIA|LAZ|0.0|0.0|15
515|BIONDINI|SAS|0.0|0.0|5
516|BIRSA|CHI|12|8|12
517|BOLZONI|PAL|0.0|0.0|3
518|BONAVENTURA|MIL|7.5|6.5|16
519|BRIGHI|BOL|0.0|0.0|5
521|BROH|SAS|0.0|0.0|1
522|BROZOVIC|INT|5|5|8
523|BRUGMAN|PAL|0.0|0.0|5
524|CANDREVA|LAZ|5|5|22
526|CARLINI|FRO|6|6|5
527|CARMONA|ATA|0.0|0.0|4
528|CASTRO|CHI|7|7|12
529|CATALDI|LAZ|4|4.5|6
530|CHIBSAH|FRO|0.0|0.0|5
531|CHOCHEV|PAL|0.0|0.0|6
532|CHRISTIANSEN|CHI|0.0|0.0|4
533|CIGARINI|ATA|0.0|0.0|9
534|CORREA|SAM|0.0|0.0|8
535|COSTA T.|GEN|6.5|6.5|10
537|CRISETIG|BOL|5|5|5
538|CROCE|EMP|6.5|6.5|10
539|D'ALESSANDRO|ATA|0.0|0.0|5
540|DE GUZMAN|NAP|0.0|0.0|7
541|DE JONG|MIL|5|5|7
542|DE ROON|ATA|7|7|6
543|DE ROSSI|ROM|5.5|6|11
546|DEZI|NAP|0.0|0.0|2
547|DI GAUDIO|CAR|9.5|6.5|11
548|DIAKHATE|FIO|0.0|0.0|1
549|DIAWARA|BOL|5.5|5.5|1
550|DIOUSSE|EMP|6.5|6.5|3
551|DUNCAN|SAS|6.5|6.5|7
552|EL KADDOURI|NAP|0.0|0.0|8
553|ESTIGARRIBIA|ATA|0.0|0.0|6
554|EVANGELISTA|UDI|0.0|0.0|3
555|FARNERUD|TOR|0.0|0.0|6
557|FERNANDES|UDI|6|6.5|9
558|FERNANDEZ|FIO|5|5.5|11
559|FERNANDO|SAM|5.5|6|10
560|FLORENZI|ROM|6.5|6.5|14
561|FRARA|FRO|0.0|0.0|4
563|GAZZI|TOR|0.0|0.0|4
564|GIORGI|ATA|6|6|3
565|GNOUKOURI|INT|0.0|0.0|4
566|GOMEZ A.|ATA|10|7|14
567|GORI|FRO|5|5|4
568|GRASSI|ATA|6.5|6.5|3
569|GRECO|VER|5.5|5.5|5
570|GUARIN|INT|6.5|6.5|13
571|GUCHER|FRO|5|5|6
572|GUILHERME|UDI|0.0|0.0|5
574|HALLFREDSSON|VER|6|6|12
575|HAMSIK|NAP|6|6|19
576|HERNANES|INT|0.0|0.0|15
577|HETEMAJ|CHI|7|7|7
578|HILJEMARK|PAL|0.0|0.0|6
579|HONDA|MIL|0.0|0.0|9
581|IONITA|VER|0.0|0.0|6
582|ITURRA|UDI|6|6.5|4
583|IVAN|SAM|0.0|0.0|1
584|IZCO|CHI|0.0|0.0|7
585|JAJALO|PAL|6|6.5|5
586|JANKOVIC|VER|6|6|9
588|JORGINHO|NAP|5|5|6
589|KEITA S.|ROM|6|6|9
590|KHEDIRA|JUV|0.0|0.0|10
591|KISHNA|LAZ|4.5|4.5|9
592|KONDOGBIA|INT|5.5|5.5|14
593|KONE|UDI|6|6|10
595|KRSTICIC|SAM|0.0|0.0|5
596|KRUNIC|EMP|0.0|0.0|3
597|KUCKA|GEN|6|6|8
598|KURTIC|ATA|7|7|7
600|LARIBI|SAS|6.5|6.5|6
601|LAXALT|GEN|6.5|6.5|4
602|LAZOVIC|GEN|6|6|8
603|LAZZARI|CAR|6|6|8
604|LOLLO|CAR|5.5|6|4
606|LULIC K.|SAM|0.0|0.0|1
607|LULIC S.|LAZ|4.5|4.5|10
608|MAGNANELLI|SAS|6|6|7
610|MARCHISIO|JUV|0.0|0.0|13
611|MARESCA|PAL|0.0|0.0|4
612|MARRONE|CAR|5.5|5.5|6
614|MAURI J.|MIL|0.0|0.0|5
616|MEDEL|INT|6|6.5|6
617|MERKEL|UDI|4.5|5|4
618|MERTENS|NAP|0.0|0.0|16
619|MIGLIACCIO|ATA|6|6|4
620|MISSIROLI|SAS|5.5|5.5|10
621|MONTOLIVO|MIL|0.0|0.0|7
622|MORALEZ|ATA|7|7|14
623|MORRISON|LAZ|5|5|7
624|NAINGGOLAN|ROM|7|7|15
625|NOCERINO|MIL|4.5|4.5|4
626|OBI|TOR|0.0|0.0|3
627|OIKONOMIDIS|LAZ|0.0|0.0|2
628|ONAZI|LAZ|0.0|0.0|4
629|PADOIN|JUV|5|5|4
630|PAGANINI|FRO|4.5|5|5
631|PALOMBO|SAM|6|6|6
632|PAREDES|ROM|0.0|0.0|4
633|PAROLO|LAZ|5.5|5.5|17
634|PASCIUTI|CAR|0.0|0.0|5
636|PELLEGRINI|SAS|0.0|0.0|1
637|PEREYRA|JUV|7|6|12
638|PEROTTI|GEN|0.0|0.0|16
640|PINZI|UDI|0.0|0.0|5
641|PJANIC|ROM|10|7.5|18
642|POGBA|JUV|5|5.5|21
643|POLI|MIL|0.0|0.0|5
644|POLITANO|SAS|6.5|6.5|6
646|PUGLIESE|CAR|0.0|0.0|1
647|QUAISON|PAL|5|5|7
648|RADOVANOVIC|CHI|0.0|0.0|6
649|RIGONI L.|PAL|0.0|0.0|17
650|RIGONI N.|CHI|6.5|6.5|4
651|RINCON|GEN|7.5|7|8
652|RIZZO|BOL|0.0|0.0|6
653|ROMULO|VER|0.0|0.0|8
654|RONALDO|EMP|0.0|0.0|6
657|SALA|VER|5|5|8
658|SAMMARCO|FRO|0.0|0.0|4
659|SAPONARA|EMP|10|7|22
662|SODDIMO|FRO|5|5|10
663|SORIANO|SAM|5.5|5.5|12
665|STROOTMAN|ROM|0.0|0.0|11
666|STURARO|JUV|5|5|6
667|SUAREZ|FIO|5.5|5.5|9
668|SUSO|MIL|4.5|4.5|6
669|TACHTSIDIS|GEN|0.0|0.0|6
670|UCAN|ROM|0.0|0.0|3
672|VALDIFIORI|NAP|5|5|11
673|BORJA VALERO|FIO|6.5|6.5|14
675|VECINO|FIO|0.0|0.0|7
678|VIVES|TOR|5.5|6|5
679|VIVIANI|VER|6|6|6
680|WSZOLEK|SAM|0.0|0.0|3
681|ZACCAGNI|VER|0.0|0.0|1
682|ZIELINSKI|EMP|6|6|5
683|ZUCULINI|BOL|0.0|0.0|4
684|BRIENZA|BOL|6.5|6.5|16
685|MARTINHO|CAR|0.0|0.0|8
686|FEDELE|CAR|6|6|4
687|NTCHAM|GEN|7.5|7.5|5
688|MILINKOVIC-SAVIC|LAZ|0.0|0.0|5
689|PULGAR|BOL|6|6|7
690|PEPE|CHI|6|6|6
691|MAIELLO|EMP|6|6|5
693|CAPEL|GEN|0.0|0.0|9
694|MARQUINHO|UDI|0.0|0.0|8
695|INIGUEZ|CAR|0.0|0.0|5
696|FALCO|BOL|4.5|5|5
697|MAURI S.|LAZ|0.0|0.0|14
700|CUADRADO|JUV|5.5|5.5|18
701|DONSAH|BOL|6.5|6.5|9
702|TONEV|FRO|6|6|6
703|CARBONERO|SAM|0.0|0.0|8
704|PERISIC|INT|0.0|0.0|20
705|MOUNIER|BOL|0.0|0.0|13
706|VERDU|FIO|0.0|0.0|12
707|VAINQUEUR|ROM|0.0|0.0|6
708|SILVESTRO|BOL|0.0|0.0|1
710|SERINELLI|SAM|0.0|0.0|1
711|CHECCHIN|VER|0.0|0.0|1
712|BLASZCZYKOWSKI|FIO|0.0|0.0|13
713|COFIE|CAR|0.0|0.0|6
714|GIACCHERINI|BOL|0.0|0.0|14
715|MELO|INT|0.0|0.0|11
716|PRCIC|TOR|0.0|0.0|6
717|BUCHEL|EMP|0.0|0.0|5
718|CHRISTODOULOPOULOS|SAM|0.0|0.0|7
719|CHALOBAH|NAP|0.0|0.0|4
720|DZEMAILI|GEN|0.0|0.0|12
721|TAIDER|BOL|0.0|0.0|8
722|KRIVICIC|BOL|0.0|0.0|1
723|LEMINA|JUV|0.0|0.0|8
724|GINO|CAR|0.0|0.0|4
801|ACQUAFRESCA|BOL|0.0|0.0|11
802|AGUIRRE|UDI|0.0|0.0|5
803|AMAURI|TOR|0.0|0.0|8
804|BABACAR|FIO|0.0|0.0|16
805|BACCA|MIL|9.5|6.5|27
806|BELOTTI|TOR|0.0|0.0|17
808|BERARDI|SAS|0.0|0.0|27
809|BERNARDESCHI|FIO|5.5|5.5|11
810|BIABIANY|INT|0.0|0.0|8
813|BONAZZOLI|SAM|0.0|0.0|8
814|CACIA|BOL|0.0|0.0|12
815|CALLEJON|NAP|5|5|18
817|CASSINI|PAL|0.0|0.0|10
818|CERCI|MIL|0.0|0.0|11
819|CIOFANI|FRO|5.5|5.5|12
821|DENIS|ATA|0.0|0.0|16
822|DESTRO|BOL|5|5.5|17
823|DI NATALE|UDI|6|6|25
824|DIONISI|FRO|4.5|5|13
825|DJORDJEVIC|LAZ|0.0|0.0|17
827|DYBALA|JUV|9.5|6.5|26
828|EDER|SAM|13|7|28
829|FALCINELLI|SAS|6|6|9
830|FARES|VER|0.0|0.0|2
831|FLOCCARI|SAS|0.0|0.0|11
832|FLORO FLORES|SAS|10|7|17
833|GABBIADINI|NAP|0.0|0.0|23
834|GAKPE|GEN|10|7|11
836|GERVINHO|ROM|0.0|0.0|14
837|GHIGLIONE|GEN|0.0|0.0|1
838|GLIOZZI|SAS|0.0|0.0|2
839|GOMEZ J.|VER|6|6|13
841|HIGUAIN|NAP|13|7|34
842|IAGO|ROM|8|7|20
843|IBARBO|ROM|0.0|0.0|11
844|ICARDI|INT|0.0|0.0|33
845|ILICIC|FIO|6|6|19
846|INGLESE|CHI|0.0|0.0|6
847|INSIGNE|NAP|7|6|16
848|ITURBE|ROM|6|6|13
849|KEITA B.|LAZ|6|6|13
850|KLOSE|LAZ|0.0|0.0|21
851|LA GUMINA|PAL|0.0|0.0|2
852|LASAGNA|CAR|6|6|10
853|LJAJIC|ROM|0.0|0.0|12
856|MAXI LOPEZ|TOR|5.5|6|16
858|LUIZ ADRIANO|MIL|11|7|23
860|MACCARONE|EMP|7|6.5|19
861|MANCOSU|BOL|5.5|5.5|11
862|MANDZUKIC|JUV|5|5|24
863|MARILUNGO|ATA|0.0|0.0|8
864|MARTINEZ|TOR|5.5|5.5|12
865|MATOS|CAR|6.5|6.5|10
866|MATRI|MIL|0.0|0.0|14
867|MBAKOGU|CAR|0.0|0.0|14
868|MCHEDLIDZE|EMP|5|5|10
869|MEGGIORINI|CHI|12|8|18
870|MENEZ|MIL|0.0|0.0|17
871|MONACHELLO|ATA|0.0|0.0|5
872|MORATA|JUV|5|5|25
874|MPOKU|CHI|0.0|0.0|14
875|MURIEL|SAM|6|6|22
876|NIANG|MIL|0.0|0.0|14
878|PALACIO|INT|6|6|19
880|PALOSCHI|CHI|13.5|7.5|23
881|PANDEV|GEN|5.5|5.5|15
882|PANICO|GEN|0.0|0.0|1
883|PAVOLETTI|GEN|10|7|18
884|PAZZINI|VER|5.5|6|15
885|PELLISSIER|CHI|0.0|0.0|12
887|PERICA|UDI|0.0|0.0|7
888|PINILLA|ATA|2|5.5|15
889|PIU|EMP|0.0|0.0|2
890|PUCCIARELLI|EMP|5|5|12
892|QUAGLIARELLA|TOR|10|7|26
893|REBIC|FIO|5.5|5.5|6
894|ROSSI G.|FIO|6|6|20
896|SANSONE|SAS|6|6|16
898|SILIGARDI|VER|0.0|0.0|10
901|THEREAU|UDI|5.5|5.5|19
902|TONI|VER|5.5|5.5|28
904|TOTTI|ROM|0.0|0.0|19
905|TRAJKOVSKI|PAL|6|6|8
907|VAZQUEZ|PAL|8|7|23
908|VERDE|FRO|0.0|0.0|11
909|WILCZEK|CAR|5|5|10
912|ZAPATA D.|UDI|5|5.5|17
913|ZAZA|JUV|0.0|0.0|15
914|JOVETIC|INT|13|7|28
915|SALAH|ROM|6.5|6.5|22
916|DEFREL|SAS|6|6|18
917|LONGO|FRO|5|5|13
918|DZEKO|ROM|9.5|7|27
920|CASSANO|SAM|0.0|0.0|17
921|MANAJ|INT|0.0|0.0|2
922|ONETO|SAM|0.0|0.0|1
923|KALINIC|FIO|6|6|20
924|DJURDJEVIC|PAL|0.0|0.0|6
925|BALOTELLI|MIL|0.0|0.0|21
926|BAEZ|FIO|0.0|0.0|9
927|GILARDINO|PAL|0.0|0.0|22
929|CASTILLO|FRO|0.0|0.0|14
930|BORRIELLO|CAR|0.0|0.0|14
931|LIVAJA|EMP|0.0|0.0|15
932|PONCE A.|SAM|0.0|0.0|2
933|PONCE E.|ROM|0.0|0.0|6
935|MENDEZ|ROM|0.0|0.0|3
Categorie:Fantacalcio, FantaLega

Flask (parte 8): registrare un nuovo user

settembre 1, 2015 1 commento

Nella parte precedente abbiamo accennato alla authentication ed ai
forms di competenza, considerando utenti inseriti a database, tramite shell.
Vediamo come fare quando un nuovo utente decide di registrarsi in autonomia.
Il Blueprint per l’authentication è stato creato ed attivato in precedenza,
quello che dobbiamo fare è creare un form per la registrazione.
Editiamo quindi il file app/auth/forms.py
ed aggiungiamo il suddetto form:

from flask.ext.wtf import Form
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from wtforms.validators import DataRequired, Length, Email, Regexp, EqualTo
from wtforms import ValidationError
from ..models import User


class LoginForm(Form):
    ...

class RegistrationForm(Form):
    email = StringField('Email', 
                        validators=[DataRequired(), Length(1, 64), Email()])
    username = StringField('Username', 
                           validators=[DataRequired(), Length(1, 64),
                                    Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0,
                                          'Usernames must have only letters, '
                                          'numbers, dots or underscores')])
    password = PasswordField('Password', 
                             validators=[DataRequired(), EqualTo('password2',
                                            message='Passwords must match.')])
    password2 = PasswordField('Confirm password', validators=[DataRequired()])
    submit = SubmitField('Register')

    def validate_email(self, field):
        if User.query.filter_by(email=field.data).first():
            raise ValidationError('Email already registered.')

    def validate_username(self, field):
        if User.query.filter_by(username=field.data).first():
            raise ValidationError('Username already in use.')

Il validator usato nel campo “username”, si assicura che vengano utilizzati solo
lettere, numeri, punti e underscores altrimenti ritorna il messaggio di errore,
passato come argomento a Regexp.
Nel campo password abbiamo un altro validator (EqualTo) che si assicura che le
password immesse (password e conferma della stessa) siano uguali.
I due metodi validate_email() e validate_username() si assicurano che i valori
immessi nei campi non siano già presenti a database, sollevando in caso affermativo,
l’eccezione di competenza.

La template che rappresenterà il form di registrazione sarà /templates/auth/register.html:

{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %} Registration {% endblock %}

{% block page_content %}
    <div class="page-header">
        <h1>New User Registration</h1>
    </div>

    <div class="col-md-4">
        {{ wtf.quick_form(form) }}
    </div>
{% endblock %}

Solitamente la pagina di registrazione, va linkata da quella di Login, in modo che un
nuovo utente, trovandosi di fornte il form di accesso, possa facilmente raggiungere
quello di registrazione.

Apriamo quindi la template /templates/auth/login.html e aggiungiamo il link:

{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}Login{% endblock %}
{% block page_content %}
    <div class="page-header">
        <h1>Login</h1>
    </div>

    <div class="col-md-4">
        {{ wtf.quick_form(form) }}
    </div>

<p>
New user?
    <a href="{{ url_for('auth.register') }}">
        Click here to register
    </a>
</p>
{% endblock %}

La funzione (view) che gestisce l’operazione di registrazione va inserita in
app/auth/views.py:

from flask import render_template, redirect, request, url_for, flash
from flask.ext.login import login_user
from flask.ext.login import logout_user, login_required
from . import auth
from ..models import User
from .forms import LoginForm, RegistrationForm
from .. import db

...

@auth.route('/register', methods=['GET', 'POST'])
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(email=form.email.data,
                    username=form.username.data,
                    password=form.password.data)
        db.session.add(user)
        flash('You can now login.')
        return redirect(url_for('auth.login'))
    return render_template('auth/register.html', form=form)

molto semplice in fase di richiesta visualizzazione form di registrazione (GET),
viene visualizzata la template register.html, in fase di immissione dati (POST),
viene eseguita la parte di codice dentro l’if e, registrato il nuovo user, si
viene reindirizzati alla pagina di login.

Conferma di registrazione – Token

Con la gestione delle registrazioni appena accennata, potremmo però registrare decine
di nuovi user senza problemi. Dobbiamo quindi verificare la mail immessa, mandando ad essa,
una email di conferma, in modo che il nuovo utente possa confermare la propria registrazione.
Per fare questo e per motivi di sicurezza, utilizziamo i token.
Per gestirli si utilizza il pacchetto itsdangerous.

come funziona?

brevemente…apriamo una shell:

python manage.py shell
>>> from manage import app
>>> from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
>>> s = Serializer(app.config['SECRET_KEY'], expires_in = 3600)
>>> token = s.dumps({ 'confirm': 10 })
>>> token
'eyJhbGciOiJIUzI1NiIsImV4cCI6MTQ0MDQxMzkyNCwiaWF0IjoxNDQwNDEwMzI0fQ.eyJjb25maXJtIjoxMH0.Bzoa8GFakRN3WkfvSt5Vkk9RjPC2ffa6Il1aEhFa8tc'
>>> data = s.loads(token)
>>> data
{u'confirm': 10}

L’oggetto Serialiezer fornisce due metodi:
dumps() crea una signature crittografata ed expires_in indicano i secondi di validità della signature.
load() decodifica la stessa.

Cominciamo a gestire la cosa a livello di user e modifichiamo il file app/models.py:

...
from flask import current_app
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

...

class User(UserMixin, db.Model):
    ...
    confirmed = db.Column(db.Boolean, default=False)

    ...
    def generate_confirmation_token(self, expiration=3600):
        s = Serializer(current_app.config['SECRET_KEY'], expiration)
        return s.dumps({'confirm': self.id})

    def confirm(self, token):
        s = Serializer(current_app.config['SECRET_KEY'])
        try:
            data = s.loads(token)
        except:
            return False
        if data.get('confirm') != self.id:
            return False
        self.confirmed = True
        db.session.add(self)
        return True

Siccome abbiamo aggiunto il campo “confirmed” nella tabella “users”, dobbiamo
allineare il database con una migration:

(venv) >python manage.py db migrate -m "confirmed field added to User class"
INFO  [alembic.migration] Context impl SQLiteImpl.
INFO  [alembic.migration] Will assume non-transactional DDL.
INFO  [alembic.autogenerate.compare] Detected added column 'users.confirmed'
Generating ...\migrations\versions\59952a5eeded_confirmed_field_added_to_user_class.py ... done

(venv) >python manage.py db upgrade
INFO  [alembic.migration] Context impl SQLiteImpl.
INFO  [alembic.migration] Will assume non-transactional DDL.
INFO  [alembic.migration] Running upgrade ea1a33541f6 -> 59952a5eeded, confirmed field added to User class

Ora modifichiamo la view che gestisce la registrazione (app/auth/views.py), in modo da mandare la mail di
conferma, prima che l’utente venga redirezionato.

@auth.route('/register', methods=['GET', 'POST'])
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(email=form.email.data,
                    username=form.username.data,
                    password=form.password.data)
        db.session.add(user)
        db.session.commit()
        token = user.generate_confirmation_token()
        send_email(user.email, 'Confirm Your Account', 'auth/email/confirm',
                   user=user, token=token)
        flash('A confirmation email has been sent to you by email.')
        return redirect(url_for('main.index'))
    return render_template('auth/register.html', form=form)

Nota:
nel caso nelle impostazioni del database avessimo settato il commit automatico, è necessario
fare il commit manuale, una volta creato il nuovo user, in modo da avere disponibile subito
l’id, necessario nella conferma del token.
La template che si occupa della mail risiede in app/auth/templates/auth/email/confirm.txt

Dear {{ user.username }},
Welcome to Fantamanager!

To confirm your account please click on the following link:
{{ url_for('auth.confirm', token=token, _external=True) }}

Sincerely,
The Fantamanager Admin
Note: replies to this email address are not monitored.

mentre il file html sarà:

<p>Dear {{ user.username }},</p>
<p>Welcome to <b>Fantamanager</b>!</p>

<p>To confirm your account please <a href="{{ url_for('auth.confirm', token=token, _external=True) }}">click here</a>.</p>
<p>Alternatively, you can paste the following link in your browser's address bar:</p>
<p>{{ url_for('auth.confirm', token=token, _external=True) }}</p>
<p>Sincerely,</p>
<p>The Fantamanager Team</p>

<p><small>Note: replies to this email address are not monitored.</small></p>

ora vediamo la view che si occupa della conferma (app/auth/views.py):

from flask.ext.login import current_user

...

@auth.route('/confirm/<token>')
@login_required
def confirm(token):
    if current_user.confirmed:
        return redirect(url_for('main.index'))
    if current_user.confirm(token):
        flash('You have confirmed your account. Thanks!')
    else:
        flash('The confirmation link is invalid or has expired.')
        return redirect(url_for('main.index'))

articolo successivo:

articoli precedenti:
Flask (parte 1): virtualenv
Flask (parte 2): struttura progetto complesso
Flask (parte 3): database
Flask (parte 4): views e templates
Flask (parte 5): password security
Flask (parte 6): authentication
Flask (parte 7): mail

link utili:
“Flask Web Development” di Miguel Grinberg, fondamentale per calarsi nel mondo di Flask.
Altri link fondamentali:
Flask sito ufficiale
il blog dell’autore (Flask mega tutorial)

Categorie:flask, python Tags: ,

Lista Calciatori Gazzetta 2015-2016

agosto 28, 2015 3 commenti

tutte i file sono compatibili con Fantalight e FantaLega

listone

giornata 1
giornata 2

Lista Calciatori Gazzetta 2015-2016: giornata 1

agosto 28, 2015 1 commento

tutte le giornate

101|ABBIATI|MIL|0.0|0.0|1
102|ANDUJAR|NAP|0.0|0.0|1
103|BASSI|ATA|0.0|0.0|1
104|BENUSSI|CAR|0.0|0.0|2
105|BERISHA|LAZ|5.5|6.5|1
106|BERNI|INT|0.0|0.0|1
107|BIZZARRI|CHI|6|7|12
162|BRESSAN|CHI|0.0|0.0|1
108|BRIGNOLI|SAM|0.0|0.0|1
109|BRKIC|CAR|-1|4|6
110|BUFFON|JUV|5|6|17
111|CARRIZO|INT|0.0|0.0|1
112|CASTELLAZZI|TOR|0.0|0.0|1
113|COLOMBI|PAL|0.0|0.0|1
114|CONSIGLI|SAS|5|6|10
115|COPPOLA|VER|0.0|0.0|1
116|DA COSTA|BOL|0.0|0.0|1
117|DE SANCTIS|ROM|0.0|0.0|2
131|DIEGO LOPEZ|MIL|5|7|13
118|DONNARUMMA A.|GEN|0.0|0.0|1
119|DONNARUMMA G.|MIL|0.0|0.0|1
120|GABRIEL|NAP|0.0|0.0|1
121|GOLLINI|VER|0.0|0.0|1
123|GUERRIERI|LAZ|0.0|0.0|1
124|HANDANOVIC|INT|6|6|15
125|ICHAZO|TOR|0.0|0.0|1
126|KARNEZIS|UDI|6.5|6.5|13
127|LAMANNA|GEN|5|6|1
128|LEALI|FRO|5|7|9
129|LEZZERINI|FIO|0.0|0.0|1
130|LOBONT|ROM|0.0|0.0|1
132|MARCHETTI|LAZ|0.0|0.0|13
133|MERET|UDI|0.0|0.0|1
134|MIRANTE|BOL|0|7|10
135|MURANO|CAR|0.0|0.0|1
136|NETO|JUV|0.0|0.0|1
137|PADELLI|TOR|0|5.5|11
138|PEGOLO|SAS|0.0|0.0|1
139|PELAGOTTI|EMP|0.0|0.0|1
140|PERIN|GEN|0.0|0.0|14
141|PIGLIACELLI|FRO|0.0|0.0|1
142|POMINI|SAS|0.0|0.0|1
144|PUGGIONI|SAM|0.0|0.0|1
145|PUGLIESI|EMP|0.0|0.0|1
146|RADUNOVIC|ATA|0.0|0.0|1
164|RAFAEL C.|NAP|0.0|0.0|1
147|RAFAEL D.|VER|5|6|10
148|REINA|NAP|4.5|6.5|13
149|RUBINHO|JUV|0.0|0.0|1
150|SARR|BOL|0.0|0.0|1
152|SECULIN|CHI|0.0|0.0|1
153|SEPE|FIO|0.0|0.0|10
154|SKORUPSKI|EMP|2.5|5.5|8
155|SORRENTINO|PAL|6.5|6.5|11
156|SPORTIELLO|ATA|5.5|6.5|12
163|SZCZESNY|ROM|6|7|15
158|TATARUSANU|FIO|6|6|5
159|UJKANI|GEN|0.0|0.0|1
160|VIVIANO|SAM|7.5|6.5|15
161|ZAPPINO|FRO|0.0|0.0|2
201|ABATE|MIL|0.0|0.0|7
202|ACERBI|SAS|6.5|6.5|9
203|ADNAN|UDI|5.5|6|5
204|ALBERTAZZI|VER|0.0|0.0|2
205|ALBIOL|NAP|5|5|7
206|ALEX|MIL|0.0|0.0|7
413|ALEX SAND|JUV|0.0|0.0|13
207|ALONSO|FIO|0|6.5|7
208|ALTOBELLI|FRO|0.0|0.0|2
209|ANDELKOVIC|PAL|0.0|0.0|4
210|ANDREOLLI|INT|0.0|0.0|3
211|ANTEI|SAS|0.0|0.0|3
212|ANTONELLI|MIL|5|5|11
213|ARIAUDO|SAS|0.0|0.0|3
403|ASTORI|FIO|6|6|7
214|AVELAR|TOR|7.5|6.5|9
215|BAGADUR|FIO|0.0|0.0|1
216|BARBA|EMP|5|5|6
217|BARZAGLI|JUV|5.5|5.5|10
218|BASANTA|FIO|0.0|0.0|6
219|BASTA|LAZ|6.5|6.5|12
220|BELLINI|ATA|0.0|0.0|4
222|BERTONCINI|FRO|0.0|0.0|2
223|BIANCHETTI|VER|0.0|0.0|3
224|BIRAGHI|CHI|0.0|0.0|4
225|BITTANTE|EMP|0.0|0.0|5
226|BLANCHARD|FRO|0.0|0.0|6
228|BONUCCI|JUV|6|6|13
229|BORGHINI|EMP|0.0|0.0|1
230|BOVO|TOR|0.0|0.0|4
231|BRAAFHEID|LAZ|0.0|0.0|4
232|BRIVIO|ATA|0.0|0.0|3
233|BUBNJIC|CAR|5|5|3
234|BURDISSO|GEN|6|6|7
235|CACCIATORE|CHI|0.0|0.0|4
236|CACERES|JUV|0.0|0.0|5
237|CALABRIA|MIL|0.0|0.0|1
238|CAMPORESE|EMP|0.0|0.0|3
239|CANA|LAZ|0.0|0.0|3
240|CANINI|ATA|0.0|0.0|2
241|CANNAVARO|SAS|0|6.5|6
242|CAPRADOSSI|ROM|0.0|0.0|1
243|CASSANI|SAM|0|6.5|7
244|CASTAN|ROM|4.5|5|6
404|CECCARELLI|BOL|0.0|0.0|6
245|CESAR|CHI|6|6|4
246|CHERUBIN|ATA|5.5|5.5|4
247|CHIELLINI|JUV|5.5|5.5|12
402|CHIRICHES|NAP|4.5|5|6
248|CIOFANI M.|FRO|5.5|6|3
249|CISSOKHO|GEN|7|7|5
250|CODA|SAM|5|5.5|2
251|COLE|ROM|0.0|0.0|5
252|CONTI|ATA|0.0|0.0|2
253|COSTA A.|EMP|0.0|0.0|4
254|CRIVELLO|FRO|6|6|4
256|DAINELLI|CHI|0.0|0.0|6
255|D'AMBROSIO|INT|0.0|0.0|6
257|DANILO|UDI|6|6|10
258|DAPRELA'|PAL|0.0|0.0|3
259|DE CEGLIE|JUV|0.0|0.0|3
260|DE MAIO|GEN|6|6|7
261|DE SCIGLIO|MIL|6|6|5
262|DE SILVESTRI|SAM|0.0|0.0|9
263|DE VRIJ|LAZ|6.5|6.5|11
264|DEL GROSSO|ATA|0.0|0.0|3
407|DELL'ORCO|SAS|0.0|0.0|3
265|DERMAKU|EMP|0.0|0.0|2
266|DIAKITE|FRO|6.5|6.5|6
414|DIGNE|ROM|0.0|0.0|7
267|DIMARCO|INT|0.0|0.0|2
268|DODO'|INT|0.0|0.0|4
269|DOMIZZI|UDI|0.0|0.0|6
270|DRAME'|ATA|0|6|4
271|EDENILSON|UDI|0|6|6
401|EL KAOUTARI|PAL|0|7|7
272|ELY|MIL|3|4|1
273|EMERSON|ROM|0.0|0.0|4
274|EVRA|JUV|5.5|5.5|9
275|FARAONI|UDI|0.0|0.0|2
276|FERRARI|BOL|5|5|2
277|FIGUEIRAS|GEN|0.0|0.0|6
278|FONTANESI|SAS|0.0|0.0|2
279|FREY|CHI|5|5|5
280|GABRIEL SILVA|CAR|6|5|5
281|GAGLIOLO|CAR|5.5|5.5|6
282|GAMBERINI|CHI|6.5|6.5|5
283|GASTALDELLO|BOL|0.0|0.0|7
284|GASTON SILVA|TOR|0.0|0.0|2
285|GAZZOLA|SAS|0.0|0.0|4
286|GENTILETTI|LAZ|7|7|9
287|GHOULAM|NAP|0.0|0.0|6
398|GILBERTO|FIO|5|5|5
288|GLIK|TOR|6|6|14
289|GOBBI|CHI|6.5|6.5|6
290|GOLDANIGA|PAL|0.0|0.0|4
291|GONZALEZ|PAL|7|7|9
411|GYOMBER|ROM|0.0|0.0|3
292|HEGAZY|FIO|0.0|0.0|2
399|HELANDER|VER|0.0|0.0|5
293|HENRIQUE|NAP|0.0|0.0|3
294|HEURTAUX|UDI|5.5|6|8
295|HOEDT|LAZ|0.0|0.0|5
296|HYSAJ|NAP|5|5|5
297|ISLA|JUV|4.5|4.5|4
298|IZZO|GEN|0.0|0.0|6
299|JANSSON|TOR|0.0|0.0|3
300|JUAN|INT|0|6|6
301|KONKO|LAZ|0.0|0.0|3
302|KOULIBALY|NAP|0.0|0.0|7
408|KRAFHT|BOL|0.0|0.0|4
303|KRESIC|ATA|0.0|0.0|4
304|LAURINI|EMP|0.0|0.0|4
305|LAZAAR|PAL|5.5|5.5|8
306|LETIZIA|CAR|3.5|4|4
307|LICHTSTEINER|JUV|6|6|14
308|LONGHI|SAS|0.0|0.0|4
309|LUPERTO|NAP|0.0|0.0|1
310|MAGGIO|NAP|5|5|5
311|MAICON|ROM|0.0|0.0|10
312|MAIETTA|BOL|0.0|0.0|3
313|MAKSIMOVIC|TOR|5.5|6|7
314|MANOLAS|ROM|6|6|11
315|MARCHESE|GEN|6|6.5|8
316|MARIO RUI|EMP|5|5|7
317|MARQUEZ|VER|6|6|6
318|MARTINELLI|EMP|5|5|2
319|MASIELLO|ATA|5.5|5.5|4
320|MASINA|BOL|5.5|5.5|3
321|MATTIELLO|CHI|0.0|0.0|4
322|MAURICIO|LAZ|0.0|0.0|4
323|MBAYE I.|BOL|0.0|0.0|5
324|MESBAH|SAM|0.0|0.0|3
325|MEXES|MIL|0.0|0.0|6
326|MIRANDA|INT|6.5|6.5|12
327|MOISANDER|SAM|0.0|0.0|7
328|MOLINARO|TOR|0.0|0.0|5
329|MONTOYA|INT|0.0|0.0|7
330|MORAS|VER|0|6|7
331|MORETTI|TOR|0|5.5|9
332|MORLEO|BOL|0.0|0.0|4
333|MUNOZ|GEN|0.0|0.0|6
334|MURILLO|INT|6.5|6.5|8
335|NAGATOMO|INT|0.0|0.0|5
410|NEUTON|UDI|0.0|0.0|3
336|OIKONOMOU|BOL|6|6|4
337|PALETTA|MIL|0.0|0.0|6
338|PARENTE|GEN|0.0|0.0|1
339|PASQUAL|FIO|0.0|0.0|9
340|PASQUALE|UDI|0.0|0.0|3
341|PATRIC|LAZ|0.0|0.0|2
342|PAVLOVIC|FRO|0.0|0.0|5
343|PELUSO|SAS|5.5|6|6
344|PERES|TOR|5.5|6|11
345|PIRIS|UDI|5.5|6|5
346|PIRRELLO|PAL|0.0|0.0|1
347|PISANO|VER|6|6|4
348|POLI F.|CAR|0.0|0.0|3
349|PRCE|LAZ|0.0|0.0|1
350|PUCINO|CHI|0.0|0.0|3
351|RADU|LAZ|4|4.5|7
352|RAIMONDI|ATA|0.0|0.0|5
353|RANOCCHIA|INT|0.0|0.0|8
354|REGINI|SAM|6|6|4
355|RISPOLI|PAL|6|6|6
356|RODRIGUEZ|FIO|6|6|14
357|ROMAGNOLI A.|MIL|4.5|5|9
358|ROMAGNOLI S.|CAR|0.0|0.0|4
359|RONCAGLIA|FIO|5.5|6|4
360|ROSI|FRO|6.5|6.5|6
361|ROSSETTINI|BOL|5|5|6
409|RUDIGER|ROM|0.0|0.0|8
362|RUGANI|JUV|0.0|0.0|7
363|RUSSO|FRO|0|6|3
364|SALAMON|SAM|0.0|0.0|4
365|SANTON|INT|6|6|6
366|SARDO|CHI|0.0|0.0|4
368|SILVESTRE|SAM|5.5|5.5|8
369|SOUPRAYEN|VER|6|6.5|5
400|SPOLLI|CAR|5.5|5.5|6
371|STENDARDO|ATA|5.5|5.5|6
372|STRINIC|NAP|0.0|0.0|5
373|STRUNA|PAL|0.0|0.0|5
374|SUAGHER|ATA|0.0|0.0|3
375|TAMBE|GEN|0.0|0.0|3
376|TERRANOVA|SAS|0.0|0.0|4
415|TOLOI|ATA|0.0|0.0|7
378|TOMOVIC|FIO|6.5|6.5|7
379|TONELLI|EMP|0.0|0.0|12
380|TOROSIDIS|ROM|5|5|5
381|TROIANI|CHI|0.0|0.0|1
383|VIDIC|INT|0.0|0.0|5
384|VITIELLO|PAL|5.5|6|4
385|VRSALJKO|SAS|6|6|9
386|WAGUE|UDI|0.0|0.0|5
387|WALLACE|CAR|6|6|4
388|WIDMER|UDI|6|6|11
389|WINCK|VER|0.0|0.0|5
391|ZACCARDO|MIL|0.0|0.0|3
406|ZAMBELLI|EMP|5.5|5.5|6
393|ZANON|FRO|0.0|0.0|4
394|ZAPATA C.|MIL|5|5|5
395|ZAPPACOSTA|TOR|0.0|0.0|12
396|ZUKANOVIC|SAM|0.0|0.0|9
397|ZUNIGA|NAP|0.0|0.0|6
501|ACQUAH|TOR|0.0|0.0|5
502|ALLAN|NAP|0.0|0.0|11
504|ASAMOAH|JUV|0.0|0.0|6
505|BADELJ|FIO|6|6|6
506|BADU|UDI|6|6|7
507|BAKIC|FIO|0.0|0.0|2
508|BARRETO|SAM|6.5|6.5|11
509|BASELLI|TOR|10|7|10
510|BENALI|PAL|0.0|0.0|5
511|BENASSI|TOR|7|7|8
512|BERTOLACCI|MIL|5|5|13
513|BIANCO|CAR|0.0|0.0|3
514|BIGLIA|LAZ|9.5|6.5|15
515|BIONDINI|SAS|0.0|0.0|5
516|BIRSA|CHI|11|7|9
517|BOLZONI|PAL|0.0|0.0|3
518|BONAVENTURA|MIL|4.5|5|15
673|BORJA VALERO|FIO|6.5|6.5|13
684|BRIENZA|BOL|8|7|16
519|BRIGHI|BOL|4|4.5|5
520|BRILLANTE|EMP|0.0|0.0|3
521|BROH|SAS|0.0|0.0|1
522|BROZOVIC|INT|6.5|6.5|8
523|BRUGMAN|PAL|0.0|0.0|5
524|CANDREVA|LAZ|7|7|23
693|CAPEL|GEN|5|5|9
526|CARLINI|FRO|6|6|4
527|CARMONA|ATA|3.5|4.5|4
528|CASTRO|CHI|6|6|11
529|CATALDI|LAZ|6|6|7
530|CHIBSAH|FRO|0.0|0.0|5
531|CHOCHEV|PAL|5|5|6
532|CHRISTIANSEN|CHI|0.0|0.0|4
533|CIGARINI|ATA|0.0|0.0|9
534|CORREA|SAM|0.0|0.0|8
535|COSTA T.|GEN|0|6.5|9
699|CRIMI|BOL|5.5|5.5|5
537|CRISETIG|BOL|5.5|5.5|5
538|CROCE|EMP|8|7|9
700|CUADRADO|JUV|0.0|0.0|18
539|D'ALESSANDRO|ATA|5.5|5.5|5
605|DAVID LOPEZ|NAP|6|6|7
540|DE GUZMAN|NAP|0.0|0.0|7
541|DE JONG|MIL|5|5|8
542|DE ROON|ATA|6.5|6.5|6
543|DE ROSSI|ROM|6|6|11
545|DELLA ROCCA|PAL|0.0|0.0|2
546|DEZI|NAP|0.0|0.0|2
547|DI GAUDIO|CAR|6|6|9
548|DIAKHATE|FIO|0.0|0.0|1
549|DIAWARA|BOL|0.0|0.0|1
550|DIOUSSE'|EMP|5.5|5.5|1
701|DONSAH|BOL|0.0|0.0|9
551|DUNCAN|SAS|6|6|6
552|EL KADDOURI|NAP|5|5|8
553|ESTIGARRIBIA|ATA|0.0|0.0|6
554|EVANGELISTA|UDI|0.0|0.0|3
696|FALCO|BOL|0.0|0.0|5
555|FARNERUD|TOR|0.0|0.0|6
686|FEDELE|CAR|0.0|0.0|4
503|FELIPE ANDERSON|LAZ|5.5|5.5|23
557|FERNANDES|UDI|6.5|6.5|8
558|FERNANDEZ|FIO|0.0|0.0|12
559|FERNANDO|SAM|10|7|10
560|FLORENZI|ROM|9.5|6.5|14
561|FRARA|FRO|0.0|0.0|4
563|GAZZI|TOR|0|6|4
564|GIORGI|ATA|0.0|0.0|3
565|GNOUKOURI|INT|0|5.5|4
566|GOMEZ A.|ATA|6.5|6.5|12
567|GORI|FRO|6|6|4
568|GRASSI|ATA|0.0|0.0|2
569|GRECO|VER|6|6|5
570|GUARIN|INT|0.0|0.0|13
571|GUCHER|FRO|5.5|5.5|6
572|GUILHERME|UDI|0.0|0.0|5
574|HALLFREDSSON|VER|8.5|7.5|12
575|HAMSIK|NAP|9|6|19
576|HERNANES|INT|6|6|15
577|HETEMAJ|CHI|5|5|6
578|HILJEMARK|PAL|6.5|6.5|6
579|HONDA|MIL|5.5|5.5|9
695|INIGUEZ|CAR|0.0|0.0|5
581|IONITA|VER|0.0|0.0|6
582|ITURRA|UDI|5.5|5.5|4
583|IVAN|SAM|5|6|1
584|IZCO|CHI|0.0|0.0|7
585|JAJALO|PAL|6|6|4
586|JANKOVIC|VER|10|7|9
587|JOAQUIN|FIO|0.0|0.0|12
588|JORGINHO|NAP|0.0|0.0|6
589|KEITA S.|ROM|6|6|9
590|KHEDIRA|JUV|0.0|0.0|10
591|KISHNA|LAZ|10|7|9
592|KONDOGBIA|INT|6|6|14
593|KONE|UDI|7.5|6.5|10
595|KRSTICIC|SAM|0.0|0.0|5
596|KRUNIC|EMP|0.0|0.0|3
597|KUCKA|GEN|0|6.5|7
598|KURTIC|ATA|0|6.5|7
600|LARIBI|SAS|0.0|0.0|5
601|LAXALT|GEN|0|6.5|4
602|LAZOVIC|GEN|5|5|8
603|LAZZARI|CAR|6.5|6.5|7
604|LOLLO|CAR|0.0|0.0|4
606|LULIC K.|SAM|0.0|0.0|1
607|LULIC S.|LAZ|5.5|5.5|11
608|MAGNANELLI|SAS|6|6.5|6
691|MAIELLO|EMP|0.0|0.0|5
609|MARCHIONNI|SAM|0.0|0.0|3
610|MARCHISIO|JUV|0.0|0.0|14
611|MARESCA|PAL|0.0|0.0|4
694|MARQUINHO|UDI|0.0|0.0|8
612|MARRONE|CAR|6|6.5|6
685|MARTINHO|CAR|0.0|0.0|8
613|MASTOUR|MIL|0.0|0.0|2
614|MAURI J.|MIL|0.0|0.0|5
697|MAURI S.|LAZ|0.0|0.0|15
615|MBAYE M.|CHI|0.0|0.0|1
616|MEDEL|INT|5.5|5.5|6
617|MERKEL|UDI|0.0|0.0|4
618|MERTENS|NAP|5|5|16
619|MIGLIACCIO|ATA|5.5|5.5|3
688|MILINKOVIC-SAVIC|LAZ|5|5.5|5
620|MISSIROLI|SAS|6.5|6.5|10
621|MONTOLIVO|MIL|0.0|0.0|7
622|MORALEZ|ATA|4.5|5|13
623|MORRISON|LAZ|0.0|0.0|7
624|NAINGGOLAN|ROM|6|6|15
625|NOCERINO|MIL|5.5|5.5|4
687|NTCHAM|GEN|6.5|6.5|4
626|OBI|TOR|0.0|0.0|3
627|OIKONOMIDIS|LAZ|0.0|0.0|2
628|ONAZI|LAZ|0.0|0.0|4
629|PADOIN|JUV|0|5.5|4
630|PAGANINI|FRO|7|6|6
631|PALOMBO|SAM|0.0|0.0|6
632|PAREDES|ROM|0.0|0.0|4
633|PAROLO|LAZ|6|6|18
634|PASCIUTI|CAR|0.0|0.0|5
635|PASQUATO|JUV|0.0|0.0|4
636|PELLEGRINI|SAS|0.0|0.0|1
690|PEPE|CHI|0.0|0.0|6
637|PEREYRA|JUV|5|5|12
638|PEROTTI|GEN|0.0|0.0|17
639|PETRICCIONE|FIO|0.0|0.0|1
640|PINZI|UDI|0.0|0.0|5
641|PJANIC|ROM|6|6|16
642|POGBA|JUV|5.5|5.5|21
643|POLI A.|MIL|0.0|0.0|5
644|POLITANO|SAS|6|6|5
645|PORCARI|CAR|4.5|5|4
646|PUGLIESE|CAR|0.0|0.0|1
689|PULGAR|BOL|6|6|6
647|QUAISON|PAL|6.5|6.5|7
648|RADOVANOVIC|CHI|5.5|5.5|6
649|RIGONI L.|PAL|0.0|0.0|15
650|RIGONI N.|CHI|5.5|6|3
651|RINCON|GEN|0.0|0.0|7
652|RIZZO|BOL|0.0|0.0|6
653|ROMULO|VER|0.0|0.0|8
654|RONALDO|EMP|5|5|6
655|ROSSI F.|JUV|0.0|0.0|2
657|SALA|VER|6|6|8
658|SAMMARCO|FRO|0.0|0.0|4
659|SAPONARA|EMP|0|7|21
692|SCHELOTTO|INT|0.0|0.0|3
661|SIGNORELLI|EMP|0|5|4
662|SODDIMO|FRO|9.5|6.5|10
663|SORIANO|SAM|7|7|13
664|STEVANOVIC|TOR|0.0|0.0|3
665|STROOTMAN|ROM|0.0|0.0|11
666|STURARO|JUV|0.0|0.0|6
667|SUAREZ|FIO|6|6|9
668|SUSO|MIL|0.0|0.0|7
669|TACHTSIDIS|GEN|5.5|5.5|6
670|UCAN|ROM|0.0|0.0|3
672|VALDIFIORI|NAP|4.5|5|11
675|VECINO|FIO|0.0|0.0|7
678|VIVES|TOR|0.0|0.0|5
679|VIVIANI|VER|0.0|0.0|6
680|WSZOLEK|SAM|0.0|0.0|3
681|ZACCAGNI|VER|0.0|0.0|1
682|ZIELINSKI|EMP|5.5|5.5|5
683|ZUCULINI|BOL|0.0|0.0|4
801|ACQUAFRESCA|BOL|5.5|5.5|11
802|AGUIRRE|UDI|0.0|0.0|5
803|AMAURI|TOR|0.0|0.0|8
804|BABACAR|FIO|0.0|0.0|17
805|BACCA|MIL|4.5|4.5|26
926|BAEZ|FIO|0.0|0.0|9
925|BALOTELLI|MIL|0.0|0.0|21
806|BELOTTI|TOR|0.0|0.0|18
807|BENTIVEGNA|PAL|0.0|0.0|1
808|BERARDI|SAS|7.5|7|27
809|BERNARDESCHI|FIO|5.5|6|11
810|BIABIANY|INT|0.0|0.0|8
812|BOAKYE|ATA|0.0|0.0|7
813|BONAZZOLI|SAM|0.0|0.0|8
814|CACIA|BOL|0.0|0.0|12
815|CALLEJON|NAP|0|5.5|19
920|CASSANO|SAM|5.5|5.5|18
817|CASSINI|PAL|0.0|0.0|10
818|CERCI|MIL|0.0|0.0|11
819|CIOFANI D.|FRO|0.0|0.0|12
820|COMAN|JUV|5.5|5.5|6
916|DEFREL|SAS|6.5|6.5|18
821|DENIS|ATA|5|5|16
822|DESTRO|BOL|5|5|17
823|DI NATALE|UDI|4.5|4.5|26
824|DIONISI|FRO|5.5|6|14
825|DJORDJEVIC|LAZ|0.0|0.0|18
924|DJURDJEVIC|PAL|0.0|0.0|6
827|DYBALA|JUV|5.5|5.5|24
918|DZEKO|ROM|6|6|26
828|EDER|SAM|13|7|25
829|FALCINELLI|SAS|6|6|9
830|FARES|VER|0.0|0.0|2
831|FLOCCARI|SAS|0.0|0.0|11
832|FLORO FLORES|SAS|9.5|6.5|15
833|GABBIADINI|NAP|5|5|23
834|GAKPE'|GEN|0.0|0.0|9
835|GEIJO|UDI|0.0|0.0|8
836|GERVINHO|ROM|5.5|5.5|14
837|GHIGLIONE|GEN|0.0|0.0|1
838|GLIOZZI|SAS|0.0|0.0|2
839|GOMEZ J.|VER|5.5|6|13
841|HIGUAIN|NAP|5|5|31
842|IAGO|ROM|6|6|19
843|IBARBO|ROM|0.0|0.0|11
844|ICARDI|INT|0.0|0.0|33
845|ILICIC|FIO|0|7.5|19
846|INGLESE|CHI|0.0|0.0|6
847|INSIGNE|NAP|0|4.5|15
848|ITURBE|ROM|0.0|0.0|13
914|JOVETIC|INT|10|7|25
923|KALINIC|FIO|7|7|20
849|KEITA B.|LAZ|6.5|6.5|13
850|KLOSE|LAZ|0.0|0.0|22
851|LA GUMINA|PAL|0.0|0.0|2
852|LASAGNA|CAR|5.5|5.5|10
853|LJAJIC|ROM|0.0|0.0|13
854|LLORENTE|JUV|0.0|0.0|14
917|LONGO|FRO|6|6|13
858|LUIZ ADRIANO|MIL|5|5|21
859|LUPOLI|FRO|0.0|0.0|7
860|MACCARONE|EMP|6|6|19
921|MANAJ|INT|0.0|0.0|2
861|MANCOSU|BOL|10|7|11
862|MANDZUKIC|JUV|6|6|25
863|MARILUNGO|ATA|0.0|0.0|8
864|MARTINEZ|TOR|6|6|12
865|MATOS|CAR|9.5|6.5|10
866|MATRI|MIL|0.0|0.0|14
856|MAXI LOPEZ|TOR|5|5|16
867|MBAKOGU|CAR|0.0|0.0|15
868|MCHEDLIDZE|EMP|5|5|11
869|MEGGIORINI|CHI|11|7.5|16
870|MENEZ|MIL|0.0|0.0|18
871|MONACHELLO|ATA|0.0|0.0|5
872|MORATA|JUV|0.0|0.0|26
874|MPOKU|CHI|5|5|14
875|MURIEL|SAM|14|8|22
876|NIANG|MIL|0.0|0.0|15
922|ONETO|SAM|0.0|0.0|1
878|PALACIO|INT|0|6|20
880|PALOSCHI|CHI|0|7|20
881|PANDEV|GEN|5|5|15
882|PANICO|GEN|0.0|0.0|1
883|PAVOLETTI|GEN|0.0|0.0|16
884|PAZZINI|VER|0.0|0.0|15
885|PELLISSIER|CHI|0.0|0.0|13
887|PERICA|UDI|0.0|0.0|7
888|PINILLA|ATA|5.5|6|18
889|PIU|EMP|0.0|0.0|2
890|PUCCIARELLI|EMP|5|5|13
892|QUAGLIARELLA|TOR|10|7|25
893|REBIC|FIO|0.0|0.0|6
894|ROSSI G.|FIO|0.0|0.0|21
915|SALAH|ROM|5|5|22
896|SANSONE|SAS|9.5|7|16
898|SILIGARDI|VER|6|6|10
899|SOWE|CHI|0.0|0.0|4
901|THEREAU|UDI|9.5|6.5|20
902|TONI|VER|6|6|28
904|TOTTI|ROM|0.0|0.0|20
905|TRAJKOVSKI|PAL|6.5|6.5|7
906|VARGAS|NAP|0.0|0.0|12
907|VAZQUEZ|PAL|6.5|6.5|22
908|VERDE|FRO|0.0|0.0|11
909|WILCZEK|CAR|5.5|5.5|11
912|ZAPATA D.|UDI|6.5|6.5|18
913|ZAZA|JUV|0.0|0.0|16

Flask (parte 7): mail

agosto 26, 2015 2 commenti

Per notificare un evento ad uno User, utilizzeremo il pacchetto Flask-Mail,
che integra in maniera efficiente smtplib con flask.
Per installarlo:

(venv) >pip install flask-mail

flask-mail consente di connetterci ad un SMTP server in modo da passargli
le mail e far sì che vengano spedite.
Con la configurazione di default, Flask-Mail si connette tramite la porta
25 a localhost e spedisce mail senza bisogno di autenticazione.
Le chiavi che permettono di configurare Flask-Mail sono:

MAIL_SERVER : default “localhost”
MAIL_PORT : default 25
MAIL_USE_TLS : default False
MAIL_USE_SSL : default False
MAIL_DEBUG : default app.debug
MAIL_USERNAME : default None
MAIL_PASSWORD : default None
MAIL_DEFAULT_SENDER : default None
MAIL_MAX_EMAILS : default None
MAIL_SUPPRESS_SEND : default app.testing
MAIL_ASCII_ATTACHMENTS : default False

Nel caso specifico della nostra applicazione, dovremo inizializzare Flask-Mail
in app.__init__.py, creando una istanza di Mail, che gestirà le emails:

from flask.ext.mail import Mail

...
mail = Mail()

def create_app(config_name):
    ...
    mail.init_app(app)
    ...

I valori di configurazione sono già stati settati nel file config.py e
prevedono di spedire mail tramite account di posta gmail:

...

class DevelopmentConfig(Config):
    DEBUG = True
    MAIL_SERVER = 'smtp.googlemail.com'
    MAIL_PORT = 587
    MAIL_USE_TLS = True
    MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
    MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
    ...

i valori “MAIL_USERNAME” e “MAIL_PASSWORD” vengono settati per motivi di privacy
nel seguente modo per linux:

(venv) $ export MAIL_USERNAME=<Gmail username>
(venv) $ export MAIL_PASSWORD=<Gmail password>

e nel seguente, per windows:

(venv) $ set MAIL_USERNAME=<Gmail username>
(venv) $ set MAIL_PASSWORD=<Gmail password>

In questo modo, le nostre credenziali non appariranno nel codice, ma verranno prelevate dal dizionario
os.environ direttamente:

    MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
    MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
(venv) >set MAIL_USERNAME=bancaldo@example.com
(venv) >set MAIL_PASSWORD=pippo

(venv) >python manage.py shell

>>> import os
>>> os.environ.get("MAIL_USERNAME")
'bancaldo@example.com'
>>> os.environ.get("MAIL_PASSWORD")
'pippo'

ovviamente username e pw vanno sostituiti con qualcosa di esistente…
vediamo come mandare una mail dalla shell:

>>> import os
>>> from flask import Flask
>>> from flask_mail import Message
>>> from flask_mail import Mail
>>> app = Flask("test")
>>> mail = Mail(app)
>>> sender = os.environ.get("MAIL_USERNAME")
>>> sender
'bancaldo@example.com'
>>> recipients = [sender] # mi auto spedisco una mail!
>>> msg = Message("Test", sender=sender, recipients=recipients)
>>> msg.recipients
['bancaldo@example.com']
>>> msg.add_recipient("pippo@example.com") # per aggiungere destinatari...
>>> msg.recipients
['bancaldo@example.com', 'pippo@example.com']
>>> msg.body = "text body"
>>> msg.html = "<b>HTML</b> body"
>>> with app.app_context():
...     mail.send(msg)
...

nota: il messaggio può avere un text body e/o uno html, pertanto li abbiamo aggiunti
entrambi.
Questo modo di mandare mail, non è comodissimo pertanto automatizziamo l’operazione di
spedizione mail, creando una funzione nell’apposito file app/email.py:

from threading import Thread
from flask import current_app, render_template
from flask.ext.mail import Message
from . import mail


def send_async_email(app, msg):
    with app.app_context():
        mail.send(msg)


def send_email(to, subject, template, **kwargs):
    app = current_app._get_current_object()
    msg = Message(app.config['FANTAMANAGER_MAIL_SUBJECT_PREFIX'] + ' ' + subject,
                  sender=app.config['FANTAMANAGER_MAIL_SENDER'], recipients=[to])
    msg.body = render_template(template + '.txt', **kwargs)
    msg.html = render_template(template + '.html', **kwargs)
    thr = Thread(target=send_async_email, args=[app, msg])
    thr.start()
    return thr

La funzione mail.send() blocca l’applicazione durante l’operazione di spedizione.
Per questo l’operazione stessa viene delegata ad un thread che lavora in background,
evitando che il browser e tutta l’applicazione rimangano in attesa.

La template che si occupa della mail risiede in app/auth/templates/auth/email/confirm.txt

Dear {{ user.username }},
Welcome to Fantamanager!

To confirm your account please click on the following link:
{{ url_for('auth.confirm', token=token, _external=True) }}

Sincerely,
The Fantamanager Admin
Note: replies to this email address are not monitored.

mentre il file html sarà:

<p>Dear {{ user.username }},</p>
<p>Welcome to <b>Fantamanager</b>!</p>

<p>To confirm your account please <a href=
    "{{ url_for('auth.confirm', token=token, _external=True) }}">click here</a>.</p>
<p>Alternatively, you can paste the following link in your browser's address bar:</p>
<p>{{ url_for('auth.confirm', token=token, _external=True) }}</p>

<p>Sincerely,</p>
<p>The Fantamanager Team</p>

<p><small>Note: replies to this email address are not monitored.</small></p>

articolo successivo:
Flask (parte 8): registrare un nuovo user

articoli precedenti:
Flask (parte 1): virtualenv
Flask (parte 2): struttura progetto complesso
Flask (parte 3): database
Flask (parte 4): views e templates
Flask (parte 5): password security
Flask (parte 6): authentication

link utili:
“Flask Web Development” di Miguel Grinberg, fondamentale per calarsi nel mondo di Flask.
Altri link fondamentali:
Flask sito ufficiale
il blog dell’autore (Flask mega tutorial)

Categorie:flask, python Tags: ,

Ubuntu 15.04 64bit: PLEX doesn’t work

agosto 17, 2015 Lascia un commento

First of all remove old plex packages.
From terminal:

cd /var/lib/dpkg/info

and

sudo rm -f plexmediaserver*

and finally:

sudo dpkg -r plexmediaserver

now get the package that fixes the issue:

sudo wget https://downloads.plex.tv/plex-media-server/0.9.12.1.1079-b655370/plexmediaserver_0.9.12.1.1079-b655370_amd64.deb

Install the new package (with default answers)…

sudo dpkg -i plexmediaserver_0.9.12.1.1079-b655370_amd64.deb

…and run the service:

sudo service plexmediaserver start

njoy

Categorie:Kubuntu, plex, Ubuntu Tags: , ,

Lista Calciatori 2015-2016: listone

luglio 30, 2015 7 commenti

aggiornato 02/set/2015
tutte le giornate

Attenzione, da quest’anno sono presenti i trequartisti indicati con una T a fine riga:

PORTIERI 

Abbiati 1
Andujar 1
Bassi 1
Belec 1
Benussi 2
Berisha 2
Berni 1
Bizzarri 14
Bressan 1
Brignoli 1
Brkic 6
Buffon 17
Carrizo 1
Castellazzi 1
Colombi 1
Consigli 11
Coppola 1
Da Costa 1
De Sanctis 2
Donnarumma A. 1
Donnarumma G. 1
Gabriel 1
Gollini 1
Guerrieri 1
Handanovic 15
Ichazo 1
Karnezis 13
Lamanna 3
Leali 11
Lezzerini 1
Liotti 1
Lobont 1
Diego Lopez 13
Marchetti 12
Meret 1
Mirante 11
Murano 1
Neto 1
Padelli 12
Pegolo 1
Pelagotti 1
Perin 13
Perisan 1
Pomini 1
Puggioni 1
Pugliesi 1
Radunovic 1
Rafael Cabral 1
Rafael Andrade 10
Reina 13
Rubinho 1
Sarr 1
Seculin 1
Sepe 10
Skorupski 8
Sorrentino 13
Sportiello 13
Szczesny 16
Tatarusanu 5
Ujkani 1
Viviano 14
Zappino 2

DIFENSORI

Abate 7
Acerbi 10
Adnan 6
Albertazzi 2
Albiol 6
Alex 7
Alex Sandro 12
Alonso M. 8
Altobelli 2
Andelkovic 4
Ansaldi 7
Antei 3
Antonelli 10
Ariaudo 3
Astori 7
Avelar 10
Bagadur 1
Barba 6
Barzagli 10
Basta 12
Bellini 4
Bertoncini 2
Bianchetti 3
Bittante 5
Blanchard 5
Bonucci 13
Borghini 1
Bovo 4
Braafheid 4
Brivio 3
Bubnjic 3
Burdisso 7
Cacciatore 4
Caceres 5
Calabria 1
Camporese 3
Canini 2
Cannavaro 6
Capradossi 1
Cassani 7
Castan 6
Cesar 5
Cherubin 4
Chiellini 11
Chiriches 5
Ciofani M. 3
Cissokho 5
Coda 2
Cole 5
Conti 2
Crivello 4
Dainelli 6
D’Ambrosio 6
Danilo 10
Daprelà 3
De Maio 7
De Sciglio 5
De Silvestri 9
De Vrij 10
Dermaku 2
Diakité 5
Digne 7
Dimarco 2
Dodo’ 4
Domizzi 6
Dramè 5
Edenilson 6
El Kaoutari 8
Ely 1
Emerson 4
Evra 8
Ferrari 2
Figueiras 6
Frey 5
Gabriel Silva 5
Gagliolo 6
Gamberini 5
Gastaldello 7
Gaston Silva 2
Gazzola 4
Gentiletti 8
Ghoulam 6
Gilberto 5
Glik 14
Gobbi 6
Goldaniga 4
Gonzalez 9
Helander 5
Henrique 3
Heurtaux 8
Hoedt 5
Hysaj 5
Izzo 6
Jansson 3
Juan Jesus 6
Konko 3
Koulibaly 7
Krafth 4
Kresic 1
Laurini 4
Lazaar 8
Letizia 4
Lichtsteiner 13
Longhi 4
Luperto 1
Maggio 5
Maicon 10
Maietta 3
Maksimovic 7
Manolas 11
Marchese 8
Mario Rui 7
Marquez 6
Martinelli 2
Masiello 4
Masina 4
Mattiello 4
Mauricio 4
Mbaye 5
Mesbah 3
Mexes 6
Miranda 12
Moisander 7
Molinaro 5
Montoya 7
Moras 7
Moretti 11
Morganella 5
Morleo 4
Munoz 6
Murillo 9
Nagatomo 5
Oikonomou 4
Paletta 6
Parente 1
Pasqual 9
Pasquale 3
Patric 2
Pavlovic 5
Peluso 6
Pereira 1
Peres 11
Piris 5
Pirrello 1
Pisano 4
Popa 1
Prce 1
Radu 7
Raimondi 5
Ranocchia 8
Regini 5
Rispoli 6
Rodriguez G. 13
Romagnoli A. 9
Romagnoli S. 4
Roncaglia 4
Rosi 6
Rossettini 6
Rudiger 8
Rugani 7
Russo 3
Santon 6
Sardo 4
Silvestre 8
Souprayen 5
Spolli 6
Stendardo 8
Strinic 5
Struna 4
Suagher 3
Tambe 3
Telles 9
Terranova 4
Terzi 3
Toloi 7
Tomovic 6
Tonelli 12
Torosidis 5
Vidic 5
Vitiello 4
Vrsaljko 9
Wague 5
Wallace 5
Widmer 11
Winck 5
Zaccardo 3
Zambelli 6
Zapata 5
Zappacosta 12
Zukanovic 9
Zuniga 6

CENTROCAMPISTI: 

Acquah 6
Allan 11
Anderson 22 T
Asamoah 6
Badelj 6
Badu 7
Bakic 2
Barreto 11
Baselli 12
Benassi 8
Bertolacci 13
Bianco 3
Biglia 15
Biondini 5
Birsa 12 T
Blaszczykowski 13 T
Bolzoni 3
Bonaventura 16 T
Brienza 16 T
Brighi 5
Broh 1
Brozovic 8
Brugman 5
Buchel 5
Candreva 22 T
Capel Diego 9 T
Carbonero 8
Carlini 5 T
Carmona 4
Castro 12
Cataldi 6
Chalobah 4
Checchin 1
Chibsah 5
Chochev 6
Christiansen 4
Christodoulopoulos 7
Cigarini 9
Cofie 6
Correa 8 T
Costa Tino 10
Crisetig 5
Croce 10
Cuadrado 18 T
D’Alessandro 5 T
De Guzman 7 T
De Jong 7
De Roon 6
De Rossi 11
Dezi 2
Di Gaudio 11 T
Diakhate 1
Diawara 1
Diousse 3
Duncan 7
Dzemaili 12
El Kaddouri 8
Estigarribia 6
Evangelista Lucas 3 T
Falco 5
Farnerud 6
Fazzi 2 T
Fedele 4
Fernandes Bruno 9 T
Fernandez Mati 11
Fernando 10
Florenzi 14
Frara 4
Gazzi 4
Giaccherini 14 T
Gino 4
Giorgi 3
Gnoukouri 4
Gomez Papu 14 T
Gori 4
Grassi 3
Greco 5
Guarin 13
Gucher 6
Guilherme 5
Hallfredsson 12
Hamsik 19
Hernanes 15 T
Hetemaj 7
Hiljemark 6
Honda 9 T
Iniguez 5
Ionita 6
Iturra 4
Ivan 1 T
Izco 7
Jajalo 5
Jankovic 9 T
Jorginho 6
Keita 9
Khedira 10
Kishna 9 T
Kondogbia 14
Kone 10 T
Krivicic 1
Krsticic 5
Krunic 3
Kucka 8
Kurtic 7
Laribi 6
Laxalt 4 T
Lazovic 8 T
Lazzari 8
Lemina 8
Lollo 4
Lopez David 7
Lulic Karlo 1
Lulic Senad 10
Magnanelli 7
Maiello 5
Marchisio 13
Maresca 4
Marquinho 8
Marrone 6
Martinho 8
Mauri José 5
Mauri S. 14 T
Medel 6
Melo Felipe 11
Merkel 4
Mertens 16 T
Migliaccio 4
Milinkovic-Savic 5
Missiroli 10
Montolivo 7
Moralez 14 T
Morrison 7
Mounier 13
Nainggolan 15
Nocerino 4
Ntcham 5
Obi 3
Oikonomidis 2
Onazi 4
Padoin 4
Paganini 5 T
Palombo 6
Paredes 4
Parolo 17
Pasciuti 5
Pellegrini 1
Pepe 6
Pereyra 12 T
Perisic 20 T
Perotti 16 T
Pinzi 5
Pjanic 18
Pogba 21
Poli 5
Politano 6 T
Prcic 6
Pugliese 1
Pulgar 7
Quaison 7
Radovanovic 6
Rigoni Luca 17
Rigoni N. 4
Rincon 8
Rizzo 6
Romulo 8
Ronaldo 6
Sala 8
Sammarco 4
Saponara 22 T
Serinelli 1
Silvestro 1
Soddimo 10 T
Soriano 12
Strootman 11
Sturaro 6
Suarez Mario 9
Suso 6 T
Tachtsidis 6
Taider 8
Tonev 6
Ucan 3
Vainqueur 6
Valdifiori 11
Valero 14
Vecino 7
Verdu 12
Vives 5
Viviani 6
Wszolek 3
Zaccagni 1
Zielinski 5 T
Zuculini 4

ATTACCANTI:

Acquafresca 11
Aguirre 5
Amauri 8
Babacar 16
Bacca 27
Baez 9
Balotelli 21
Belotti 17
Berardi 27 T
Bernardeschi 11 T
Biabiany 8 T
Bonazzoli 8
Borriello 14
Cacia 12
Callejon 18
Cassano 17
Cassini 10
Castillo 14
Cerci 11 T
Ciofani 12
Defrel 18
Denis 16
Destro 17
Di Natale 25
Dionisi 13
Djordjevic 17
Djurdjevic 6
Dybala 26
Dzeko 27
Eder 28
Falcinelli 9
Fares 2
Floccari 11
Floro Flores 17
Gabbiadini 23
Gakpe 11 T
Gervinho 14 T
Ghiglione 1 T
Gilardino 22
Gilozzi 2
Gomez Juanito 13 T
Higuain 34
Iago Falque 20 T
Ibarbo 11 T
Icardi 33
Ilicic 19 T
Inglese 6
Insigne 16 T
Iturbe 13 T
Jovetic 28 T
Kalinic 20
Keita 13 T
Klose 21
La Gumina 2
Lasagna 10
Livaja 15
Ljajic 12 T
Longo 13
Lopez Maxi 16
Luiz Adriano 23
Maccarone 19
Manaj 2
Mancosu 11
Mandzukic 24
Marilungo 8
Martinez 12
Matos 10 T
Matri 14
Mbakogu 14
Mchedlidze 10
Meggiorini 18
Mendez 3
Menez 17 T
Monachello 5
Morata 25
Mpoku 14 T
Muriel 22
Niang 14
Oneto 1
Palacio 19
Paloschi 23
Pandev 15
Panico 1
Pavoletti 18
Pazzini 15
Pellissier 12
Perica 7
Pinilla 15
Piu 2
Ponce A. 2
Ponce E. 6
Pucciarelli 12
Quagliarella 26
Rebic 6
Rodriguez A. 11
Rossi 20
Salah 22 T
Sansone 16 T
Siligardi 10 T
Thereau 19
Toni 28
Totti 19
Trajkovski 8 T
Vazquez 23 T
Verde 11 T
Wilczek 10
Zapata 17
Zaza 15
Categorie:Fantacalcio, FantaLega
Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 26 follower