Python Forum

Full Version: AttributeError: 'MyPlayer' object has no attribute
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi all,

I need some help with my current code as I have got a trouble with calling a function from another python file.

When I try this:

def UpdateEPG(self):
    self.get_programme_button_width()
It will give me an error: AttributeError: 'MyPlayer' object has no attribute 'get_programme_button_width'.


Here is the code for player.py

import test

class MyPlayer(xbmcgui.WindowXML):
    def UpdateEPG(self):
        self.get_programme_button_width()
Here is the code for test.py:

from player import MyPlayer

class MyClass(xbmcgui.WindowXML):
    def get_programme_button_width(self):
        program_width = ''.join(str(x) for x in self.prog_width_list)

        #create width size for program buttons
        if program_width == 0:
           program_width = 344
        elif program_width == 57:
           program_width = 59
        elif program_width == 79:
           program_width = 59
        elif program_width == 114:
I have got no idea how to call the function from the test.py even I have tried test.MyClass.get_programme_button_width() but I got another error: TypeError: unbound method get_programme_button_width() must be called with MyClass instance as first argument (got nothing instead). I have got no idea how to fix it.

Do you know how I can call the function get_programme_button_width from the test.py file when I am running the code in player.py??
you import the file, but don't instantiate the MyPlayer class
You write like:
import test
 
class MyPlayer(xbmcgui.WindowXML):
    def __init__(self):
        self.tst = test.MyClass(xbmcgui.WindowXML)

    def UpdateEPG(self):
        self.tst.get_programme_button_width()