Statistiche Fantacalcio: Flask-SQLAlchemy – view (parte 2)
20 Settembre 2013
ecco una UI veloce veloce e molto migliorabile:
import model class TextualViewer(object): def show_main_menu(self): menu = """\n * Scegli un'opzione ---------------------------------- 1 - Miglior giocatore del torneo 2 - Miglior portiere del torneo 3 - Miglior difensore del torneo 4 - Miglior ccampista del torneo 5 - Miglior attaccante del torneo 6 - Miglior giocatore per squadra 7 - Media giocatori per squadra 8 - Trova giocatore che comincia per... 9 - Tutti i voti di un giocatore 0 - EXIT """ print menu def show_player_result(self, player): obj, avg = player print "\n\n" print " ---<<< Miglior Giocatore del torneo >>>---\n" print " {} ({})".format(obj.name, obj.team) print " media voto: {}".format(avg) def show_avg_result(self, iterable): print "\n\n" print " ---<<< Media voto Giocatori decrescente >>>---\n" for player in iterable: print '{} ({}) : media voto: {}'.format(player[0], player[1], player[2]) def show_player_grades(self, iterable, player): print "\n\n" print " ---<<< Voti giornate %s >>>---\n" % player.name for record in iterable: print 'giornata {} voto: {}'.format(record[0], record[1]) def show_player_name_starts_with(self, iterable, prefix): print "\n\n" print " ---<<< Nomi Giocatori con '%s' >>>---\n" % prefix for player in iterable: print '{} ({})'.format(player.name, player.team)
Poi creeremo un controller, che per ora, per una questione di debug utilizzo nello stesso
file view.py, a runtime.
La classe controller la creerò quando avrò 5 minuti.
if __name__ == '__main__': m = model.Model() cases = {1: m.get_best_player, 2: m.get_best_role_player, 3: m.get_best_role_player, 4: m.get_best_role_player, 5: m.get_best_role_player, 6: m.get_best_team_player, 7: m.get_avg_players, 8: m.get_players_name_starts_with, 9: m.get_player_fgrades, } tv = TextualViewer() while True: tv.show_main_menu() choice = raw_input('--> ') if choice == '0'.strip(): break elif choice == '1': player = cases.get(int(choice))() tv.show_player_result(player) elif choice == '2': player = cases.get(int(choice))('portiere') tv.show_player_result(player) elif choice == '3': player = cases.get(int(choice))('difensore') tv.show_player_result(player) elif choice == '4': player = cases.get(int(choice))('centrocampista') tv.show_player_result(player) elif choice == '5': player = cases.get(int(choice))('attaccante') tv.show_player_result(player) elif choice == '6': team = raw_input('quale squadra? ') player = cases.get(int(choice))(team) tv.show_player_result(player) elif choice == '7': team = raw_input('quale squadra? ') players = m.get_players_by_team(team) result = cases.get(int(choice))(players) tv.show_avg_result(result) elif choice == '8': prefix = raw_input('comincia per? ') result = cases.get(int(choice))(prefix) tv.show_player_name_starts_with(result, prefix) elif choice == '9': pl = raw_input('quale giocatore? ') player = m.get_player_by_name(pl) result = cases.get(int(choice))(player) tv.show_player_grades(result, player)
link utili:
model
Categorie:Fantacalcio, FantaLega, python
Commenti recenti