Create and modify players function.

This commit is contained in:
luxick
2018-03-14 13:56:11 +01:00
parent c3e6793f69
commit ec71d4415f
3 changed files with 24 additions and 11 deletions

View File

@@ -67,6 +67,11 @@ class GtkUi:
self.data_client.send_request('update_enemy', enemy)
self.full_reload()
def update_player(self, player: 'models.Player'):
with util.network_operation(self):
self.data_client.send_request('update_player', player)
self.full_reload()
def update_season(self, season: 'models.Season'):
with util.network_operation(self):
self.data_client.send_request('update_season', season)

View File

@@ -1,4 +1,5 @@
from dsst_gtk3 import dialogs, gtk_ui
from common import models
class BaseDataHandlers:
@@ -8,23 +9,22 @@ class BaseDataHandlers:
def do_add_player(self, entry):
if entry.get_text():
# sql.Player.create(name=entry.get_text())
self.app.update_player(models.Player({'name': entry.get_text()}))
entry.set_text('')
self.app.full_reload()
def on_player_name_edited(self, _, index, value):
row = self.app.ui.get_object('all_players_store')[index]
# sql.Player.update(name=value)\
# .where(sql.Player.id == row[0])\
# .execute()
self.app.full_reload()
player = models.Player({'id': row[0],
'name': value,
'hex_id': row[2]})
self.app.update_player(player)
def on_player_hex_edited(self, _, index, value):
row = self.app.ui.get_object('all_players_store')[index]
# sql.Player.update(hex_id=value)\
# .where(sql.Player.id == row[0])\
# .execute()
self.app.full_reload()
player = models.Player({'id': row[0],
'name': row[1],
'hex_id': value})
self.app.update_player(player)
def do_add_drink(self, entry):
if entry.get_text():

View File

@@ -8,7 +8,7 @@ class WriteFunctions:
return 'Season created.'
@staticmethod
def update_enemy(enemy: 'models.Enemy'):
def update_enemy(enemy: 'models.Enemy', *_):
(sql.Enemy
.insert(id=enemy.id, boss=enemy.boss, name=enemy.name, season=enemy.season)
.on_conflict(update={sql.Enemy.name: enemy.name,
@@ -16,6 +16,14 @@ class WriteFunctions:
sql.Enemy.season: enemy.season})
.execute())
@staticmethod
def update_player(player: 'models.Player', *_):
(sql.Player
.insert(id=player.id, name=player.name, hex_id=player.hex_id)
.on_conflict(update={sql.Player.name: player.name,
sql.Player.hex_id: player.hex_id})
.execute())
@staticmethod
def update_season(season: 'models.Season', *_):
(sql.Season