Hi Cameron, Yes, you are correct in all above. There's a mistake in my copy paste. Thanks for pointing that out!
On Wed, Jan 27, 2021 at 12:58 AM Cameron Simpson <c...@cskk.id.au> wrote: > On 27Jan2021 00:19, C W <tmrs...@gmail.com> wrote: > >Here's the code again, class should be called PERSONDatabase, > >misspelled > >earlier: > >class PERSONDatabase: > > def __init__(self, id, created_at, name, attend_date, distance): > > self._id = id > > self.created_at = created_at > > self.name= name > > self.attend_date = attend_date > > self.distance = distance > > Here's you're setting attributes (which is a very normal thing to do). > > > @classmethod > > def get_person(self, employee): > > return PERSONDatabase(employee['created_at'], > > employee['id'], > > employee['name'], > > employee['attend_date'], > > employee['distance']) > > I think this "employee" is called "person" in the code the traceback > came from. It is better when these two things match. > > >The PERSONDatabase class is called from main. This is the trace back I got > >from the VS code: > > > >Traceback (most recent call last): > > File "/Users/Mike/Documents/Mike/main.py", line 95, in <module> > > main() > > File "/Users/Mike/Documents/Mike/main.py", line 86, in main > > args = get_feed() > > File "/Users/Mike/DocumentsMike/main.py", line 32, in get_feed > > result = [PERSONatabase.get_person(raw_person) for raw_neo in > >raw_objects] > > File "/Users/Mike/Documents/Mike/main.py", line 32, in <listcomp> > > result = [NEODatabase.get_person(raw_person) for raw_neo in > >raw_objects] > > File "/Users/Mike/Documents/Mike/database.py", line 24, in get_person > > return PERSONDatabase(person['created_at'], > >KeyError: 'created_at' > > Here's you're trying to index another object using a string, which seems > to resemble the .created_at attribute in your PERSONDatabase object. > > I would presume from this that the "person" object at the bottom of the > traceback is the "raw_person" called above it. But I do not see > raw_person defined anywhere. Are you sure you didn't mean to pass > "raw_neo" instead of "raw_person"? That would be more normal, since > you're iterating over "raw_objects". > > Cheers, > Cameron Simpson <c...@cskk.id.au> > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list