Уведомления

Группа в Telegram: @pythonsu

#1 Май 19, 2016 17:35:36

TheGhost
Зарегистрирован: 2015-07-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Duplicity в Python

Здравствуйте!

Мне очень нужно получить список бекапов, список файлов в бекапе. В CLI это делается просто:


# duplicity  list-current-files  file:///home/panaceya/backup/destination 
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Thu May 19 15:47:23 2016
Wed May 18 14:26:13 2016 .
Wed May 18 14:26:20 2016 test.txt


# duplicity collection-status file:///home/panaceya/backup/destination 
Synchronizing remote metadata to local cache...
Last full backup date: Thu May 19 15:47:23 2016
Collection Status
-----------------
Connecting with backend: BackendWrapper
Archive dir: /home/panaceya/.cache/duplicity/c2a95aa351b385618af44dc0dee1110e
Found 1 secondary backup chain.
Secondary chain 1 of 1:
-------------------------
Chain start time: Wed May 18 14:25:07 2016
Chain end time: Wed May 18 14:27:00 2016
Number of contained backup sets: 2
Total number of contained volumes: 2
 Type of backup set:                            Time:      Num volumes:
                Full         Wed May 18 14:25:07 2016                 1
         Incremental         Wed May 18 14:27:00 2016                 1
-------------------------
Found primary backup chain with matching signature chain:
-------------------------
Chain start time: Thu May 19 15:47:23 2016
Chain end time: Thu May 19 15:47:23 2016
Number of contained backup sets: 1
Total number of contained volumes: 1
 Type of backup set:                            Time:      Num volumes:
                Full         Thu May 19 15:47:23 2016                 1
-------------------------
No orphaned or incomplete backup sets found.

Но вот все попытки реальзовать без cli (парсить не охота) - рассыпаются в прах, т.к. API у duplicity как такого нет. Последний раз я пытался переписать list_current из duplicity.
Сам duplicity - скриптовый файл с правами на запуск, который импортирует и вызывает из своей либы функции.

Для желающих помочь, если нет под рукой Linux - либа и бинарка в Dropbox https://www.dropbox.com/sh/akv61cmp8aosaq8/AACMc7jlztwuhOnYS0vsk7Xta?dl=0

Что лучше сделать - переписать либу под себя или перебороть себя да и спарсить ответ на оснвании регулярок?

Отредактировано TheGhost (Май 19, 2016 17:36:19)

Офлайн

#2 Май 20, 2016 09:57:09

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Duplicity в Python

1. Переписывать готовый, стабильно работающий продукт самый неправильный шаг в вашем случае.
2. Проще всего парсить, тем более что это совершенно не сложно. У вас все переменные статически называются ! только числа выхватывай! Можно попробовать выхлоп в JSON загнать
Можно вобще средствами ос смотреть список файлов



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Май 20, 2016 18:21:06

TheGhost
Зарегистрирован: 2015-07-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Duplicity в Python

переписать готовый и стабильно работающий продукт, что бы можно было использовать его как либу.

насчет парсинга - тут не совсем просто (ранее писал парсинг ответа duplicity full /home/panaceya/backup/source file//home/panaceya/backup/destination).

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version