Community
    • 登入

    RFC / Beta Testers Wanted: pyscFilteredViewer

    已排程 已置頂 已鎖定 已移動 General Discussion
    53 貼文 7 Posters 16.0k 瀏覽
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • PeterJonesP
      PeterJones
      最後由 編輯

      @Meta-Chuh ,

      Thanks for the feedback. I do tend toward detailed wordiness. I’ll try to simplify, and maybe move the details to the end, or to supporting documentation.

      1 條回覆 最後回覆 回覆 引用 1
      • PeterJonesP
        PeterJones
        最後由 編輯

        oh, and

        btw: wasn’t there someone who recently said:

        and I just don’t have the py-knowledge to keep up for long

        Yes, I said that. And I think I said elsewhere (I cannot find the exact quote: google-search no longer returns results inside the forum, and the forum search isn’t always as helpful as I’d like), I said something to the effect of “time to go practice my Python” – this is what I was working toward with that practice. :-)

        Meta ChuhM 1 條回覆 最後回覆 回覆 引用 1
        • PeterJonesP
          PeterJones
          最後由 編輯

          Ah, there we go: this post: “Now back to studying Python”. That’s what I was looking for.

          In languages I’m fluent in, pyscFilteredViewer would have been much faster for me to write. For Python, I still have to look up some basic syntax or command at least once per day, that would be at a Python expert’s fingertip muscle memory.

          1 條回覆 最後回覆 回覆 引用 1
          • PeterJonesP
            PeterJones
            最後由 編輯

            side note: the first thing i read this morning was “psychicFilteredReader” … i guess my coffee hadn’t kicked in yet 😂

            Yeah, “pysc” is my shorthand prefix for PythonScript. I wanted something to indicate the intended audience (Notepad++ PythonScript), without getting too huge or getting in the way of the main name. I don’t know if I was successful. :-)

            btw: nice, i like the emoji based ⇉📺⇉ in the readme.md 😃

            Thanks. There’s no place for a real “icon” in a PythonScript, and didn’t want to have to design one anyway. I tried looking for a unicode “filter” symbol, but the standard Y-shaped filter icon doesn’t have a unicode-equivalent. Arrows through a display unit (like a TV) seemed a reasonable compromise.

            I’ve added your suggestions as issues, so I won’t forget about them.

            1 條回覆 最後回覆 回覆 引用 1
            • PeterJonesP
              PeterJones
              最後由 編輯

              @Eko-palypse said,

              Very strange - I download both latest npp and full PythonScript plugin zips.
              Create a new minimal test script and boom - crash? 10 tries ten crashes.

              I have no idea why our systems are behaving differently. It seems odd that my couple of extra plugins would make my system more stable than yours.

              Maybe Windows 7 is less stable than Win10? (Hard to believe, I know).

              1 條回覆 最後回覆 回覆 引用 1
              • Meta ChuhM
                Meta Chuh moderator @PeterJones
                最後由 Meta Chuh 編輯

                @PeterJones

                Thanks for the feedback. I do tend toward detailed wordiness. I’ll try to simplify, and maybe move the details to the end, or to supporting documentation.

                wordiness comes only because it’s your own baby ;-)
                if you answer any notepad++ question, you keep it as short and easy to read as possible, with a syntax always matched to the original poster’s capabilities.

                btw: i hope you don’t mind my feedback, i just think psychicFilteredReader ;-) has potential and a simplified guide might attract more unexperienced users.

                pyscFilteredReader or pyscfr is a fine name, it will be easy to find in google at it is unique.

                Yes, I said that. And I think I said elsewhere (I cannot find the exact quote: google-search no longer returns results inside the forum, and the forum search isn’t always as helpful as I’d like), I said something to the effect of “time to go practice my Python” – this is what I was working toward with that practice. :-)

                >>> this <<< was your post i was referring to … because it was the last chat we had with scott around here … sigh :-(

                1 條回覆 最後回覆 回覆 引用 1
                • PeterJonesP
                  PeterJones
                  最後由 編輯

                  I asked for feedback, why would I mind?

                  The name might change eventually.

                  You seem to have latched on Reader rather than Viewer. Other than the psychic connection, is there a reason you prefer FilteredReader to FilteredViewer?

                  I thought of it as a “filtered viewer”, because it based on using the “filtered” feature of PreviewHTML. But really, my script is neither doing the filtering (it delegates that to an external process) nor a viewer (it delegates that to an external process) – so it might not be the best name. Maybe something like “ConvertAndLaunch”. I don’t know. I don’t want it to include “HTML” in the name, even though right now it does “ConvertToHTMLAndLaunch”, because I’m hoping to make it allow other filter-destinations. Maybe “ConvertThenPreview”?

                  Hmm, it just hit me: if I do get the alternate destination, other than HTML, it’s basically become a generic utility that could not only be used for convert-from-X-to-HTML-and-view, but also compile-then-run, by using the compiler command (or make or whatever) for the Command=, and telling it that the output is an executable rather than HTML. Interesting. More things to ponder.

                  1 條回覆 最後回覆 回覆 引用 1
                  • Alan KilbornA
                    Alan Kilborn
                    最後由 編輯

                    I have done nothing except read the discussion here, and (again, with not further exploration) I keep thinking about how it might be similar to or different from Don’s porcine offering: https://github.com/npp-plugins/pork2sausage

                    1 條回覆 最後回覆 回覆 引用 2
                    • PeterJonesP
                      PeterJones
                      最後由 編輯

                      @Alan-Kilborn ,

                      I keep thinking about how it might be similar to or different from Don’s porcine offering: https://github.com/npp-plugins/pork2sausage

                      Thanks for that. Yeah, they are similar. The primary difference is that mine doesn’t replace the source file. For one of my primary use cases – rending the POD from inside my Perl code into an HTML document – it would be rather destructive to the Perl code to have it be replaced by HTML. :-)

                      1 條回覆 最後回覆 回覆 引用 1
                      • chcgC
                        chcg
                        最後由 編輯

                        @Peter-Jones I added it as addon example to https://github.com/bruderstein/PythonScript. Hope that is ok for your.

                        1 條回覆 最後回覆 回覆 引用 1
                        • PeterJonesP
                          PeterJones
                          最後由 PeterJones 編輯

                          v0.02-beta has been released.

                          • per #5, add an ExampleConverterCommand.bat, update the default pyscFilteredViewer.ini file to have valid filter defined using that batch file, so now there is a working filter out-of-the-box.
                          • per #4, simplify the installation instructions, moving the alternate-situations to separate documentation

                          Also, per @Alan-Kilborn , I made a brief mention of how it differs from pork2sausage

                          @chcg: as I meant to imply by my upvote, I’m fine with you linking to it from PythonScript. I’m a little surprised there’s only two “interesting addon scripts” in the universe right now. :-) I guess you cannot just link to every wonderful script that @Claudia-Frank (or any other PythonScript contributor) posted to this Community… though probably some of her gists would be worth linking to.

                          1 條回覆 最後回覆 回覆 引用 3
                          • guy038G
                            guy038
                            最後由 guy038 編輯

                            Hello, @peterjones and All,

                            I’ve just tried your pyscFilteredViewer and everything went fine ! Well…, as long as if I’ve already started my browser !

                            Indeed, if I use the One-time filtering mode, on my weak XP configuration, the temporary file <Hex number>.<filename>.FILTERED.html seems already deleted… by the time the browser gets opened, leading, for instance, to the browser message( in French, of course ) :

                            " Firefox cannot find the file at the address /c:/docume~1/guy/locals~1/temp/37B82996.Test.txt.FILTERED.html "

                            Luckily, subsequent tests seem OK. I’m saying “seem” and not “are”, as yesterday, Notepad++ crashed several times ! Unfortunately, I could not understand the sequence of actions which causes N++ to crash, when using your script !

                            Today, once my browser opened ( while listening music on NET, too ! ) , I tried to run your script, successively, on the same file ( Your README.md file ) => Sometimes it’s opened, correctly, in the browser but in some other cases, it displays :

                            " Firefox cannot find the file at the address /c:/docume~1/guy/locals~1/temp/2BF64FA9.README.md.FILTERED.html "

                            Moreover, in a few cases, it, also, exits Notepad++, immediately !

                            An another time, on the Python console, this error occurred :

                            File “D:@@\763\plugins\Config\PythonScript\scripts\pyscFilteredViewer\pyscFilteredViewerLibrary.py”, line 312, in pyscfv_FilteredViewer
                            os.unlink(tmpfile)

                            WindowsError: [Error 32] The process cannot access the file as this file is used by an other process : ‘c:\docume~1\guy\locals~1\temp\2BF64FA9.README.md.FILTERED.html’

                            I noticed that, if I’m not listening simultaneously music on WEB, it’s getting better : no more error occurs and the browser seems to display the HTML version of files, a bit quicker !

                            So, Peter, don’t worry about it. Probably, some side-effects of my old XP machine :-))

                            Best Regards,

                            guy038

                            For the record, in the pyscFilteredViewer.ini file, I only added the section, below :

                            [Txtfile]
                            Language=Normal text
                            Extension=.txt .md .log
                            Command="D:\@@\763\plugins\Config\PythonScript\scripts\pyscFilteredViewer\ExampleConverterCommand.bat" "%1"
                            

                            And here is my Debug info :

                            Notepad++ v7.6.3   (32-bit)
                            Build time : Jan 27 2019 - 17:20:30
                            Path : D:\@@\763\notepad++.exe
                            Admin mode : OFF
                            Local Conf mode : ON
                            OS : Windows XP (32-bit)
                            Plugins : DSpellCheck.dll mimeTools.dll NppConverter.dll NppExport.dll PythonScript.dll 
                            
                            Meta ChuhM 1 條回覆 最後回覆 回覆 引用 2
                            • PeterJonesP
                              PeterJones
                              最後由 編輯

                              @guy038,

                              Thanks, that’s actually quite useful: I probably should just leave the temporary files there, rather than deleting every time. (The auto-delete was a holdover from when I used a random tmpfile name, before I had the FilterOnSave option.)

                              As for the crash: it’s probably the same issue @Eko-palypse had with crashing. So far, 7.6.2 64-b on Win7 and 7.6.3 32-bit on XP see the crashes, whereas my 7.6.4 64-bit on Win10 does not. Maybe it is an older-windows thing. Since I don’t have access to Win7 or earlier machines, that will be hard for me to test. Maybe I’ll have to look into “if OS<Win10, don’t use the command eko noticed”… I’ll have to research how to look up Windows-rev in Python.

                              Meta ChuhM 1 條回覆 最後回覆 回覆 引用 1
                              • Eko palypseE
                                Eko palypse
                                最後由 編輯

                                @Peter-Jones
                                Still strange this crashes - I will setup a Windows10 in VirtualBox and see if I can get the same
                                result as you have. If so, I guess it’s time to upgrade - Win7 comes to end anyway.

                                Meta ChuhM 1 條回覆 最後回覆 回覆 引用 2
                                • Meta ChuhM
                                  Meta Chuh moderator @guy038
                                  最後由 Meta Chuh 編輯

                                  @guy038 @PeterJones and all

                                  seems already deleted… by the time the browser gets opened

                                  true, even if it has been rendered in time before it gets deleted, the auto deletion also makes it impossible to view the source code of a rendered html by right clicking on the rendered page.

                                  1 條回覆 最後回覆 回覆 引用 1
                                  • Meta ChuhM
                                    Meta Chuh moderator @PeterJones
                                    最後由 Meta Chuh 編輯

                                    @PeterJones said:

                                    I probably should just leave the temporary files there, rather than deleting every time.

                                    one possibility to avoid cluttering of old temp files, could be not to delete the current temp file at the end of the script, but to delete all pyscfr temp files at the beginning of the script, once a new html has been rendered.
                                    this would leave them there until a new rendering is executed, and not fill up %temp%

                                    another possibility could be to use a static file name for the rendered html, and never delete it (it would simply be overwritten everytime a new render has been done, and the file name would always be the same

                                    1 條回覆 最後回覆 回覆 引用 1
                                    • Meta ChuhM
                                      Meta Chuh moderator @Eko palypse
                                      最後由 Meta Chuh 編輯

                                      @Eko-palypse

                                      Still strange this crashes - I will setup a Windows10 in VirtualBox and see if I can get the same
                                      result as you have. If so, I guess it’s time to upgrade - Win7 comes to end anyway.

                                      strange, i didn’t even manage to crash exit npp using pyscfr on windows 7.

                                      either my system is somewhat different … or i didn’t test the right things long enough 😂😂😂
                                      just kidding, i think we all tested pyscfr a lot

                                      Eko palypseE 1 條回覆 最後回覆 回覆 引用 2
                                      • Eko palypseE
                                        Eko palypse @Meta Chuh
                                        最後由 編輯

                                        @Meta-Chuh @Peter-Jones

                                        Win10 x64
                                        Npp7.6.3 x64 7z
                                        PythonScript 1.3.0 x64 full.zip

                                        and running

                                        from Npp import notepad, LANGTYPE
                                        LANGUAGES = LANGTYPE.values.values()
                                        for language in LANGUAGES:
                                            x = notepad.getLanguageDesc(language)
                                        

                                        results in

                                        Faulting application name: notepad++.exe, version: 7.6.3.0, time stamp: 0x5c4dd9e9
                                        Faulting module name: ntdll.dll, version: 10.0.17134.376, time stamp: 0x60d78cf9
                                        Exception code: 0xc0000374
                                        Fault offset: 0x00000000000f4d7b
                                        Faulting process ID: 0x1794
                                        Faulting application start time: 0x01d4b97dee776c53
                                        Faulting application path: C:\tools\Npp\763\x64\notepad++.exe
                                        Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
                                        Report ID: 18dc0488-4bb7-4063-b564-596ea765af26
                                        Faulting package full name: 
                                        Faulting package-relative application ID: 
                                        

                                        BUT what I found out so far is, that this happens only for the very first time you start npp on Win10.
                                        5 reboots - 5 crashes after immediate execution.
                                        Subsequent starts and script executions do not fail anymore. Did a 100000 loop without a problem.
                                        On Win7 this doesn’t matter - every run crashes my npp.

                                        ??? Start running out of ideas ??? - Unfortunately I haven’t enough expertise debugging npp in Visual Studio … hmmm …

                                        1 條回覆 最後回覆 回覆 引用 1
                                        • PeterJonesP
                                          PeterJones
                                          最後由 編輯

                                          Thanks again for everyone’s feedback.

                                          v0.03-beta has been released. I fixed the tempfile cleanup that @guy038 mentioned (by deleting all temp at the first run of the script – so basically, when you reload NPP – similar to what @Meta-Chuh recommended). I also fixed a couple of things that were starting to annoy me that others hadn’t mentioned yet.

                                          Still haven’t been able to debug the crashing thing; I cannot get a reliable crash, so cannot eliminate it. @Eko-palypse : where did you get that detailed crash info that you quoted in your most recent post?

                                          Eko palypseE 1 條回覆 最後回覆 回覆 引用 2
                                          • Eko palypseE
                                            Eko palypse @PeterJones
                                            最後由 編輯

                                            @PeterJones - copied from the windows eventviewer log.

                                            1 條回覆 最後回覆 回覆 引用 1
                                            • 第一個貼文
                                              最後的貼文
                                            The Community of users of the Notepad++ text editor.
                                            Powered by NodeBB | Contributors