web-dev-qa-db-fra.com

"L'objet 'Mega' n'a pas d'attribut 'get_name_from_file'" lors de l'écriture de fichiers dans Mega

J'essaie d'avoir une sauvegarde deja-dup de mon système sur mon https://mega.co.nz compte

1- Déjà dup = Ubuntu front-end facile à la puissante Duplicity 2- Duplicity déclare qu'il prend en charge Mega à partir de la version v0.6.23 (via un méga: // URI)

--- Utilisation de Duplicity v0.6.23 ----

La commande

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

écrit avec succès des fichiers dans mon répertoire Mega mais il affiche les erreurs suivantes:

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'

--- Utilisation de Déjà Dup 30.0 ----

Dans l'onglet "Stockage", je sélectionne

  • Emplacement de sauvegarde: emplacement personnalisé

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

mais il génère l'erreur "Échec de la sauvegarde: l'emplacement n'est pas montable"

Connaissez-vous une solution pour utiliser Déjà Dup (ou Duplicity sans erreurs) pour créer une solution de sauvegarde facile vers mega.co.nz?

Merci pour toute aide!

2
max

C'est l'une de ces sagesse des anciens sortes de situations.

Alors, ummm ...

Chers gens du futur, voici ce que nous avons découvert jusqu'à présent:

Il semble que le code du module Python a été déconseillé. Il y a un lien sur la page qui dit qu'il y a quelque chose de plus récent, mais ce lien 404s.

J'utilise Debian Jessie, mais je suppose que cela devrait être similaire pour Ubuntu. Vous devez modifier le fichier /usr/local/lib/python2.7/dist-packages/mega/mega.py En tant que root dans l'éditeur de texte que vous utilisez. Ajoutez ensuite le code suivant juste sous 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.")

Il semble que la duplicité puisse réellement restaurer les fichiers qu'elle sauvegarde sur Mega ... ce qui pourrait être un peu important si vous en avez besoin.

5
user1422053

J'ai utilisé Mega directement via duplicity avec succès. Je me souviens que je devais récupérer un git checkout du méga python et même alors j'ai dû corriger quelques bugs avec. Mais je ne me souviens pas de cette erreur particulière. Alors peut-être que le méga = python est juste un peu saccadé.

Quant à la case "Emplacement personnalisé" de Deja Dup, c'est pour les URL GNOME comme vous le feriez dans la barre d'emplacement du navigateur de fichiers, pas pour les URL de duplicité.

À l'heure actuelle, Deja Dup ne prend pas en charge Mega en tant que destination. Pardon. :(

0
Michael Terry