Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug Fix: Update hub.py to fix NoneType error #33315

Merged
merged 3 commits into from
Sep 10, 2024

Conversation

rishiraj
Copy link
Contributor

@rishiraj rishiraj commented Sep 5, 2024

Bug:
TypeError: argument of type 'NoneType' is not iterable

Analysis:
The error TypeError: argument of type 'NoneType' is not iterable suggests that model_card.data.tags is None, and the code is trying to iterate through it using not in.

Fix:

  1. Check if model_card.data.tags is None before the loop: Since you're checking the variable tags before the loop, you should also ensure that model_card.data.tags is not None. You can do this by initializing model_card.data.tags to an empty list if it's None.

  2. Updated code: Add a check and initialize the tags if it is None before proceeding with the iteration.

This way, if model_card.data.tags is None, it gets converted to an empty list before checking the contents. This prevents the TypeError.

Bug:
TypeError: argument of type 'NoneType' is not iterable

Analysis:
The error `TypeError: argument of type 'NoneType' is not iterable` suggests that `model_card.data.tags` is `None`, and the code is trying to iterate through it using `not in`.

Fix:

1. **Check if `model_card.data.tags` is `None` before the loop**:
   Since you're checking the variable `tags` before the loop, you should also ensure that `model_card.data.tags` is not `None`. You can do this by initializing `model_card.data.tags` to an empty list if it's `None`.

2. **Updated code**:
   Add a check and initialize the `tags` if it is `None` before proceeding with the iteration.

This way, if `model_card.data.tags` is `None`, it gets converted to an empty list before checking the contents. This prevents the `TypeError`.
@LysandreJik
Copy link
Member

Thanks for the PR!

Could you just run the code quality tool to ensure that the code quality passes? You can install them with the following, from the root of your clone:

pip install -e ".[quality]"

And then run them with:

make fixup

@rishiraj
Copy link
Contributor Author

rishiraj commented Sep 6, 2024

@LysandreJik done, it's passing now. Blank line had to be removed.

@LysandreJik
Copy link
Member

Awesome, thanks!

@LysandreJik LysandreJik merged commit 6ed2b10 into huggingface:main Sep 10, 2024
20 checks passed
itazap pushed a commit to NielsRogge/transformers that referenced this pull request Sep 20, 2024
* Bug Fix: Update hub.py

Bug:
TypeError: argument of type 'NoneType' is not iterable

Analysis:
The error `TypeError: argument of type 'NoneType' is not iterable` suggests that `model_card.data.tags` is `None`, and the code is trying to iterate through it using `not in`.

Fix:

1. **Check if `model_card.data.tags` is `None` before the loop**:
   Since you're checking the variable `tags` before the loop, you should also ensure that `model_card.data.tags` is not `None`. You can do this by initializing `model_card.data.tags` to an empty list if it's `None`.

2. **Updated code**:
   Add a check and initialize the `tags` if it is `None` before proceeding with the iteration.

This way, if `model_card.data.tags` is `None`, it gets converted to an empty list before checking the contents. This prevents the `TypeError`.

* Update hub.py
amyeroberts pushed a commit to amyeroberts/transformers that referenced this pull request Oct 2, 2024
* Bug Fix: Update hub.py

Bug:
TypeError: argument of type 'NoneType' is not iterable

Analysis:
The error `TypeError: argument of type 'NoneType' is not iterable` suggests that `model_card.data.tags` is `None`, and the code is trying to iterate through it using `not in`.

Fix:

1. **Check if `model_card.data.tags` is `None` before the loop**:
   Since you're checking the variable `tags` before the loop, you should also ensure that `model_card.data.tags` is not `None`. You can do this by initializing `model_card.data.tags` to an empty list if it's `None`.

2. **Updated code**:
   Add a check and initialize the `tags` if it is `None` before proceeding with the iteration.

This way, if `model_card.data.tags` is `None`, it gets converted to an empty list before checking the contents. This prevents the `TypeError`.

* Update hub.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants