python-taiga icon indicating copy to clipboard operation
python-taiga copied to clipboard

Problem Retrieving Project by id

Open philippcheung opened this issue 1 year ago • 1 comments

Description

I'm new to python-taiga and taiga in general, so it might just be the way I created the project.

project = self.api.projects.get(11)

gives error:

cls = <class 'taiga.models.models.SwimLanes'>, requester = <taiga.requestmaker.RequestMaker object at 0x7f6f03dd20b0>, entries = None

@classmethod
def parse(cls, requester, entries):
    """Parse a JSON array into a list of model instances."""
    result_entries = SearchableList()
  for entry in entries:

E TypeError: 'NoneType' object is not iterable

/root/.cache/pypoetry/virtualenvs/shadowstreamserver-9TtSrW0h-py3.10/lib/python3.10/site-packages/taiga/models/base.py:107: TypeError

Steps to reproduce

Step 1) Create a new project in GUI (barebone project, nothing extra) Step 2) write pytest unit test to retrieve project

project = self.api.projects.get(11)

/root/.cache/pypoetry/virtualenvs/shadowstreamserver-9TtSrW0h-py3.10/lib/python3.10/site-packages/taiga/models/base.py:93: in get return self.instance.parse(self.requester, response.json()) /root/.cache/pypoetry/virtualenvs/shadowstreamserver-9TtSrW0h-py3.10/lib/python3.10/site-packages/taiga/models/base.py:199: in parse entry[key_to_parse] = cls_to_parse.parse(requester, entry[key_to_parse])


cls = <class 'taiga.models.models.SwimLanes'>, requester = <taiga.requestmaker.RequestMaker object at 0x7f6f03dd20b0>, entries = None

@classmethod
def parse(cls, requester, entries):
    """Parse a JSON array into a list of model instances."""
    result_entries = SearchableList()
  for entry in entries:

E TypeError: 'NoneType' object is not iterable

/root/.cache/pypoetry/virtualenvs/shadowstreamserver-9TtSrW0h-py3.10/lib/python3.10/site-packages/taiga/models/base.py:107: TypeError

Versions

Python 3.10.14 Taiga -- using latest taiga docker (https://github.com/taigaio/taiga-docker.git, Stable Branch, Tag 6.0.0) django version inside docker - 3.2.19

Expected behaviour

Project object to come back without error

Actual behaviour

Exception thrown :E TypeError: 'NoneType' object is not iterable

Additional information

Please feel to reach out to me with any information -- for now, I'm just going to add project_extra_information to the project_extra_info UserStories allowed params so I can get the project name easily -- versus loading the object and getting the name like I was planning on.

philippcheung avatar Apr 28 '24 18:04 philippcheung

Also happens when creating a new project. Appears to do with parsing swimlanes. If you modify the code to skip parsing swimlanes, it seems to work ok. Maybe it can't handle a situation where there are no swimlanes, or maybe the swimlane schema changed.

PeterSurda avatar Jun 02 '24 09:06 PeterSurda

Duplicate of #169. It looks like #168 would fix it.

psybers avatar Dec 29 '24 20:12 psybers

@psybers @PeterSurda @philippcheung I've just released 1.3.1 version that should address this issue. Could you please check if everything is working as expected now?

protoroto avatar Jan 13 '25 16:01 protoroto

@protoroto I can confirm the old behavior/bug and that it works with the latest release.

psybers avatar Jan 15 '25 17:01 psybers

@psybers Thanks for the feedback! Going to close this, @philippcheung @PeterSurda if this problem is still there with the new release feel free to open a new issue!

protoroto avatar Jan 15 '25 19:01 protoroto