Python Forum

Full Version: Error:__init__ takes no parameters
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hey guys,

I want to build an ecommerce app with kivy and satchless, i am working on making the list with kivy but i am stuck with this error, any help ?

list.py:
from kivy.uix.gridlayout import GridLayout
from kivy.uix.listview import ListView, ListItemButton
from kivy.adapters.dictadapter import DictAdapter

from list_data import items_data

from list_detail import ItemDetailView

class MasterDetailView(GridLayout):
    def __init__(self, items, **kwargs):
        kwargs['cols'] = 2
        super(MasterDetailView, self).__init__(**kwargs)

        list_item_args_converter = \
                lambda row_index, rec: {'text': rec['name'],
                                        'size_hint_y': None,
                                         'height': 25}

        dict_adapter = DictAdapter(sorted_keys=sorted(items_data.keys()),
                                   data=items_data,
                                   args_converter= list_item_args_converter,
                                   slection_mode='single',
                                   allow_empty_selection=False,
                                   cls=ListItemButton)

        master_list_view = ListView(adapter=dict_adapter,
                                    size_hint=(.3, 1.0))

        self.add_widget(master_list_view)

        detail_view = ItemDetailView(
                item_name=dict_adapter.selection[0].text,
                size_hint=(.7, 1.0))

        dict_adapter.bind(on_selection_change=detail_view.item_changed)
        self.add_widget(detail_view)


if __name__ == '__main__':
    from kivy.base import runTouchApp

    master_detail = MasterDetailView(sorted(items_data.keys()), width=800)

    runTouchApp(master_detail)
list_data.py
item_data_attribute = ['itemNo',
                       'Size',
                       'Weight',
                       'Made in',
                       'Price']
item_data_list_of_dicts = [
    {'name': 'a',
     'data':[1,1,1,1,1],
     'is_selected': False},
    {'name': 'b',
     'data':[2,2,2,2,2],
     'is_selected': False},
    {'name': 'c',
     'data':[3,3,3,3,3],
     'is_selected': False},
    {'name': 'd',
     'data':[4,4,4,4,4],
     'is_selected': False},
    {'name': 'e',
     'data':[5,5,5,5,5],
     'is_selected': False}
]

item_data_attribute_units = ['(g)',
                              '(%DV)',
                              '(mg)',
                              '(%DV)',
                              '(%DV)']

attributes_and_units = dict(list(zip(item_data_attribute,
                                     item_data_attribute_units)))
items_data = {}
for item_record in item_data_list_of_dicts:
    items_data[item_record['name']] = {}
    items_data[item_record['name']] = \
             dict({'name': item_record['name'],
                   'is_selected': item_record['is_selected']},
             **dict(list(zip(list(attributes_and_units.keys()),
                             item_record['data']))))
list_detail.py
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty

from list_data import item_data_attribute
from list_data import items_data

class ItemDetailView(GridLayout):
    item_name = StringProperty('', allownone=True)

    def __init__(self, **kwargs):
        kwargs['cols'] = 2
        self.item_name = kwargs.get('item_name', '')
        super(ItemDetailView, self).__init__(**kwargs)
        if self.item_name:
            self.redraw()
    def redraw(self, **args):
        self.clear_widgets()
        if self.item_name:
            self.add_widget(Label(text="name:", haligh='right'))
            self.add_widget(Label(text=self.item_name))
            for attribute in item_data_attribute:
               self.add_widget(Label(text="{0}:".format(attribute),
                                     halign='right'))
               self.add_widget(
                   Label(text=str(items_data[self.item_name][attribute])))

    def item_changed(self, list_adapter, *args):
        if len(list_adapter.selection) == 0:
            self.item_name = None
        else:
            selected_object = list_adapter.selection[0]

            if type(selected_object) is str:
                self.item_name = selected_object
            else:
                self.item_name = selected_object.text

        self.redraw()
error:
Error:
############################################################################### KivyInstaller v3.8 Author: KeyWeeUsr @ https://github.com/KeyWeeUsr Report issues @ https://github.com/KeyWeeUsr/KivyInstaller/issues ############################################################################### [KivyInstaller] Looking for config file... [KivyInstaller] Config file found, setting variables... PATH: C:\Users\Admin\Desktop\kivy\;C:\Users\Admin\Desktop\kivy\Tools;C:\Users\Admin\De sktop\kivy\Scripts;C:\Users\Admin\Desktop\kivy\share\sdl2\bin;C:\Users\Admin\Des ktop\kivy\Lib\idlelib;C:\python3\Scripts\;C:\python3\;C:\Program Files (x86)\Pyt hon36-32\Scripts\;C:\Program Files (x86)\Python36-32\;C:\python 3\lib\;C:\Progra m Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Intel\S hared Files\fortran\bin\ia32;C:\Windows\system32;C:\Windows;C:\Windows\System32\ Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA C orporation\PhysX\Common;C:\Program Files (x86)\Windows Live\Shared;C:\Program Fi les (x86)\Skype\Phone\;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn \;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\ ############################################################################### - KivyInstaller: 3.8 - Python: 3.5.2 - Kivy: 1.10.1.dev0 - Wheel: 20180103 - Update Kivy: kivy update or kivy updatemaster - Examples: share\kivy-examples - Launch: kivy main.py or python main.py - Pack: kivy pack "<abs path to .py>" - Uninstall: kivy uninstall ############################################################################### Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\Admin\Desktop\kivy>python C:\Users\Admin\Desktop\list.py [INFO ] [Logger ] Record log in C:\Users\Admin\.kivy\logs\kivy_18-02-12_4 5.txt [INFO ] [Kivy ] v1.10.1.dev0, git-5f62b6b, 20180103 [INFO ] [Python ] v3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MS C v.1900 64 bit (AMD64)] [INFO ] [Factory ] 194 symbols loaded [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored) [INFO ] [Text ] Provider: sdl2 [INFO ] [OSC ] using <thread> for socket [INFO ] [Window ] Provider: sdl2 [INFO ] [GL ] Using the "OpenGL" graphics system [INFO ] [GL ] GLEW initialization succeeded [INFO ] [GL ] Backend used <glew> [INFO ] [GL ] OpenGL version <b'4.0.0 - Build 10.18.10.4276'> [INFO ] [GL ] OpenGL vendor <b'Intel'> [INFO ] [GL ] OpenGL renderer <b'Intel(R) HD Graphics 4000'> [INFO ] [GL ] OpenGL parsed version: 4, 0 [INFO ] [GL ] Shading version <b'4.00 - Build 10.18.10.4276'> [INFO ] [GL ] Texture max size <16384> [INFO ] [GL ] Texture max units <16> [INFO ] [Window ] auto add sdl2 input provider [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked [WARNING] [Call to deprecated function __init__ in C]\Users\Admin\Desktop\kivy\l ib\site-packages\kivy\adapters\dictadapter.py line 59.Called from C:\Users\Admin \Desktop\list.py line 24 by __init__(). [WARNING] [Call to deprecated function __init__ in C]\Users\Admin\Desktop\kivy\l ib\site-packages\kivy\adapters\listadapter.py line 185.Called from C:\Users\Admi n\Desktop\kivy\lib\site-packages\kivy\adapters\dictadapter.py line 67 by __init_ _(). [WARNING] [Call to deprecated function __init__ in C]\Users\Admin\Desktop\kivy\l ib\site-packages\kivy\adapters\adapter.py line 111.Called from C:\Users\Admin\De sktop\kivy\lib\site-packages\kivy\adapters\listadapter.py line 186 by __init__() . Traceback (most recent call last): File "C:\Users\Admin\Desktop\list.py", line 42, in <module> master_detail = MasterDetailView(sorted(items_data.keys()), width=800) File "C:\Users\Admin\Desktop\list.py", line 24, in __init__ cls=ListItemButton) File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\utils.py", line 344, in new_func return func(*args, **kwargs) File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\adapters\dictadapter .py", line 67, in __init__ super(DictAdapter, self).__init__(**kwargs) File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\utils.py", line 344, in new_func return func(*args, **kwargs) File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\adapters\listadapter .py", line 186, in __init__ super(ListAdapter, self).__init__(**kwargs) File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\utils.py", line 344, in new_func return func(*args, **kwargs) File "C:\Users\Admin\Desktop\kivy\lib\site-packages\kivy\adapters\adapter.py" , line 135, in __init__ super(Adapter, self).__init__(**kwargs) File "kivy\_event.pyx", line 243, in kivy._event.EventDispatcher.__init__ TypeError: object.__init__() takes no parameters C:\Users\Admin\Desktop\kivy>
and if i delete " items," from line 10 in list.py i get this error:
Error:
C:\Users\Admin\Desktop\kivy>python C:\Users\Admin\Desktop\list.py [INFO ] [Logger ] Record log in C:\Users\Admin\.kivy\logs\kivy_18-02-12_4 1.txt [INFO ] [Kivy ] v1.10.1.dev0, git-5f62b6b, 20180103 [INFO ] [Python ] v3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MS C v.1900 64 bit (AMD64)] [INFO ] [Factory ] 194 symbols loaded [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored) [INFO ] [Text ] Provider: sdl2 Traceback (most recent call last): File "C:\Users\Admin\Desktop\list.py", line 42, in <module> master_detail = MasterDetailView(sorted(items_data.keys()), width=800) TypeError: __init__() takes 1 positional argument but 2 were given C:\Users\Admin\Desktop\kivy>
Thank you,
Your images aren't loading. Please, just copy/paste the errors.
(Feb-12-2018, 05:22 PM)nilamo Wrote: [ -> ]Your images aren't loading. Please, just copy/paste the errors.

Done !

best,