artragis/zds-site — pull request #6 by pierre-24 (2014-12-25 20:50:12+00:00)
Title: Petit refactoring

Donc j'avais envie de donner un petit coup de patte là dedans.

Ce que j'ai fait :

- Docstring
- PEP8
- Des todos pour en discuter.

N'hésite pas à dire ce que tu penses de tout ça.

Ceci dit, j'ai relu le texte exact de la ZEP-12, et il dit clairement qu'il faut arrêter de se reposer sur la base de donnée un maximum, au delà des évidences tels que auteurs/notes/sha/... Du coup, y'a peut-être un truc qu'il serait intelligent de faire : un objet `PublishableContent` qui serait représentant de ce qu'il y a en base de donnée, comme actuelement, avec toutes les *metadata*. De l'autre coté, un objet `VersionnedContent`, qui serait généré à partir d'une version donnée. Autrement dit, y'aura à un moment dans le code un

```
content = PublishableContent.object.get(pk=pk)
try:
versionned = VersionnedContent(content, version)
except VersionDoesNotExists:
raise Http404
[...]
versionned.update_repo()
```

Mes arguments pour ça sont que de toute façon, on ne travaille jamais que sur une seule version à la fois, et qu'au moins, on éviterai tout les problèmes de "ah, ben le titre a changé, donc le slug a changé, donc ...".

À voir :)