cannot concatenate 'str' and 'int' objects - s.connect((HOST, PORT))

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
Werner_A
User
Beiträge: 3
Registriert: Freitag 11. Dezember 2020, 14:41

Hallo Leute,

Mit Python habe ich noch nie was am Hut gehabt (php, mysql uns so ein Quatsch war schon eher meins) und war immer froh, wenn die Addons im Kodi lange funktionieren.
Jetzt gibt es ein Addon, welches nicht mehr supportet wird, ich aber unbedingt weiter behalten möchte - Genau gehts um den Watchstateupdater.
Aber zu meinem Problem wo ich bis jetzt nichts brauchbares gefunden habe außer der Info, dass Text und Zahl nicht vermischt werden kann.
Leider sehe ich den Wald vor lauter Bäumen nicht, obwohl ich jahrelang in PHP geschrieben habe.

Das wäre mein Codeschnippsel:

Code: Alles auswählen

import socket

HOST = '127.0.0.1'
PORT = 9090

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setblocking(1)
xbmc.sleep(4000)
xbmc.executebuiltin('Notification(%s, Vor s.connect(), %d, %s)'%(W_AddOnName, 5000, W_AddOnIcon)) # debug notification
try:
    s.connect((HOST, PORT))
except Exception, e:
    WAdialog.ok(W_AddOnName, 'Fehler: ' + str(e), 'Zeile: 169') # debug notification
    exit(0)
Jetzt ist er der Meinung beim Versuch zu connecten "cannot concatenate 'str' and 'int' objects" ausspucken zu müssen.
Bin ich schlau und mache ein str(PORT), meint er, es muss ein integer sein.
Mach ich ein int(HOST) kommt ein "invalid literal for int() with base 10: '127.0.0.1'"

Also irgendwo steckt der Wurm drinnen - was übersehe ich da?
Besten Dank für Eure Unterstützung

lg. Werner
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte die vollstaendige Fehlermeldung posten, und nicht einen Ausschnitt davon.
Werner_A
User
Beiträge: 3
Registriert: Freitag 11. Dezember 2020, 14:41

@__deets__: Die komplette Fehlermeldung ist: cannot concatenate 'str' and 'int' objects
Da gibt es keinen Ausschnitt - Da kommt vorher und nacher nichts dazu.
Das ist der Fehler der zurückgegeben wird und in der Variable e steht
narpfel
User
Beiträge: 645
Registriert: Freitag 20. Oktober 2017, 16:10

@Werner_A: Zu dem Fehler gehört nicht nur der beschreibende String, sondern auch noch ein Traceback, der zeigt, wo genau der Fehler aufgetreten ist. Wenn du die Exception nicht verschluckst, wird der mit angezeigt.
Werner_A
User
Beiträge: 3
Registriert: Freitag 11. Dezember 2020, 14:41

@narpfel: Dann muss ich mal schaun. Ich hab den Fehler nicht aus der kodi.log herausgezogen, denn von dort hätte ich das von Dir beschriebene.
Wie diesen der aus dem Selben Script stammt:

Code: Alles auswählen

2020-12-11 17:23:12.060 T:9712   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 's' is not defined
                                            Traceback (most recent call last):
                                              File "[........]\addons\service.nfo.watchedstate.updater.werner\resources\lib\updater.py", line 170, in <module>
                                                WA.WAlisten()
                                              File "[........]\addons\service.nfo.watchedstate.updater.werner\resources\lib\updater.py", line 35, in WAlisten
                                                chunk = s.recv(1)
                                            NameError: global name 's' is not defined
                                            -->End of Python script error report<--
Muss ich gucken, warum mein angefragter Fehler nicht in die Log kommt.
Danke vorerst mal
Antworten