properly reload transmissions list, create and save transmissions
This commit is contained in:
parent
fdd88241c9
commit
30854cc7ad
19
db.py
19
db.py
|
@ -66,10 +66,27 @@ def delete_transmission(uid):
|
||||||
def edit_transmission(uid, date, author, title, transmission_text, timeslots, transmission_order, play):
|
def edit_transmission(uid, date, author, title, transmission_text, timeslots, transmission_order, play):
|
||||||
command="UPDATE transmissions set date=?, author=?, title=?, transmission_text=?, timeslots=?, transmission_order=?, play=? WHERE uid=?"
|
command="UPDATE transmissions set date=?, author=?, title=?, transmission_text=?, timeslots=?, transmission_order=?, play=? WHERE uid=?"
|
||||||
try:
|
try:
|
||||||
cursor.execute(command, date, author, title, transmission_text, timeslots, transmission_order, play, uid)
|
cursor.execute(command, (date, author, title, transmission_text, timeslots, transmission_order, play, uid))
|
||||||
sqliteConnection.commit()
|
sqliteConnection.commit()
|
||||||
log.debug("Updated a transmission with uid %s (date %s, author %s)"%(uid, date, author))
|
log.debug("Updated a transmission with uid %s (date %s, author %s)"%(uid, date, author))
|
||||||
except sqlite3.Error as error:
|
except sqlite3.Error as error:
|
||||||
log.error("Couldn't create a transmission with uid %s (date %s, author %s)"%uid, (date, author))
|
log.error("Couldn't create a transmission with uid %s (date %s, author %s)"%uid, (date, author))
|
||||||
log.error(error)
|
log.error(error)
|
||||||
|
|
||||||
|
def get_transmission_data(uid):
|
||||||
|
data = cursor.execute("SELECT * FROM transmissions WHERE uid=?", (uid,)).fetchall()
|
||||||
|
if len(data) > 1:
|
||||||
|
log.critical("More than one record has the UID %s. Inspect the database manually!" % uid)
|
||||||
|
exit(2)
|
||||||
|
data = data[0]
|
||||||
|
return_data = {
|
||||||
|
"uid": data[0],
|
||||||
|
"date": data[1],
|
||||||
|
"author": data[2],
|
||||||
|
"title": data[3],
|
||||||
|
"message": data[4],
|
||||||
|
"timeslots": data[5],
|
||||||
|
"transmission_order": data[6],
|
||||||
|
"play": data[7]
|
||||||
|
}
|
||||||
|
return return_data
|
||||||
|
|
38
main.py
38
main.py
|
@ -65,7 +65,7 @@ class MainWindow(Gtk.Window):
|
||||||
self.transmission_list = Gtk.ListBox()
|
self.transmission_list = Gtk.ListBox()
|
||||||
self.transmission_list.connect("row-activated", self.on_picked_transmission)
|
self.transmission_list.connect("row-activated", self.on_picked_transmission)
|
||||||
|
|
||||||
self.transmissions = None
|
self.transmissions = []
|
||||||
self.update_transmission_list()
|
self.update_transmission_list()
|
||||||
|
|
||||||
self.add_transmission_button = Gtk.Button(label="Add transmission")
|
self.add_transmission_button = Gtk.Button(label="Add transmission")
|
||||||
|
@ -186,12 +186,12 @@ class MainWindow(Gtk.Window):
|
||||||
print(self.transmissions)
|
print(self.transmissions)
|
||||||
for child in self.transmission_list.get_children():
|
for child in self.transmission_list.get_children():
|
||||||
self.transmission_list.remove(child)
|
self.transmission_list.remove(child)
|
||||||
for trx in self.transmissions:
|
for i in range(len(self.transmissions)):
|
||||||
|
trx = self.transmissions[i]
|
||||||
trxID = "%s %s %s" % (trx[0], trx[1], trx[3])
|
trxID = "%s %s %s" % (trx[0], trx[1], trx[3])
|
||||||
print(trxID)
|
self.transmission_list.insert(Gtk.Label(label=trxID), -1)
|
||||||
label = Gtk.Label()
|
self.transmission_list.show_all()
|
||||||
label.set_text("%s" % trxID)
|
|
||||||
self.transmission_list.insert(label, -1)
|
|
||||||
|
|
||||||
############################ Button functions ###############################
|
############################ Button functions ###############################
|
||||||
def on_add_transmission(self, user_data):
|
def on_add_transmission(self, user_data):
|
||||||
|
@ -209,20 +209,28 @@ class MainWindow(Gtk.Window):
|
||||||
|
|
||||||
def on_picked_transmission(self, row, user_data):
|
def on_picked_transmission(self, row, user_data):
|
||||||
log.debug("row %i activated" % user_data.get_index())
|
log.debug("row %i activated" % user_data.get_index())
|
||||||
|
uid = self.transmissions[self.transmission_list.get_selected_row().get_index()][0]
|
||||||
|
trxData = db.get_transmission_data(uid)
|
||||||
|
self.author.set_text(trxData["author"])
|
||||||
|
self.title.set_text(trxData["title"])
|
||||||
|
self.message.get_buffer().set_text(trxData["message"])
|
||||||
|
year, month, date = trxData["date"].split("-")
|
||||||
|
|
||||||
def on_transmission_saved(self, user_data):
|
def on_transmission_saved(self, user_data):
|
||||||
|
uid = self.transmissions[self.transmission_list.get_selected_row().get_index()][0]
|
||||||
|
log.debug("saving transmission %s" % uid)
|
||||||
messageBuffer = self.message.get_buffer()
|
messageBuffer = self.message.get_buffer()
|
||||||
startIter, endIter = messageBuffer.get_bounds()
|
startIter, endIter = messageBuffer.get_bounds()
|
||||||
message = messageBuffer.get_text(startIter, endIter, False)
|
message = messageBuffer.get_text(startIter, endIter, False)
|
||||||
print(message, " saved")
|
db.edit_transmission(uid,
|
||||||
#(uid, date, author, title, transmission_text, timeslots, transmission_order, play)
|
self.picked_date,\
|
||||||
#db.create_transmission( self.picked_date,\
|
self.author.get_buffer().get_text(),\
|
||||||
# self.author.get_buffer().get_text(),\
|
self.title.get_buffer().get_text(),\
|
||||||
# self.title.get_buffer().get_text(),\
|
message,
|
||||||
# message,
|
self.get_selected_timeslots(),\
|
||||||
# self.get_selected_timeslots(),\
|
1,\
|
||||||
# 1,\
|
True)
|
||||||
# True)
|
self.update_transmission_list()
|
||||||
|
|
||||||
|
|
||||||
win = MainWindow()
|
win = MainWindow()
|
||||||
|
|
Loading…
Reference in New Issue