Skip to content
Snippets Groups Projects
Commit c17bfe8b authored by Magnus Giesbert's avatar Magnus Giesbert
Browse files

update readme

parent c9deb32d
No related branches found
No related tags found
No related merge requests found
...@@ -4,10 +4,12 @@ Python Skripte um Interaktionen mit einem DokuWiki zu Automatisieren. ...@@ -4,10 +4,12 @@ Python Skripte um Interaktionen mit einem DokuWiki zu Automatisieren.
Nutzt das `xmlrpc` package um eine Verbindung zum wiki herzustellen. Nutzt das `xmlrpc` package um eine Verbindung zum wiki herzustellen.
Weil `xmlrpc.ServerProxy` von sich aus keine cookies speichert und somit keine session sachen, gibt es keine extra Login-Möglichkeit außer basic auth.
## Funktionen ## Funktionen
### Verschieben von Seiten ### Verschieben von Seiten
Um einzelne Seiten zu verschieben oder umzubenennen, kann man `move_page()` verwenden. Um einzelne Seiten zu verschieben oder umzubenennen, kann man `move_page()` verwenden.
Den alten Namen (`original_page`) und den neuen Namen (`new_page`) übergeben; dabei darauf achten, dass der [namespace](https://www.dokuwiki.org/namespaces) mit enthalten ist (zB "kategorie:page" statt nur "page"). Den alten Namen (`original_page`) und den neuen Namen (`new_page`) übergeben; dabei darauf achten, dass der [Namespace](https://www.dokuwiki.org/namespaces) mit enthalten ist (zB "kategorie:page" statt nur "page").
Links auf die alte Seite werden automatisch angepasst (Ein hoch auf Backlinks!). Links auf die alte Seite werden automatisch angepasst (Ein hoch auf Backlinks!).
Standardmäßig wird die alte Seite nur zum Löschen markiert aber nicht gelöscht. Standardmäßig wird die alte Seite nur zum Löschen markiert aber nicht gelöscht.
Wenn man die alte Seite automatisch Löschen will, einfach beim Methodenaufruf `delete=True` setzen, hierbei wird nur der Inhalt der Seite gelöscht der [attic](https://www.dokuwiki.org/attic) bleibt soweit unverändert. Wenn man die alte Seite automatisch Löschen will, einfach beim Methodenaufruf `delete=True` setzen, hierbei wird nur der Inhalt der Seite gelöscht der [attic](https://www.dokuwiki.org/attic) bleibt soweit unverändert.
...@@ -24,13 +26,27 @@ Dies passiert vor allem wenn Leute Seiten per Hand verschieben und nicht die Mu ...@@ -24,13 +26,27 @@ Dies passiert vor allem wenn Leute Seiten per Hand verschieben und nicht die Mu
Mittels `change_links()` werden alle Links, die auf `old_page` zeigen, auf `new_page` gesetzt. Mittels `change_links()` werden alle Links, die auf `old_page` zeigen, auf `new_page` gesetzt.
### Finden alter Seiten ### Finden alter Seiten
Durch `find_old_pages()` werden alle Seiten zurückgegeben, deren letzte Revision älter als eine gewisse Zeit ist (gegeben als `datetime.timedelta` oder `datetime.datetime` objekt). Durch `find_old_pages()` werden alle Seiten zurückgegeben, deren letzte Bearbeitung älter als eine gewisse Zeit ist (gegeben als `datetime.timedelta` oder `datetime.datetime` objekt).
Ein Namespace kann optional mit angegeben werden, um nur gewisse Seiten zu bekommen und nicht manuell die ids filtern zu müssen. Ein Namespace kann optional mit angegeben werden, um nur gewisse Seiten zu bekommen und nicht manuell die ids filtern zu müssen.
### Markieren von Seiten
`mark_page()` fügt an den Anfang einer gegebenen Seite eine Nachricht hinzu.
`mark_old_pages()` markiert alle Seiten deren letzte Bearbeitung älter als eine gewisse Zeit ist (gegeben als `datetime.timedelta` oder `datetime.datetime` objekt). Seiten die bereits mit einem "FIXME" beginnen werden nicht markiert.
Ein Namespace kann optional angegeben werden, um nur gewisse Seiten zu Markieren.
## CLI
Unter verwendung von `argparse` gibt es ein paar rudimentäre cli Optionen.
Mittels `python wikibot.py -h` können die bisher umgesetzen Funtkionen begutachtet werden.
Das Ergbeniss einer Funktion wird am ende per `print`-Befehl ausgegeben
## Geplante Funktionen ## Geplante Funktionen
- [ ] Wiki-Graph mit `networkx` - [ ] Wiki-Graph mit `networkx`
- [ ] Markieren u.a. von veralteten Seiten - [ ] Was mir an Statistikgedöns einfällt
- [ ] Was mir noch an Statistikgedöns einfällt - [x] CLI basics
- [ ] CLI?
- [ ] Funktionen als Standalone und Gebündelt um ggf. unnötige requests zu vermeiden - [ ] Funktionen als Standalone und Gebündelt um ggf. unnötige requests zu vermeiden
- [ ] Vernünftiges Error-handling - [ ] Vernünftiges Error-handling
- [ ] Rückmeldung ob Aktionen erfolgreich waren (zB Seiten verschiebung)
- [ ] Client erweitern um die login methode zu unterstützen?
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment