Using the PythonScript plugin to automate N++
-
Thank you, that fixed it. Apparently, there needs to be a " ‘Plugins to the Plugin’ Admin"! 🙃
However, it looks like it’ll be quite a while before I understand everything that’s going on in that sample script. Maybe I should publish a version of my Shortcut script without the GUI bells and whistles?
-
@TBugReporter said in Using the PythonScript plugin to automate N++:
Apparently, there needs to be a " ‘Plugins to the Plugin’ Admin"!
No. PythonScript plugin author has decided Plugins Admin is only to offer a certain PythonScript package. If you want the extras, you have to go get them manually. It’s not a big deal.
-
@Alan-Kilborn said in Using the PythonScript plugin to automate N++:
If you want the extras, you have to go get them manually. It’s not a big deal.
It is, when that “certain PythonScript package” includes sample scripts that won’t work without these extra parts - and when the documentation link built into the plugin gives no clue that these extra parts exist, nor how to get them.
-
@TBugReporter said in Using the PythonScript plugin to automate N++:
that “certain PythonScript package” includes sample scripts that won’t work without these extra parts
Create an ISSUE that those sample scripts should be removed, or perhaps that instructions for getting the extra parts should be added as comments at the top of those scripts that need them?
the documentation link built into the plugin gives no clue that these extra parts exist, nor how to get them.
Documentation can always stand some improvement. Perhaps make that suggestion as well.
In general, be careful when considering those sample scripts. They are often added to the project without a lot of vetting.
I maintain that it is “not a big deal”. If you’re a “programmer” that wants everything handed to them, or always made “super obvious”, you’re probably not going to get very far. Google and some due diligence type research are your friends.
There was one guy a while ago that got all butt hurt that PythonScript 2 was different from PythonScript 3, and felt it was the PythonScript author’s job to better protect him from some of the effects of the differences. We all here kind of laughed at him; it was a “do your research before using, man” kind of thing.
Perhaps in the end you won’t like Tcl/Tk anyway; that’s been my feeling. Good luck.
-
@TBugReporter said in Using the PythonScript plugin to automate N++:
It is, when that “certain PythonScript package” includes sample scripts
I agree, maybe it should be wrapped in a try block and if it can’t be found a MessageBox is called explaining this.
… nor how to get them
This is not as easy as it sounds, because there are several ways to set up a “PythonScript environment”. You can use one of the “environments” provided by the plugin, but you can also use the entire Python ecosystem by using a local Python installation along with the plugin. So at a certain point it’s hard to draw the line on what you can/should document.
-
@Ekopalypse said in Using the PythonScript plugin to automate N++:
maybe it should be wrapped in a try block and if it can’t be found a MessageBox is called explaining this.
You mean like this one? 😉
While this provides useful info, I still think it’s not useful enough. I’ll be posting on @bruderstein’s GitHub, as soon as I decide exactly what to post. -
@TBugReporter said in Using the PythonScript plugin to automate N++:
While this provides useful info, I still think it’s not useful enough. I’ll be posting on @bruderstein’s GitHub, as soon as I decide exactly what to post.
Did you consider my story about the other guy that we laughed at? Do what you will, but think about NOT making yourself into another one of those guys.
Aren’t you the person that had the major tizzy because the right-click options on one of the controls in the ShortcutMapper had a couple of extra default options left on it?
We do seem to attract those that we call “interesting thinkers”, here…
-
@Alan-Kilborn said in Using the PythonScript plugin to automate N++:
Did you consider my story about the other guy that we laughed at?
Not really, because I’m only concerned about how the PythonScript plugin works, and in the process of learning about Python, my research - yes, I did some - revealed that there are some major differences between 2 and 3, but the question of whether the plugin conforms to whatever standards are (or were) established for the Python language - well, that question really didn’t matter to me.
Do what you will, but think about NOT making yourself into another one of those guys.
It’s hard to know what reaction a question or comment will generate before asking the question or making the comment.
Aren’t you the person that had the major tizzy because the right-click options on one of the controls in the ShortcutMapper had a couple of extra default options left on it?
I wouldn’t characterize it that way, but yes. Since that, because of that, my opinion of N++ has changed. I used to think of it as a well-polished alternative to the text editor supplied with Windows, but now I see it more as a collection of parts that don’t quite fit together - and that getting them to work together as well as they do is a major accomplishment in itself. That’s not to say that I won’t keep pushing to get it working better, but now I see the rough edges and understand why they’re so rough.
-
You mean like this one?
Yes, but no - more in the direction pointing to the package that contains the Tkinter module.
-
@TBugReporter said in Using the PythonScript plugin to automate N++:
I wouldn’t characterize it that way, but yes.
LOL.
And thanks for not having an emotional overreaction to my comments the way some people do.
because of that, my opinion of N++ has changed. I used to think of it as a well-polished alternative to the text editor supplied with Windows, but now I see it more as a collection of parts that don’t quite fit together - and that getting them to work together as well as they do is a major accomplishment in itself.
IMO, Notepad++ is “well polished” but maybe it has enough quirks to keep things interesting. :-)
And I don’t know that I’d agree that it is a “collection of parts that don’t quite fit together”. Probably if it were a sack of disjointed parts even the author would’ve given up on it long ago.
That’s not to say that I won’t keep pushing to get it working better, but now I see the rough edges and understand why they’re so rough.
I don’t know if your “rough” assessment is accurate, but I agree that all any of us (that are interested) can do, is some “pushing”.
-
@Alan-Kilborn said in Using the PythonScript plugin to automate N++:
thanks for not having an emotional overreaction to my comments the way some people do.
I have experience with people who seem brusque when communicating over the Internet - heck, I am “those people” sometimes.
IMO, Notepad++ is “well polished” but maybe it has enough quirks to keep things interesting. :-)
Okay, I’ll go with “quirky”.
@Ekopalypse:
Two questions for you -- I’m trying to
import
yourtaskdialog.py
script into mine, but I’m getting this error:
File "{...}\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts\taskdialog.py", line 400, in show None if self.checked_verification is None else ctypes.byref(wintypes.INT(self.checked_verification)) ctypes.ArgumentError: argument 1: <type 'exceptions.TypeError'>: expected LP_TASKDIALOGCONFIG instance instead of pointer to TASKDIALOGCONFIG
Is this a bug in your script, or mine (or both)?
I want my dialog to contain a group of checkboxes, but your script seems to only allow for one. What do I need to do to get this?Never mind. I found the Windows documentation for the TaskDialog routines and realized that this is just a slightly fancier version of “Abort, Retry, Ignore?” - IOW, it’s still not configurable enough for what I want, and everybody uses GUI IDEs to build these now, so there’s very little info out there on how to “roll your own”.
- I’m trying to
-
Let me check - I will follow up later today.
-
I was not able to replicate the error you mentioned, but unfortunately while testing I found a serious problem that could lead to a hanging or even crashing npp. This needs to be investigated further.