-
-
Notifications
You must be signed in to change notification settings - Fork 403
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
Rework internal APIs for Command Line Tools #1471
Comments
Feature request: allow for configuration of a specific module (as opposed to the current Let me know if you make an "open call for patches" regarding this, and I will gladly contribute what I can :) |
Hm. In #1465 I played with the idea of a For that, I think we need to make sure all Configuration Wizards comply with the configuration loading, and that we can find the module as Sopel does when running it. |
Ah! I see now that's what |
After a review of @dgw about
|
@Exirel It might be more useful to have only long-form for We should (IMO) reassign (I lied in my original comment. I did have time to check the website listing of CLI args after all!) |
@dgw I fully agree @ --version/-V |
I was thinking about the In that case, I would change the command line from "options" to "arguments", like this:
Where This would be used like this:
For the record, these options are used in this order:
Release CycleIn 7.x I would:
In 8.x I would:
|
SGTM tbh. I have nothing to add, except that I like the "action" proposal. |
I need #1472 to be merged first then. :D |
Ask and ye shall receive! :D |
Since #1472 has been merged, I was able to work on:
I'm quite happy with how #1472 turned out, and how it helps to add new features, and how cleaner it is to work for existing and new CLI tools. Happy me!
|
With #1235 merged, what are the chances of making that easier to configure in future enhancements to the The selection interface you'll presumably implement to resolve #244 could be reused for choosing channels to configure, and picking modules/methods to disable. Draft documentation for the feature is here. |
I think that would be more related to a
Or something alike. I don't know yet. But I like the |
Oh and by the way, that would require the new plugin interface, so it would be much easier to get a list of plugins, and from that list, to extract the available commands. |
Fine with me, if there's other stuff to put there besides this one feature.
Is that (#1479) actually still WIP, or should I try to review it this week(end)? |
This said:
I still think (en|dis)abling plugins on a per-channel basis is very much "config" related. I thought |
Tough choice. I don't have the right argument yet, so I'll leave that for future me. I'm sure we'll figure out something meaningful and so obvious we'll feel bad not to find it sooner. At the moment, #1479 is still a WIP, I want to fix something - that'll have to wait next week. |
@Exirel Have you actually done everything you set out to do with this? |
Actually... yes, I think I did. It could always be better, but I don't think it's worth keeping that reminder in particular. I'd rather see new ideas and improvement in their own issues when they come by. |
After working on
sopel.run_script
and some internal features regarding configuration and modules loadings, it appears the internal APIs require a bit of love and care. There is a lot going on with that, so I'll try to list the things I think about:sopel.cli.*
sub-package,sopel.run_script
bysopel.cli.run
and adapt the setup.py's entry point accordingly,-c config
),and I'm sure I'm forgetting some part.
For the record, I personaly worked on these PR before: #1429 #1434 #1445 #1465 - and others have worked toward the same goal (PR #1464 is a good example of that). Some PR have already been merged and some are closed until this issue is fixed.
Note: this is not an issue to discuss where the config files must be, or how to load modules. This is about making sure all the good ideas around how to structure internals APIs are shared.
The text was updated successfully, but these errors were encountered: