Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- # Form implementation generated from reading ui file 'untitled.ui'
- #
- # Created: Tue May 21 19:22:45 2013
- # by: PyQt4 UI code generator 4.10
- #
- # WARNING! All changes made in this file will be lost!
- import sys
- from PyQt4 import QtCore, QtGui
- import time
- from PyQt4.QtCore import SIGNAL, QObject, QTimer
- import libtorrent as lt
- try:
- _fromUtf8 = QtCore.QString.fromUtf8
- except AttributeError:
- def _fromUtf8(s):
- return s
- try:
- _encoding = QtGui.QApplication.UnicodeUTF8
- def _translate(context, text, disambig):
- return QtGui.QApplication.translate(context, text, disambig, _encoding)
- except AttributeError:
- def _translate(context, text, disambig):
- return QtGui.QApplication.translate(context, text, disambig)
- class wrapper():
- ##################
- name = ""
- class session():
- ses = lt.session()
- ses.listen_on(6881, 6891)
- session = session()
- class Actions():
- def pausing(self,ses):
- if ses.ses.is_paused() == True:
- ses.ses.resume()
- else:
- ses.ses.pause()
- def newTor(self):
- s = QtGui.QFileDialog.getOpenFileName()
- info = lt.torrent_info(str(s))
- return info
- def infors(self,session = None):
- h = session.ses.add_torrent({'ti': self.newTor(), 'save_path': './'})
- return h
- x = Actions()
- h = None
- class Ui_Form(object):
- def setupUi(self, Form):
- Form.setObjectName(_fromUtf8("Form"))
- Form.resize(740, 607)
- self.closeb = QtGui.QPushButton(Form)
- self.closeb.setGeometry(QtCore.QRect(550, 550, 98, 27))
- self.closeb.setObjectName(_fromUtf8("closeb"))
- self.newb = QtGui.QPushButton(Form)
- self.newb.setGeometry(QtCore.QRect(50, 550, 98, 27))
- self.newb.setObjectName(_fromUtf8("newb"))
- self.stopb = QtGui.QPushButton(Form)
- self.stopb.setGeometry(QtCore.QRect(150, 550, 98, 27))
- self.stopb.setObjectName(_fromUtf8("stopb"))
- self.pausingb = QtGui.QPushButton(Form)
- self.pausingb.setGeometry(QtCore.QRect(250, 550, 98, 27))
- self.pausingb.setObjectName(_fromUtf8("pausingb"))
- self.selallb = QtGui.QPushButton(Form)
- self.selallb.setGeometry(QtCore.QRect(350, 550, 141, 27))
- self.selallb.setObjectName(_fromUtf8("selallb"))
- self.treeWidget = QtGui.QTreeWidget(Form)
- self.treeWidget.setGeometry(QtCore.QRect(35, 21, 681, 501))
- self.treeWidget.setObjectName(_fromUtf8("treeWidget"))
- self.retranslateUi(Form)
- QtCore.QObject.connect(self.closeb, QtCore.SIGNAL(_fromUtf8("clicked()")), Form.close)
- #QtCore.QObject.connect(self.pausingb, QtCore.SIGNAL(_fromUtf8("clicked()")), pausing)
- QtCore.QObject.connect(self.stopb, QtCore.SIGNAL(_fromUtf8("clicked()")), self.stopb.click)
- #QtCore.QObject.connect(self.newb, QtCore.SIGNAL(_fromUtf8("clicked()")), newTor)
- QtCore.QMetaObject.connectSlotsByName(Form)
- self.pausingb.clicked.connect(lambda: wrapper.x.pausing(wrapper.session))
- self.newb.clicked.connect(lambda: wrapper.x.newTor())
- def retranslateUi(self, Form):
- Form.setWindowTitle(_translate("Form", "JKTorrent", None))
- self.closeb.setText(_translate("Form", "Close", None))
- self.newb.setText(_translate("Form", "Add new", None))
- self.stopb.setText(_translate("Form", "Open folder", None))
- self.pausingb.setText(_translate("Form", "Pause", None))
- self.selallb.setText(_translate("Form", "Select all", None))
- self.treeWidget.headerItem().setText(0, _translate("Form", "Nazwa", None))
- self.treeWidget.headerItem().setText(1, _translate("Form", "%", None))
- self.treeWidget.headerItem().setText(2, _translate("Form", "UP kB/s", None))
- self.treeWidget.headerItem().setText(3, _translate("Form", "DWN kB/s", None))
- self.treeWidget.headerItem().setText(4, _translate("Form", "Stan", None))
- self.treeWidget.headerItem().setText(5, _translate("Form", "Peerów", None))
- class MyForm(QtGui.QMainWindow):
- def __init__(self, parent=None):
- QtGui.QWidget.__init__(self, parent)
- self.ui = wrapper.Ui_Form()
- self.ui.setupUi(self)
- class Runnable(QtCore.QRunnable):
- def run(self):
- #global session
- #h = infors()
- app = QtCore.QCoreApplication.instance()
- h = wrapper.x.infors(wrapper.session)
- print 'starting', wrapper.h.name()
- while (not wrapper.h.is_seed()):
- #print "Increasing"
- s = wrapper.h.status()
- #listastr << h.name() << s.progress * 100 << s.upload_rate / 1000 << s.download_rate / 1000 << state_str[s.state] << s.num_peers
- state_str = ['queued', 'checking', 'downloading metadata', 'downloading', 'finished', 'seeding', 'allocating', 'checking fastresume']
- print '\r%.2f%% complete (down: %.1f kb/s up: %.1f kB/s peers: %d) %s' % (s.progress * 100, s.download_rate / 1000, s.upload_rate / 1000, s.num_peers, state_str[s.state]),
- #liststr = QtCore.QStringList([QtCore.QString(h.name()), QtCore.QString(s.progress * 100), QtCore.QString(s.upload_rate / 1000), QtCore.QString(s.download_rate / 1000), QtCore.QString(state_str[s.state]), QtCore.QString(s.num_peers)])
- #row = QtGui.QTreeWidgetItem(liststr)
- #myapp.ui.treeWidget.addItem(row)
- sys.stdout.flush()
- time.sleep(1)
- #count += 1
- print wrapper.h.name(), 'complete'
- app.quit()
- if __name__ == "__main__":
- app = QtGui.QApplication(sys.argv)
- w = wrapper()
- myapp = wrapper.MyForm()
- runnable = wrapper.Runnable()
- myapp.show()
- QtCore.QThreadPool.globalInstance().start(runnable)
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement