“Objeto 'Mega' não possui atributo 'get_name_from_file'” ao gravar arquivos no Mega

2

Estou tentando fazer backup do meu sistema de backup para minha conta link

1- Déjà dup = O front-end do Ubuntu é fácil para a poderosa Duplicity 2- Duplicidade afirma que suporta Mega desde a versão v0.6.23 (através de um mega: // URI)

--- Usando Duplicidade v0.6.23 ----

O comando

duplicity /test mega://myemail%40yahoo.com:[email protected]/test

grava arquivos com sucesso no meu diretório Mega, mas exibe os seguintes erros:

Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1489, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1483, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1332, in main
    do_backup(action)
  File "/usr/bin/duplicity", line 1361, in do_backup
    sync_archive(decrypt)
  File "/usr/bin/duplicity", line 1094, in sync_archive
    remlist = globals.backend.list()
  File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 429, in list
    return map(tobytes, self._list())
  File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 330, in iterate
    return fn(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/megabackend.py", line 115, in _list
    % (self.__get_node_name(self.folder), str(e)), raise_errors)
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/megabackend.py", line 139, in __get_node_name
    return self.client.get_name_from_file({handle:files[handle]})
AttributeError: 'Mega' object has no attribute 'get_name_from_file'

--- Usando o Déjà Dup 30.0 ----

Na guia "Armazenamento", seleciono

  • Local do backup: local personalizado

  • URI: mega: //myemail%40yahoo.com: [email protected]/test

mas produz o erro "Falha no backup: o local não pode ser montado"

Você conhece alguma solução para usar o Déjà Dup (ou Duplicity sem erros) para criar uma solução de backup fácil para o mega.co.nz?

Obrigado por qualquer ajuda!

    
por max 03.05.2014 / 01:45

2 respostas

5

Este é um dos tipos de situações que a sabedoria dos antigos .

Então, ummm ...

Queridas pessoas do futuro, eis o que descobrimos até agora:

Parece que o código para o módulo Python foi descontinuado. Há um link na página que diz que há algo mais novo, mas esse link 404s.

Estou usando o Debian Jessie, mas suponho que seja semelhante para o Ubuntu. Você precisa editar o arquivo /usr/local/lib/python2.7/dist-packages/mega/mega.py como root em qualquer editor de texto que você usa. Em seguida, adicione o seguinte código abaixo de class Mega(object): :

def get_name_from_file(self, file):
    for key, value in file.items():
        if 'a' in value and 'n' in value['a']:
             return value['a']['n']
    raise RequestError("Could not find the file attribute.")

Parece que a duplicidade pode realmente restaurar os arquivos que são copiados no Mega ... o que pode ser um pouco importante se você precisar.

    
por user1422053 28.07.2015 / 06:25
0

Eu usei Mega diretamente via duplicidade com sucesso. Eu lembro que tinha que pegar um git checkout do módulo mega python e mesmo assim tinha que consertar alguns bugs com ele. Mas não me lembro desse erro em particular. Então, talvez o módulo mega python seja um pouco desajeitado.

Quanto à caixa "localização personalizada" do Deja Dup, isto é, para URLs do GNOME, como você colocaria na barra de localização do Navegador de Arquivos, não para URLs de duplicidade.

Neste momento, Deja Dup não suporta Mega como um destino. Desculpa. : (

    
por Michael Terry 03.05.2014 / 18:36