How to script ranger to copy a file to another directory via python

Multi tool use
Multi tool use

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite












ranger is a command line file manager that can be extended with python. The commands.py file contains examples of the built in commands:



https://github.com/ranger/ranger/blob/master/ranger/config/commands.py



I can see how to delete files via self.fm.delete() and I have explored the fm.py file and don't see a function that looks to be exposed that would allow me to copy files in a straightforward way (but I'm not a python dev so maybe I don't understand it):



https://github.com/ranger/ranger/blob/master/ranger/core/fm.py



I just want a function that will copy the current selection to a ~/.directory/.



I know I could do this with a key mapping, but I want to do it in python so that I can extend it, but I can't get past this one basic step.










share|improve this question

























    up vote
    0
    down vote

    favorite












    ranger is a command line file manager that can be extended with python. The commands.py file contains examples of the built in commands:



    https://github.com/ranger/ranger/blob/master/ranger/config/commands.py



    I can see how to delete files via self.fm.delete() and I have explored the fm.py file and don't see a function that looks to be exposed that would allow me to copy files in a straightforward way (but I'm not a python dev so maybe I don't understand it):



    https://github.com/ranger/ranger/blob/master/ranger/core/fm.py



    I just want a function that will copy the current selection to a ~/.directory/.



    I know I could do this with a key mapping, but I want to do it in python so that I can extend it, but I can't get past this one basic step.










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      ranger is a command line file manager that can be extended with python. The commands.py file contains examples of the built in commands:



      https://github.com/ranger/ranger/blob/master/ranger/config/commands.py



      I can see how to delete files via self.fm.delete() and I have explored the fm.py file and don't see a function that looks to be exposed that would allow me to copy files in a straightforward way (but I'm not a python dev so maybe I don't understand it):



      https://github.com/ranger/ranger/blob/master/ranger/core/fm.py



      I just want a function that will copy the current selection to a ~/.directory/.



      I know I could do this with a key mapping, but I want to do it in python so that I can extend it, but I can't get past this one basic step.










      share|improve this question













      ranger is a command line file manager that can be extended with python. The commands.py file contains examples of the built in commands:



      https://github.com/ranger/ranger/blob/master/ranger/config/commands.py



      I can see how to delete files via self.fm.delete() and I have explored the fm.py file and don't see a function that looks to be exposed that would allow me to copy files in a straightforward way (but I'm not a python dev so maybe I don't understand it):



      https://github.com/ranger/ranger/blob/master/ranger/core/fm.py



      I just want a function that will copy the current selection to a ~/.directory/.



      I know I could do this with a key mapping, but I want to do it in python so that I can extend it, but I can't get past this one basic step.







      python ranger






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 20 '17 at 18:32









      hermancain

      699612




      699612




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          Welp... this is what I ended up with, but I'm not sure if there is a better way:



          class cpto(Command): 
          """:cpto

          copies the file to a special directory
          """
          def execute(self):
          self.fm.execute_console("shell cp %s ~/.special_directory &")


          I was able to explore the fm object more in-depth by cloning the ranger repo, cding into it, and running pydoc.ranger.core.actions






          share|improve this answer



























            up vote
            0
            down vote













            You can have the same function by creating a mapping in your rc.conf file as follows:



            map cto shell -f cp %s ~/.special_directory/


            Then, you will select the files you need to copy, and press cto.






            share|improve this answer




















            • Except for the part where the OP says: “I know I could do this with a key mapping, but I want to do it in python”
              – Jeff Schaller
              Sep 22 at 21:23










            Your Answer







            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: false,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f338941%2fhow-to-script-ranger-to-copy-a-file-to-another-directory-via-python%23new-answer', 'question_page');

            );

            Post as a guest






























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote



            accepted










            Welp... this is what I ended up with, but I'm not sure if there is a better way:



            class cpto(Command): 
            """:cpto

            copies the file to a special directory
            """
            def execute(self):
            self.fm.execute_console("shell cp %s ~/.special_directory &")


            I was able to explore the fm object more in-depth by cloning the ranger repo, cding into it, and running pydoc.ranger.core.actions






            share|improve this answer
























              up vote
              0
              down vote



              accepted










              Welp... this is what I ended up with, but I'm not sure if there is a better way:



              class cpto(Command): 
              """:cpto

              copies the file to a special directory
              """
              def execute(self):
              self.fm.execute_console("shell cp %s ~/.special_directory &")


              I was able to explore the fm object more in-depth by cloning the ranger repo, cding into it, and running pydoc.ranger.core.actions






              share|improve this answer






















                up vote
                0
                down vote



                accepted







                up vote
                0
                down vote



                accepted






                Welp... this is what I ended up with, but I'm not sure if there is a better way:



                class cpto(Command): 
                """:cpto

                copies the file to a special directory
                """
                def execute(self):
                self.fm.execute_console("shell cp %s ~/.special_directory &")


                I was able to explore the fm object more in-depth by cloning the ranger repo, cding into it, and running pydoc.ranger.core.actions






                share|improve this answer












                Welp... this is what I ended up with, but I'm not sure if there is a better way:



                class cpto(Command): 
                """:cpto

                copies the file to a special directory
                """
                def execute(self):
                self.fm.execute_console("shell cp %s ~/.special_directory &")


                I was able to explore the fm object more in-depth by cloning the ranger repo, cding into it, and running pydoc.ranger.core.actions







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 20 '17 at 20:15









                hermancain

                699612




                699612






















                    up vote
                    0
                    down vote













                    You can have the same function by creating a mapping in your rc.conf file as follows:



                    map cto shell -f cp %s ~/.special_directory/


                    Then, you will select the files you need to copy, and press cto.






                    share|improve this answer




















                    • Except for the part where the OP says: “I know I could do this with a key mapping, but I want to do it in python”
                      – Jeff Schaller
                      Sep 22 at 21:23














                    up vote
                    0
                    down vote













                    You can have the same function by creating a mapping in your rc.conf file as follows:



                    map cto shell -f cp %s ~/.special_directory/


                    Then, you will select the files you need to copy, and press cto.






                    share|improve this answer




















                    • Except for the part where the OP says: “I know I could do this with a key mapping, but I want to do it in python”
                      – Jeff Schaller
                      Sep 22 at 21:23












                    up vote
                    0
                    down vote










                    up vote
                    0
                    down vote









                    You can have the same function by creating a mapping in your rc.conf file as follows:



                    map cto shell -f cp %s ~/.special_directory/


                    Then, you will select the files you need to copy, and press cto.






                    share|improve this answer












                    You can have the same function by creating a mapping in your rc.conf file as follows:



                    map cto shell -f cp %s ~/.special_directory/


                    Then, you will select the files you need to copy, and press cto.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Sep 22 at 20:54









                    user314583

                    1




                    1











                    • Except for the part where the OP says: “I know I could do this with a key mapping, but I want to do it in python”
                      – Jeff Schaller
                      Sep 22 at 21:23
















                    • Except for the part where the OP says: “I know I could do this with a key mapping, but I want to do it in python”
                      – Jeff Schaller
                      Sep 22 at 21:23















                    Except for the part where the OP says: “I know I could do this with a key mapping, but I want to do it in python”
                    – Jeff Schaller
                    Sep 22 at 21:23




                    Except for the part where the OP says: “I know I could do this with a key mapping, but I want to do it in python”
                    – Jeff Schaller
                    Sep 22 at 21:23

















                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f338941%2fhow-to-script-ranger-to-copy-a-file-to-another-directory-via-python%23new-answer', 'question_page');

                    );

                    Post as a guest













































































                    5z Vp,Z4mv610Z09Un,29DPLT,wSW8IEsTHmqavzBEGdP bU9bjf ApM5vRimw3HW95M KfMUja2Q
                    bF4or DHWu2e d9VKlE1,moMp32h6b70Edk3sCmXcwnfhmIQO38v6j,89

                    Popular posts from this blog

                    How to check contact read email or not when send email to Individual?

                    How many registers does an x86_64 CPU actually have?

                    Displaying single band from multi-band raster using QGIS