I have tried notepad++ and eclipse but even then , it is showing me an indentation error at line 18. I don't know, why it is throwing me an error like that...? please help me.
from brisa.core.reactors.qtreactor import QtReactor
reactor = QtReactor()
from brisa.core import config
from brisa.upnp.device import Device
from brisa.upnp.device.service import Service, StateVariable
class QtDevice(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.verticalLayout = QtGui.QVBoxLayout(self)
self.title = QtGui.QLabel("Qt Simple Device")
font = QtGui.QFont()
font.setPointSize(15)
self.title.setFont(font)
self.title.setAlignment(QtCore.Qt.AlignCenter)
self.verticalLayout.addWidget(self.title)
self.lineEdit = QtGui.QLineEdit(self)
self.verticalLayout.addWidget(self.lineEdit)
self.search_btn = QtGui.QPushButton("Start Device", self)
self.verticalLayout.addWidget(self.search_btn)
QtCore.QObject.connect(self.search_btn, QtCore.SIGNAL("clicked()"), self.start)
self.stop_btn = QtGui.QPushButton("Stop Device", self)
self.verticalLayout.addWidget(self.stop_btn)
QtCore.QObject.connect(self.stop_btn, QtCore.SIGNAL("clicked()"), self.stop)
self.lineEdit.setText(’My Generic Device Name’)
self.root_device = None
self.upnp_urn = ’urn:schemas-upnp-org:device:MyDevice:1’
def _add_root_device(self):
project_page = ’http://brisa.garage.maemo.org’
serial_no = config.manager.brisa_version.replace(’.’, ’’).rjust(7, ’0’)
self.root_device = Device(self.upnp_urn,str(self.lineEdit.text()),
manufacturer=’’,
manufacturer_url=,
model_description=’ ’
model_name=’’,
model_number=,
model_url=,
serial_number=)
def _add_services(self):
service_name = ’MyService’
service_type = ’urn:schemas-upnp-org:service:MyService:1’
myservice = Service(service_name, service_type, ’’)
var = StateVariable(self, "A_ARG_TYPE_Variable",True, False, "string")
myservice.add_state_variable(var)
self.root_device.add_service(myservice)
def _load(self):
self._add_root_device()
self._add_services()
def start(self):
self.stop()
self._load()
self.root_device.start()
reactor.add_after_stop_func(self.root_device.stop)
def stop(self):
if self.root_device:
self.root_device.stop()
self.root_device = None
def main():
qt_dev = QtDevice()
qt_dev.show()
reactor.main()
if __name__ == ’__main__’:
main()
In such cases it is usually a good idea to run python with the -t
flag:
-t : issue warnings about inconsistent tab usage (-tt: issue errors)
This will help to find indentation problems caused by accidentally used tabs.
The row
self.verticalLayout.addWidget(self.lineEdit)
should be on the same level of the other rows.
You might be missing it because your editor mixes tabs and spaces.
If you click on "edit" in your own question, you'll see that this row is not correctly indented.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With