|
||
---|---|---|
__pycache__ | ||
.gitignore | ||
backup.py | ||
clone.py | ||
lib.py | ||
README.md | ||
sample.config.py | ||
sync.py |
Nextcloud Deck importieren/exportieren
Voraussetzung
Python muss installiert sein. Du kannst diese Anleitung nutzen.
Optional: Git installieren
Installiere Git: Das ermöglicht dir, die Skripte aktuell zu halten und dich an der Entwicklung zu beteiligen.
Installation der Skripte
- Download der Skripte oder mit Git
git clone https://github.com/johappel/nextcloud-import-export.git
- Gehe in das Verzeichnis nextcloud-import-export (cd nextcloud-import-export)
- Führe auf der Kommandozeile aus:
pip install requests
- Kopiere die Datei "sample.config.py" nach "config.py" und trage dort die Daten zu deinen Nextcloud-Instanzen ein.
- Mit diesem Befehl auf der Kommandozeile holst du die neueste Version:
git pull
Anwendungsfälle
Um ein bestimmtes Deck auf eine andere Nextcloud-Instanz zu kopieren, gibst du auf der Kommandozeile einen der folgenden Befehle ein:
- Um ein Deck zu kopieren:
python clone.py --board "Name des Decks"
- Um ein bestehendes Deck auf der Zielinstanz zu löschen und zu ersetzen:
python sync.py --board "Name des Decks" --replace
- Um ein bestehendes Deck auf der Zielinstanz mit den Daten, Karten und Stacks der Originalinstanz synchron zu halten:
python sync.py --board "Name des Decks"
- Um ein Backup aller Decks mit Datum des Backups im Titel auf der Zielinstanz zu sichern:
python backup.py
Dank der großartigen Arbeit von @svbergerem: https://gist.github.com/svbergerem/5914d7f87764901aefddba125af99938
Funktionen des Skripts
- Daten von der Quellinstanz abrufen:
Gib bei den folgenden Funktionen als Parameter 'from' oder 'to' ein, je nachdem, ob du die Daten von der Quellinstanz oder der Zielinstanz abfragst:
getBoards(from_or_to)
: Ruft die Liste aller Boards ab.getBoardDetails(boardId, from_or_to)
: Ruft Details eines spezifischen Boards ab.getStacks(boardId, from_or_to)
: Ruft die Stacks eines Boards ab.getStacksArchived(boardId, from_or_to)
: Ruft die archivierten Stacks eines Boards ab.
- Daten zur Zielinstanz übertragen:
createBoard(title, color)
: Erstellt ein Board.createLabel(title, color, boardId)
: Erstellt ein Label in einem Board.createStack(title, order, boardId)
: Erstellt einen Stack in einem Board.createCard(title, ctype, order, description, duedate, boardId, stackId)
: Erstellt eine Karte in einem Stack.assignLabel(labelId, cardId, boardId, stackId)
: Weist einer Karte ein Label zu.archiveCard(card, boardId, stackId)
: Archiviert eine Karte.copyCard(card, boardIdTo, stackIdTo, labelsMap)
: Kopiert eine Karte, einschließlich ihrer Labels und des archivierten Status.deleteBoard(boardIdTo)
: Löscht ein Board.deleteStacks(boardIdTo)
: Löscht alle Listen eines Boards.deleteLabels(boardIdTo)
: Löscht alle Karten eines Boards.
@todo:
- Synchronisation verbessern (nur dezidierte Karten ersetzen)
- Grafisches User Interface