Advertisement
yanirx

pyqt4 - twitch channel stats

Jul 21st, 2014
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.26 KB | None | 0 0
  1. import urllib2
  2. import json
  3. from PyQt4 import QtCore, QtGui
  4.  
  5. streamid = "twitch"
  6. try:
  7.     _fromUtf8 = QtCore.QString.fromUtf8
  8. except AttributeError:
  9.     def _fromUtf8(s):
  10.         return s
  11.  
  12. try:
  13.     _encoding = QtGui.QApplication.UnicodeUTF8
  14.     def _translate(context, text, disambig):
  15.         return QtGui.QApplication.translate(context, text, disambig, _encoding)
  16. except AttributeError:
  17.     def _translate(context, text, disambig):
  18.         return QtGui.QApplication.translate(context, text, disambig)
  19.  
  20. class Ui_MainWindow(object):
  21.     def setupUi(self, MainWindow):
  22.         MainWindow.setObjectName(_fromUtf8("MainWindow"))
  23.         MainWindow.setWindowTitle(_translate("Twitch Monitor", "Twitch Monitor", None))
  24.         MainWindow.resize(342, 327)
  25.         self.centralwidget = QtGui.QWidget(MainWindow)
  26.         self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
  27.         self.label = QtGui.QLabel(self.centralwidget)
  28.         self.label.setGeometry(QtCore.QRect(10, 10, 321, 31))
  29.         font = QtGui.QFont()
  30.         font.setPointSize(16)
  31.         self.label.setFont(font)
  32.         self.label.setObjectName(_fromUtf8("label"))
  33.         self.label_3 = QtGui.QLabel(self.centralwidget)
  34.         self.label_3.setGeometry(QtCore.QRect(10, 50, 271, 31))
  35.         self.label_3.setObjectName(_fromUtf8("label_3"))
  36.         self.label_4 = QtGui.QLabel(self.centralwidget)
  37.         self.label_4.setGeometry(QtCore.QRect(10, 70, 331, 31))
  38.         self.label_4.setObjectName(_fromUtf8("label_4"))
  39.         self.label_5 = QtGui.QLabel(self.centralwidget)
  40.         self.label_5.setGeometry(QtCore.QRect(10, 100, 311, 16))
  41.         self.label_5.setObjectName(_fromUtf8("label_5"))
  42.         #MainWindow.setCentralWidget(self.centralwidget)
  43.         self.statusbar = QtGui.QStatusBar(MainWindow)
  44.         self.statusbar.setObjectName(_fromUtf8("statusbar"))
  45.         self.pushButton = QtGui.QPushButton(self.centralwidget)
  46.         self.pushButton.setGeometry(QtCore.QRect(130, 280, 75, 23))
  47.         self.pushButton.setObjectName(_fromUtf8("pushButton"))
  48.         self.pushButton.clicked.connect(self.retranslateUi)
  49.         #MainWindow.setStatusBar(self.statusbar)
  50.         self.pushButton.setText(_translate("MainWindow", "Refresh", None))
  51.  
  52.         self.retranslateUi(MainWindow)
  53.         QtCore.QMetaObject.connectSlotsByName(MainWindow)
  54.  
  55.     def retranslateUi(self, MainWindow):
  56.         apilink = 'https://api.twitch.tv/kraken/streams/{0}'.format(streamid)
  57.         req = urllib2.urlopen(apilink)
  58.         mydata = json.load(req)
  59.         mystr = "Stream Data for {0}".format(streamid)
  60.         self.label.setText(_translate("MainWindow", mystr, None))
  61.         if mydata["stream"] == None:
  62.             print "Stream offline"
  63.             self.label_3.setText(_translate("MainWindow", "Stream is offline!", None))
  64.             self.label_3.setStyleSheet('color: red')
  65.             self.label_4.hide()
  66.             self.label_5.hide()
  67.         else:  
  68.             mystr = "Streaming Game: {0}".format(mydata["stream"]["channel"]["game"])
  69.             self.label_3.setText(_translate("MainWindow", mystr, None))
  70.             mystr = "Viewers: {0}".format(mydata["stream"]["viewers"])
  71.             self.label_4.setText(_translate("MainWindow", mystr, None))
  72.             mystr = "Status: {0}".format(mydata["stream"]["channel"]["status"])
  73.             self.label_5.setText(_translate("MainWindow", mystr, None))
  74.  
  75. if __name__ == "__main__":
  76.     import sys
  77.     app = QtGui.QApplication(sys.argv)
  78.     Dialog = QtGui.QDialog()
  79.     ui = Ui_MainWindow()
  80.     ui.setupUi(Dialog)
  81.     Dialog.show()
  82.     sys.exit(app.exec_())
  83. #print req.read()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement