21b8b6042f
Rend GestioCOF compatible avec python 3. En particulier, il s'agit de : - Utiliser la version "fonction" de `print` dans `sync_clipper` et `tirage_bda`, avec le `from __future__ import print_function` pour garder la compatibilité avec python 2 - Utiliser de l'unicode par défaut, même en python 2, avec `from __future__ import unicode_literals` et le décorateur de compatibilité `python_2_unicode_compatible` de Django pour les modèles, comme décrit à https://docs.djangoproject.com/en/1.9/topics/python3/#str-and-unicode-methods - Utiliser `six.text_type` à la place de `unicode` Fixes #2.
31 lines
911 B
Python
31 lines
911 B
Python
#!/usr/bin/env python
|
|
|
|
from __future__ import print_function, unicode_literals
|
|
|
|
import os
|
|
import sys
|
|
|
|
if __name__ == "__main__":
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cof.settings")
|
|
|
|
from gestioncof.models import Clipper
|
|
current = {}
|
|
print("[ FETCHING ]")
|
|
for clipper in Clipper.objects.all():
|
|
current[clipper.username] = clipper
|
|
print("[ SYNCING ]")
|
|
for line in sys.stdin:
|
|
bits = line.split(":")
|
|
username = bits[0]
|
|
fullname = bits[4]
|
|
if username in current:
|
|
clipper = current[username]
|
|
if clipper.fullname != fullname:
|
|
clipper.fullname = fullname
|
|
clipper.save()
|
|
print("Updated", username)
|
|
else:
|
|
clipper = Clipper(username=username, fullname=fullname)
|
|
clipper.save()
|
|
print("Created", username)
|
|
print("[ DONE ]")
|