Did you set 'nodename' and 'rstnodename' correctly? That error says that it can't find your @rst node, I think.

-->Jake

On 11/22/2013 11:55 PM, Chris George wrote:

No @rst or @slides nodes in selected tree

done

exception executing script

AttributeError: 'NoneType' object has no attribute 'isDirty'

--------------------

  line 457:     #@+node:ekr.20040306214401: *5* p.Status bits

* line 458:     def isDirty     (self): return self.v.isDirty()

  line 459:     def isExpanded  (self): return self.v.isExpanded()

  line 460:     def isMarked    (self): return self.v.isMarked()


On Friday, November 22, 2013 8:43:40 PM UTC-8, Jacob Peck wrote:

    Ah, small issues -- I missed a command and mistyped another:

    Replace the code with the new version (works for me, I tested it
    and everything!):

    ----
    @language python

    ''' usage:
        1. modify nodename below to exactly match the
           headline of the node you wish vr to render (your @auto node)
        2. modify rstnodename below to exactly match the
            headline of your @rst node
        3. Alt-X vr
        4. Alt-X vr-lock
        5. Click this button 'update-vr' any time to
           re-render the target node
    '''

    nodename = '@auto myfile.html.txt'
    rstnodename = '@rst myfile.html'
    current_v = p.v
    c.selectPosition(g.findNodeAnywhere(c,rstnodename))
    c.executeMinibufferCommand('rst3')
    c.selectPosition(g.findNodeAnywhere(c,nodename))
    c.readAtAutoNodes()
    c.selectPosition(g.findNodeAnywhere(c,nodename))
    c.executeMinibufferCommand('vr-update')
    c.selectPosition(c.vnode2position(current_v))
    ----

    I was also mistaken about the reloading *all* @auto files -- this
    will only reload the one you specify.

    Let me know if this still doesn't work.

    -->Jake

    On 11/22/2013 11:32 PM, Chris George wrote:
    Here is what it gives me on running the script. I followed the
    sequence exactly. I was looking at your script and I don't see
    the "Refresh From Disk" step. Is that part of c.readAtAutoNodes() ?


    rendering pane locked

    exception preprocessing script

    Traceback (most recent call last):

      File "/home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py", line 
3551, in
    writeFromString
        at.writeOpenFile(root,nosentinels=not 
useSentinels,toString=True,fromString=s)

      File "/home/chris/Working/leo/leo-editor/leo/core/leoAtFile.py", line 
3674, in
    writeOpenFile
        at.putOpenNodeSentinel(root)

      File "/home/chris/Working/leo/leo-editor/leo/plugins/lineNumbers.py", 
line 51, in
    putLineNumberDirective
        oldOpenNodeSentinel(self,v,inAtAll,inAtOthers,middle)

    TypeError: putOpenNodeSentinel() takes at most 4 arguments (5 given)

    no script selected




    On Friday, November 22, 2013 8:22:58 PM UTC-8, Jacob Peck wrote:

        I assume it worked then?  I don't use rst, so I couldn't
        really test it.  Just went on a hunch ;)

        If so, glad to help :)

        -->Jake

        On 11/22/2013 11:11 PM, Chris George wrote:
        Thank-you Jacob.

        That is so helpful. And perfect timing. I am playing with
        final layouts for an assignment that is due Sunday. This
        will speed the process. Now to whip out Qt Inspector and
        find out what the name of that floating vr pane is so I can
        style the font. It must be a solid 16pt.

        Chris

        On Friday, November 22, 2013 8:03:14 PM UTC-8, Chris George
        wrote:

            Thank-you so much. I will let you know how it works out.
            It is great to see a practical example of scripting Leo.
            I'll save it as a snippet right now and modify it and
            run it on a copy of my data.

            Chris

            On Friday, November 22, 2013 7:34:49 PM UTC-8, Jacob
            Peck wrote:

                I wrote a quick @button script for you, to help you
                out.  Put this in an '@button update-vr' node
                somewhere in your outline:

                ----
                @language python

                ''' usage:
                    1. modify nodename below to exactly match the
                       headline of the node you wish vr to render
                (your @auto node)
                    2. modify rstnodename below to exactly match the
                        headline of your @rst node
                    3. Alt-X vr
                    4. Alt-X vr-lock
                    5. Click this button 'update-vr' any time to
                       re-render the target node
                '''

                nodename = '@auto myfile.rst'
                rstnodename = '@rst myfile.html'
                current_v = p.v
                c.selectPosition(g.findNodeAnywhere(c,rstnodename))
                c.executeMinibufferCommand('rst3')
                c.readAtAutoNodes()
                c.selectPosition(g.findNodeAnywhere(c,nodename))
                c.executeMinibufferCommand('vr-update')
                c.selectPosition(c.vnode2Position(current_v))
                ----

                Be sure to change nodename to match the headline of
                the @auto node you created.  This should combine
                steps 2, 3, and 4 into a single click, with no
                navigation, and drop you down back on the node you
                were editing prior to clicking the button.

                Beware: this has the side-effect of reloading *all*
                @auto nodes in the current outline.  Shouldn't be a
                huge deal, but just be aware.  Take backups before
                you try this.

                Hope this helps!
                -->Jake

                On 11/22/2013 7:24 PM, Chris George wrote:
                So it works. I open a new window for the vr pane
                and set it to float above all other windows. The
                work flow then becomes:

                1. Change content, move nodes around.
                2. Move to appropriate place in the @rst tree and
                run rst3 command in the mini-buffer.
                3. Navigate to the @auto node and refresh from disk.
                4. Run vr-update to see the new output in context.

                Realtime would be better IMHO. But I am glad that I
                can do it at all.

                Chris

                On Friday, November 22, 2013 1:40:53 PM UTC-8,
                Chris George wrote:

                    That works as far as it goes.

                    vr-lock locks the current view of the rendering
                    pane. In order to update the view I must unlock
                    it and relock it, which means I must navigate
                    to the @auto node which negates the purpose.
                    Having it live is the goal.


                    Chris

                    On Friday, November 22, 2013 1:09:59 PM UTC-8,
                    Jacob Peck wrote:

                        On 11/22/2013 4:03 PM, Chris George wrote:
                        I created an @auto node to read the
                        interim rst file. This works, but still
                        requires me to run rst3 and navigate to
                        the @auto node.

                        I do not seem to be able to access
                        lock-unlock-rendering-pane, one of the
                        commands from viewrendered.py. In fact,
                        none of the commands from this plugin
                        appear to work in the minibuffer for me.
                        If I could lock the pane to the @auto
                        node, then it would be simply the chore of
                        me figuring out how to create a
                        script/button to automate this.

                        I think those commands have been renamed
                        'vr-lock' and 'vr-unlock'.

                        Not sure when that happened, but it was
                        before my time with Leo...

                        -->Jake

                        Chris

                        On Friday, November 22, 2013 9:16:01 AM
                        UTC-8, Jacob Peck wrote:

                            On 11/22/2013 12:14 PM, Edward K. Ream
                            wrote:
                            On Fri, Nov 22, 2013 at 10:58 AM,
                            Chris George <[email protected]> wrote:

                                I was wondering if it is
                                currently possible to have the
                                viewrendered pane display a view
                                of what would be the output of an
                                @rst node.


                            vr displays reStructuredText
                            automatically. That's how Leo's help
                            commands work.

                            Edward

                            But it does *not* expand section
                            references, @others, etc., which is
                            what the original message alludes to :)

                            -->Jake



-- You received this message because you are subscribed to the
        Google Groups "leo-editor" group.
        To unsubscribe from this group and stop receiving emails
        from it, send an email to [email protected].
        To post to this group, send email to [email protected].
        Visit this group at
        http://groups.google.com/group/leo-editor
        <http://groups.google.com/group/leo-editor>.
        For more options, visit
        https://groups.google.com/groups/opt_out
        <https://groups.google.com/groups/opt_out>.

-- You received this message because you are subscribed to the
    Google Groups "leo-editor" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected] <javascript:>.
    To post to this group, send email to [email protected]
    <javascript:>.
    Visit this group at http://groups.google.com/group/leo-editor
    <http://groups.google.com/group/leo-editor>.
    For more options, visit https://groups.google.com/groups/opt_out
    <https://groups.google.com/groups/opt_out>.

--
You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to