Parent: [1b94c3] (diff)

Child: [6602a4] (diff)

Download this file

abxmaketest.py    108 lines (99 with data), 3.8 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
#!/usr/bin/env python2
from __future__ import print_function
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from maketestgui import Ui_MainWindow
import maketestutil
from maketestutil import debug neutstring
import selecttrack
class ABXMakeTest(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.actionSave.triggered.connect(self.onSave)
self.ui.actionSaveAs.triggered.connect(self.onSaveAs)
self.ui.actionQuit.triggered.connect(self.onExit)
qsrctq = QShortcut("Ctrl+Q", self)
qsrctq.activated.connect(self.onExit)
qsrcts = QShortcut("Ctrl+S", self)
qsrcts.activated.connect(self.onSave)
self.outfile = None
self.onNoTrackSelect()
self.ui.lineACMB.insertItem(0, "")
self.ui.lineACMB.insertItem(1, "A")
self.ui.lineACMB.insertItem(2, "B")
self.ui.spkACMB.insertItem(0, "")
self.ui.spkACMB.insertItem(1, "A")
self.ui.spkACMB.insertItem(2, "B")
self.ui.urlAPB.clicked.connect(self.urlAPBClicked)
self.renderers = maketestutil.listRenderers()
self.ui.rdrACMB.insertItem(0, "")
for rdr in self.renderers:
self.ui.rdrACMB.insertItem(self.ui.rdrACMB.count(), rdr[1] + " | " + rdr[0])
def onSave(self):
if not self.outfile:
self.onSaveAs()
debug("outfile: %s"%self.outfile)
f = open(self.outfile, "wb")
f.write("description = %s\n" % neutstring(self.ui.descriptionTE.toPlainText()))
f.write("renderer = %s\n" % self.ui.rdrACMB.currentText())
f.write("url = %s\n" % self.ui.urlALE.text())
f.write("meta = %s\n" % neutstring(self.ui.metaATE.toPlainText()))
secs = self.ui.seekASB.value()
if secs:
f.write("seek = %d\n" % secs)
secs = self.ui.durASB.value()
if secs:
f.write("dursecs = %d\n" % secs)
v = self.ui.lineACMB.currentText()
if v:
f.write("line = %s\n" % v)
v = self.ui.spkACMB.currentText()
if v:
f.write("spk = %s\n" % v)
f.write("\n[test]\n")
f.close()
def onSaveAs(self):
self.outfile,filt = QFileDialog.getSaveFileName(self, 'Save File', directory = '')
if self.outfile:
self.onSave()
def urlAPBClicked(self):
self.choosingTrackA = True
self.choosingTrackB = False
self.showTrackSelectDialog()
def urlBPBClicked(self):
self.choosingTrackA = False
self.choosingTrackB = True
self.showTrackSelectDialog()
def showTrackSelectDialog(self):
seldia = selecttrack.SelectTrack()
seldia.TrackSelectedSig.connect(self.onTrackSelected)
seldia.rejected.connect(self.onNoTrackSelect)
print("Calling show", file=sys.stderr)
seldia.exec_()
def onNoTrackSelect(self):
self.choosingTrackA = False
self.choosingTrackB = False
def onTrackSelected(self, udn, fname, uri, meta):
debug("onTrackSelected: udn[%s] fname[%s] uri[%s] meta[%s]"%
(udn, fname, uri, meta))
if self.choosingTrackA:
self.ui.urlALE.setText(uri)
self.ui.metaATE.clear()
self.ui.metaATE.appendPlainText(meta)
elif self.choosingTrackB:
pass
def onExit(self):
sys.exit(0)
if __name__ == "__main__":
def Usage():
print("Usage: abxmaketest.py", file=sys.stderr)
sys.exit(1)
if len(sys.argv) != 1:
Usage()
app = QApplication(sys.argv)
mygui = ABXMakeTest()
mygui.show()
app.exec_()