RFC / Beta Testers Wanted: pyscFilteredViewer



  • @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



  • @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



  • @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 …



  • 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?



  • @PeterJones - copied from the windows eventviewer log.



  • @ekopalypse,

    I finally found the time to try out your ctypes-based/windows-messaging-based alternative to getLanguageName()/getLanguageDesc(). I haven’t yet seen a crash with my testing of this updated version, and v0.03-beta had started to crash more frequently for me, so I’m hoping v0.04-beta fixed the crash by using your functions.

    v0.04 Beta Release

    Newest beta release

    • Convert from notepad.getLanguageName(notepad.getCurrentLanguage()) to a function __eko_getLexerName() that’s derived from @ekopalypse’s Enhanced UDL Lexer’s get_lexer_name(); similarly for ...getLanguageDesc(...) => __eko_getLexerDesc()

    • Fix the hex prefix in the filtered filename to never show up as -XXXXXXXX by masking the 32-bit CRC32 with 0xFFFFFFFF, to make sure Python doesn’t incorrectly believe that it’s “negative” when the MSB is 1.

    You can download just the scripts via pyscFilteredViewer-v0.04-beta.zip



  • @PeterJones

    Since I use the SendMessage method I also had no crash anymore.
    I tried to pinpoint the cause of the issue but my lack of C++ knowledge isn’t really helpful here ;-)



  • @PeterJones

    wow, 2.2k viewers !!!

    it seems that pyscfr isn’t just a cool tool for us internally.
    it has apparently caught more interest than the majority of topics, excluding official announcements 👍

    @Ekopalypse

    you have to reduce your offline times, please 😉



  • @Meta-Chuh,

    You did a stealth edit and got rid of the “how many downloads at GitHub” question… but I found that timely, because it was just a few hours ago that I went searching how to find that information.

    It’s in the GitHub API: https://api.github.com/repos/pryrt/pyscFilteredViewer/releases lists the JSON for the project, and each of the “assets” has a “download_count” attribute. Unfortunately, that appears to just be for the manual script-only zipfile that I upload as an “asset”, because I don’t see download_count for any of their auto-generated tarball/zipball.

    At last check, v0.03-beta had 2 downloads, and v0.04-beta had 4. So not exactly the impressive number that the Community “views” count would indicate. I think the 44 posts in this thread, and all of our views where we load/reload/upvote/refresh probably artificially inflate that count. :-)



  • you have to reduce your offline times, please

    Well there is a fight we can’t win I guess - my boss, she is also called wife, has exactly the opposite opinion :-D



  • @Ekopalypse

    Well there is a fight we can’t win I guess - my boss, she is also called wife, has exactly the opposite opinion :-D

    easy solution:

    • take her to a nice dinner.
    • order something very spicy for you.
    • complain about a stomach ache because it was too spicy.
    • go to the toilet for an extended period of time and use your mobile phone to get here.

    side note: repeat this every day, and she’ll get completely used to it. 😉



  • @Meta-Chuh

    the idea is nice despite the fact that I’m already eating very spicy and, sounds strange these days,
    I don’t have a mobile. And carrying my laptop with me while having diner with her … well … you can guess
    what might happen … a tip … nothing that a man really likes :-D



  • @Ekopalypse

    then i have an …

    adaption of the hitchhiker’s guide to the notepad++ community for married men:

    • take her to a nice dinner to restaurants where you have previously deposited a notebook at every toilet.
    • order something very, very spicy for you.
    • complain about a stomach ache because it was too spicy.
    • go to the toilet for an extended period of time and use your mobile phone to get here.
    • take care to limit the amounts of restaurants you visit to only a few, in order not to get broke due to buying a vast amount of notebooks you have to deposit at every toilet.

    😂😂😂



  • @Meta-Chuh

    and NOW the circle closes - we need MACBOOKS :-D



  • @PeterJones

    At last check, v0.03-beta had 2 downloads, and v0.04-beta had 4. So not exactly the impressive number that the Community “views” count would indicate. I think the 44 posts in this thread, and all of our views where we load/reload/upvote/refresh probably artificially inflate that count. :-)

    seen that, that’s why i removed the question in time.
    albeit i doubt that it was just us who have visited this thread that often.
    after looking at the download count, i re-checked some of our other topics for the hit count, and all of the ones i’ve visited, that had our personal interest, were far below that count.

    ps: sorry for hijacking your thread with so much spicy food for married men.



  • @Ekopalypse

    and NOW the circle closes - we need MACBOOKS :-D

    looool, yes i’ve predicted the spicy future back then and this was the only reason why i asked for 5 of those at that thread 👍😂👍



  • @Meta-Chuh said:

    ps: sorry for hijacking your thread

    We hijack other threads so often, it’s about time we started hijacking our own threads, too. :-)



  • @PeterJones

    LOOOL


Log in to reply