From 01ce9557847e1d8123ef7a0ecf776f52be5a949e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 25 Dec 2016 12:27:42 +0100 Subject: [PATCH] Fixes - Fixes bugs - Removes useless scripts --- gestioncof/autocomplete.py | 7 ++++--- kfet/autocomplete.py | 12 ++++++++++-- sync_clipper.py | 34 ---------------------------------- sync_clipper.sh | 2 -- 4 files changed, 14 insertions(+), 41 deletions(-) delete mode 100644 sync_clipper.py delete mode 100644 sync_clipper.sh diff --git a/gestioncof/autocomplete.py b/gestioncof/autocomplete.py index 738d484f..e8071e08 100644 --- a/gestioncof/autocomplete.py +++ b/gestioncof/autocomplete.py @@ -54,13 +54,14 @@ def autocomplete(request): ['(cn=*{:s}*)'.format(bit) for bit in bits] )) with Connection(settings.LDAP_SERVER_URL) as conn: - queries['clippers'] = conn.search( - 'dc=spi,dc=ens,dc=fr', query, + conn.search( + 'dc=spi,dc=ens,dc=fr', ldap_query, attributes=['uid', 'cn'] ) + queries['clippers'] = conn.entries # Clearing redundancies queries['clippers'] = [ - {'clipper': clipper.uid, 'fullname': clipper.cn} + Clipper(clipper.uid, clipper.cn) for clipper in queries['clippers'] if clipper.uid not in usernames ] diff --git a/kfet/autocomplete.py b/kfet/autocomplete.py index b8b2e841..31f36943 100644 --- a/kfet/autocomplete.py +++ b/kfet/autocomplete.py @@ -11,6 +11,13 @@ from gestioncof.models import User from kfet.decorators import teamkfet_required from kfet.models import Account + +class Clipper(object): + def __init__(self, clipper, fullname): + self.clipper = clipper + self.fullname = fullname + + @teamkfet_required def account_create(request): if "q" not in request.GET: @@ -72,13 +79,14 @@ def account_create(request): ['(cn=*{:s}*)'.format(bit) for bit in bits] )) with Connection(settings.LDAP_SERVER_URL) as conn: - queries['clippers'] = conn.search( + conn.search( 'dc=spi,dc=ens,dc=fr', ldap_query, attributes=['uid', 'cn'] ) + queries['clippers'] = conn.entries # Clearing redundancies queries['clippers'] = [ - {'clipper': clipper.uid, 'fullname': clipper.cn} + Clipper(clipper.uid, clipper.cn) for clipper in queries['clippers'] if clipper.uid not in usernames ] diff --git a/sync_clipper.py b/sync_clipper.py deleted file mode 100644 index d9620b2d..00000000 --- a/sync_clipper.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from __future__ import division -from __future__ import print_function -from __future__ import 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 ]") diff --git a/sync_clipper.sh b/sync_clipper.sh deleted file mode 100644 index dc996d30..00000000 --- a/sync_clipper.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -ssh cof@sas.eleves.ens.fr ypcat passwd | python sync_clipper.py