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

core: handle 005 RPL_ISUPPORT event #1758

Merged
merged 4 commits into from
Dec 12, 2019
Merged

Conversation

Exirel
Copy link
Contributor

@Exirel Exirel commented Nov 21, 2019

WIP to show a bit of the ISupport thing: my idea is to have a storage structure with the basic parsing tools at first. Then, I'll implement an actual callable, triggered by the event RPL_ISUPPORT, with the proper machinery to parse, update, and remove ISupport data.

This Draft version aims to open a small conversation about the design and the usability of the ISupport class.

Quick note: the ISupport class will generate immutable object. There is no good reason to mess with that, as every bit of information comes from the server itself.

@Exirel
Copy link
Contributor Author

Exirel commented Nov 25, 2019

I'm getting closer to the end: now the ISupport class is able to build a new instance of ISupport by applying changes!

What's left: adding the right rule callables.

@Exirel Exirel marked this pull request as ready for review November 26, 2019 06:29
@Exirel
Copy link
Contributor Author

Exirel commented Nov 28, 2019

By exposing bot.isupport.NICKLEN, this closes #1305 and by parsing 005 RPL_ISUPPORT, this also closes #1082

@Exirel Exirel changed the title irc: ISupport class and basic parsing core: handle 005 RPL_ISUPPORT event Nov 28, 2019
@dgw dgw self-requested a review November 30, 2019 07:19
Copy link
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finally got to this. It's exciting! It was ready not long before my trip out of town for Thanksgiving, and I unfortunately didn't really have a chance to look at it until now (after getting back home). But boy, was it worth the wait!

There are just a few actual questions; most of the line comments are just typos/wording suggestions.

sopel/coretasks.py Show resolved Hide resolved
sopel/coretasks.py Outdated Show resolved Hide resolved
sopel/irc/__init__.py Outdated Show resolved Hide resolved
test/test_coretasks.py Show resolved Hide resolved
test/irc/test_irc_isupport.py Outdated Show resolved Hide resolved
sopel/irc/isupport.py Outdated Show resolved Hide resolved
sopel/irc/isupport.py Outdated Show resolved Hide resolved
sopel/irc/isupport.py Outdated Show resolved Hide resolved
sopel/irc/isupport.py Outdated Show resolved Hide resolved
sopel/irc/isupport.py Outdated Show resolved Hide resolved
Copy link
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as #1769, I thought I'd already approved this. They're both good to squash & rebase (to fix pesky merge conflicts introduced on master recently).

@Exirel
Copy link
Contributor Author

Exirel commented Dec 11, 2019

Rebased, conflict resolved, and squashed.

@dgw
Copy link
Member

dgw commented Dec 11, 2019

#1751 why? You betrayed me. ☹️

sopel/irc/isupport.py Outdated Show resolved Hide resolved
Exirel and others added 4 commits December 12, 2019 11:13
You can access ISUPPORT information from:

* bot.isupport['KEY'] (where KEY is case-insensitive)
* bot.KEY when advertised by the server (where KEY is case-sensitive)

Co-Authored-By: dgw <dgw@technobabbl.es>
@Exirel
Copy link
Contributor Author

Exirel commented Dec 12, 2019

@dgw ready to merge. I'll rebase #1769 upon this one, so you shouldn't have problems when merging both back to back.

@Exirel Exirel deleted the irc-isupport branch January 14, 2020 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants