Como script ranger para copiar um arquivo para outro diretório via python

1

ranger é um gerenciador de arquivos de linha de comando que pode ser estendido com python. O arquivo commands.py contém exemplos dos comandos internos:

link

Eu posso ver como excluir arquivos via self.fm.delete() e explorei o arquivo fm.py e não vejo uma função que pareça estar exposta e que permita copiar arquivos de maneira simples (mas eu m não é um dev de python então talvez eu não entenda isso):

link

Eu só quero uma função que copie o current selection para um ~/.directory/ .

Eu sei que eu poderia fazer isso com um mapeamento de chave, mas eu quero fazer isso em python para que eu possa estendê-lo, mas não posso passar por este passo básico.

    
por hermancain 20.01.2017 / 19:32

2 respostas

0

Welp ... é com isso que acabei, mas não tenho certeza se existe uma maneira melhor:

class cpto(Command):                                   
    """:cpto                                           

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

Eu pude explorar o objeto fm mais profundamente clonando o repositório ranger, cd ing, e executando pydoc.ranger.core.actions

    
por 20.01.2017 / 21:15
1

Você pode ter a mesma função criando um mapeamento no arquivo rc.conf da seguinte forma:

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

Em seguida, você selecionará os arquivos que precisa copiar e pressione cto .

    
por 22.09.2018 / 22:54

Tags