Exemple #1
0
def players_upload():
    f = request.files['players_file']
    if f.filename.endswith('.csv'):
        players = Players.from_csv(f)
    else:
        players = Players.from_xls(f.read())
    db.import_players(players, delete=True)
    flash("Players imported.")
    return redirect(url_for('players'))
Exemple #2
0
 def test_from_csv(self):
     players = Players.from_csv(
         StringIO(
             "\n".join(
                 ["name,team,1A,1B,2A,2B", "Gary Gygax,TSR,G,,G,", "Dave Arneson,TSR,P,,P,", "Jane Bloggs,,,X,,X"]
             )
         )
     )
     self.assertEqual(
         list(players),
         [
             Player("Gary Gygax", "TSR", {"1A": "G", "2A": "G"}),
             Player("Dave Arneson", "TSR", {"1A": "P", "2A": "P"}),
             Player("Jane Bloggs", None, {"1B": "X", "2B": "X"}),
         ],
     )
Exemple #3
0
 def test_from_imperfect_csv(self):
     players = Players.from_csv(
         StringIO(
             "\n".join(
                 [
                     "",
                     "Name,Team,First,Last,1a,1b,2a,2b",
                     "Gary Gygax,TSR,Gary,Gygax,G,,g,",
                     "Dave Arneson,TSR,Dave,Arneson,P,,p,",
                     "Jane Bloggs,,Jane,Bloggs,,X,,x",
                 ]
             )
         )
     )
     self.assertEqual(
         list(players),
         [
             Player("Gary Gygax", "TSR", {"1a": "G", "2a": "G"}),
             Player("Dave Arneson", "TSR", {"1a": "P", "2a": "P"}),
             Player("Jane Bloggs", None, {"1b": "X", "2b": "X"}),
         ],
     )