Anlegen von Benutzern funktioniert nicht

Hallo,
ich wollte gestern mittels CSV/Schulkonsole schüler anlegen.
Ich habe mir die .csv datei aufbereitet und in students.csv bzw. teachers.csv hinzugefügt.
Da ich dann nicht wusste, wie der sophomorix-befehl für den Import heißt (hab auch in der Doku noch keinen hinweis gefunden) dachte ich „ok, dann eben kurz in der Schulkonsole“.
Dort bekomme ich seitdem folgenden Fehler:

Serverfehler

Server error occured. This is likely a bug.

Request

GET /api/lm/users/check

Type

KeyError

Message

‚CHECK_RESULT‘

Traceback

Traceback (most recent call last): File „/usr/local/lib/python3.6/dist-packages/aj/api/endpoint.py“, line 71, in wrapper result = fx(self, context, *args, **kwargs) File „/usr/lib/linuxmuster-webui/plugins/lmn_users/views.py“, line 377, in handle_api_users_check if „UPDATE“ in results[„CHECK_RESULT“] and „KILL“ in results[„CHECK_RESULT“]: KeyError: ‚CHECK_RESULT‘

Serverfehler

Server error occured. This is likely a bug.

Request

GET /api/lm/users/check

Ich habe auch das Backup der csv wiederhergestellt. Leider funktioniert der Import auch dann nciht mehr. Auch ein extra-schüler import (deren csv ich nicht bearbeitet habe) funtkioniert nicht.
Het jemand eine Idee, was ich hier machen kann?
Wie heißt alternativ der Befehl für den shell-import?
Danke vorab,
Timo

Hallo Timo, das sieht mir nach dem selben Fehler aus den ich gestern hatte.
Hat einer der Schüler/Lehrer ein sonderzeichen im namen?

Grüße
Michael

Hallo,

Hallo Timo, das sieht mir nach dem selben Fehler aus den ich gestern hatte.
Hat einer der Schüler/Lehrer ein sonderzeichen im namen?

nur nach sonderzeichen schauen reicht normalerweise nicht.
Die Dateien müssen einheitlich codiert sein.
Sie sollten auf der console ordentlich umcodiert werden, damit das
einheitlich ist.
Deswegen läuft bei mir alles, was in die Nutzungsverwaltung geht, vorher
durch LibreOffice Calc und wird am Ende als .csv UTF8 codiert
gespeichert: das mach ich seit 17 Jahren so: nie Probleme gehabt…

Such mal in ask nach codierung: da steht beschrieben, wie man die csv
Dateien auf dem Server nachträglich umwandelt.

Die Befehle auf der console werden dir nicht viel bringen, bis das
behoben ist.
Sie lauten
sophomorix-check
sophomorix-add
sophomorix-move

(in der Reihenfolge)

LG

Holger

Hallo Michael,
nein - sonderzeichen habe ich nicht im Namen.

Hallo Holger,
root@server:/etc/linuxmuster/sophomorix/default-school# file *
devices.csv: ASCII text, with CRLF line terminators
extrastudents.csv: empty
school.conf: UTF-8 Unicode text
students.csv: UTF-8 Unicode text
teachers.csv: UTF-8 Unicode text

root@server:/etc/linuxmuster/sophomorix/default-school# sophomorix-check 
Command line::
Option json is a modifier option
Hmmh. do not know what to do with option info
Option verbose is a modifier option
* forcing info mode
Option combinations successfully checked
OK: SophomorixSchemaVersion 1 matches required Version 1
#### Reading /usr/share/sophomorix/devel/sophomorix.ini                       ####
#### Distro-check: Ubuntu 18.04 is OK                                         ####
#### Reading /etc/samba/smb.conf                                              ####
#### Reading /usr/lib/linuxmuster-webui/etc/default-ui-permissions.ini        ####
#### Parsing: net conf list                                                   ####
#### Asking domain passwordsettings from samba                                ####
#### Reading /etc/linuxmuster/sophomorix/sophomorix.conf                      ####
#### Reading /etc/linuxmuster/sophomorix/default-school/school.conf           ####
#### 0 ERRORS, 0 WARNINGS -> let's go                                         ####
#### Creating lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
#### /usr/sbin/sophomorix-check started ...                                   ####
#### Cleaning up last check                                                   ####
Encoding extrastudents.csv: UTF8 (ENCODING=auto,*_FORCE=FALSE, *_CHECKED=UTF8)
#### Removing lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
#### ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True'####
Calling console printout
ERROR   -1: ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True' 

Ich habe dein vorgehen versucht, habe mir die Files runtergeladen und mit Libreoffice calc als uft8/CSV abgespeichertr. Leider brachte das keinen Erfolg.

(habe auch diesen Foreneintrag probiert: Ajenti: Weiterhin Codierungsfehler (utf8-Problem) aber in meinem Fall ließen sich die Files mittels bash mit record oder iconv nicht umkonvertieren)

Danke für eure Hilfe
Timo

Hast du das schon probiert:

Hallo,
danke für deine Rückmeldung:

> root@server:/etc/linuxmuster/sophomorix/default-school# ls
> devices.csv  extrastudents.csv.old  school.conf  students.csv  teachers.csv
> root@server:/etc/linuxmuster/sophomorix/default-school# sophomorix-check students.csv 
> Command line::
> Option json is a modifier option
> Option verbose is a modifier option
> Hmmh. do not know what to do with option info
> * forcing info mode
> Option combinations successfully checked
> OK: SophomorixSchemaVersion 1 matches required Version 1
> #### Reading /usr/share/sophomorix/devel/sophomorix.ini                       ####
> #### Distro-check: Ubuntu 18.04 is OK                                         ####
> #### Reading /etc/samba/smb.conf                                              ####
> #### Reading /usr/lib/linuxmuster-webui/etc/default-ui-permissions.ini        ####
> #### Parsing: net conf list                                                   ####
> #### Asking domain passwordsettings from samba                                ####
> #### Reading /etc/linuxmuster/sophomorix/sophomorix.conf                      ####
> #### Reading /etc/linuxmuster/sophomorix/default-school/school.conf           ####
> #### 0 ERRORS, 0 WARNINGS -> let's go                                         ####
> #### Creating lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
> #### /usr/sbin/sophomorix-check started ...                                   ####
> #### Cleaning up last check                                                   ####
> #### Removing lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
> #### ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True'####
> Calling console printout
> ERROR   -1: ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True' 
> root@server:/etc/linuxmuster/sophomorix/default-school# sophomorix-check teachers.csv 
> Command line::
> Option json is a modifier option
> Option verbose is a modifier option
> Hmmh. do not know what to do with option info
> * forcing info mode
> Option combinations successfully checked
> OK: SophomorixSchemaVersion 1 matches required Version 1
> #### Reading /usr/share/sophomorix/devel/sophomorix.ini                       ####
> #### Distro-check: Ubuntu 18.04 is OK                                         ####
> #### Reading /etc/samba/smb.conf                                              ####
> #### Reading /usr/lib/linuxmuster-webui/etc/default-ui-permissions.ini        ####
> #### Parsing: net conf list                                                   ####
> #### Asking domain passwordsettings from samba                                ####
> #### Reading /etc/linuxmuster/sophomorix/sophomorix.conf                      ####
> #### Reading /etc/linuxmuster/sophomorix/default-school/school.conf           ####
> #### 0 ERRORS, 0 WARNINGS -> let's go                                         ####
> #### Creating lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
> #### /usr/sbin/sophomorix-check started ...                                   ####
> #### Cleaning up last check                                                   ####
> #### Removing lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
> #### ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True'####
> Calling console printout
> ERROR   -1: ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True' 
> root@server:/etc/linuxmuster/sophomorix/default-school# sophomorix-check extrastudents.csv.old 
> Command line::
> Option verbose is a modifier option
> Option json is a modifier option
> Hmmh. do not know what to do with option info
> * forcing info mode
> Option combinations successfully checked
> OK: SophomorixSchemaVersion 1 matches required Version 1
> #### Reading /usr/share/sophomorix/devel/sophomorix.ini                       ####
> #### Distro-check: Ubuntu 18.04 is OK                                         ####
> #### Reading /etc/samba/smb.conf                                              ####
> #### Reading /usr/lib/linuxmuster-webui/etc/default-ui-permissions.ini        ####
> #### Parsing: net conf list                                                   ####
> #### Asking domain passwordsettings from samba                                ####
> #### Reading /etc/linuxmuster/sophomorix/sophomorix.conf                      ####
> #### Reading /etc/linuxmuster/sophomorix/default-school/school.conf           ####
> #### 0 ERRORS, 0 WARNINGS -> let's go                                         ####
> #### Creating lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
> #### /usr/sbin/sophomorix-check started ...                                   ####
> #### Cleaning up last check                                                   ####
> #### Removing lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
> #### ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True'####
> Calling console printout
> ERROR   -1: ENCODING=auto failed: Set ENCODING to the desired value and ENCODING_FORCE to 'True' 
> root@server:/etc/linuxmuster/sophomorix/default-school#

Hallo,

Wenn so was in die Webui passiert, kann ich natürlich eine Meldung in der Form „Something went wrong with the encoding“ hinfügen, aber das wird nicht weiterhelfen, das ist nur kosmetisch.

Das Problem hier ist, dass sophomorix nicht die richtige Kodierung erkennen kann, wahrscheinlich kann @jeffbeck am bestens helfen.

Gruß

Arnaud

Hallo Timo,

wenn Du sicher bist, daß die Dateien UTF-8 codiert sind, aber sophomorix das nicht erkennt, dann kannst Du in der /etc/linuxmuster/sophomorix/default-school/school.conf die Kodierung erzwingen.

In den entsprechenden Abschnitten dann

...
ENCODING=UTF-8
ENCODING_FORCE=true
...

setzen.

Danach sollte ein sophomorix-check doch durchlaufen.

Viele Grüße
Klaus

Hallo Klaus,
ja - eigentlich war ich mir sicher. Ich hab aber dann die drei Files nochmal verschoben auf Client - und neu über die Schulkonsole eingespielt (die gleichen Files, ebenfalls utf8 codiert). Ich kann mir es nicht so richtig erklären, aber jetzt funktioniert es aufjedenfall.
Vielleicht war das Kopieren der Datensätze mit vim in die csv und das nachträgliche Codieren auf UTF8 irgendwie ein Problem. Oder halt, dass ich die dann nochmal mit Libreoffice geöffnet und überschrieben habe.
Danke für eure Hilfe!

Hallo ihr,

sophomorix erkennt automatisch das encoding eines schulverwaltungsprogramms in Deutschlad. So viele verschiedene gibt es nicht. Grund dafür ist, dass sophomorix Vorname und Nachname kennt und damit das vorliegende encoding erkennt.

Wenn man nur einen Beispieluser hat und den „Maßkrug“ nennt, wird das nicht erkannt.

Alternativen wie # file RATEN nur, wie

Alle eigenen Verarbeitungen mit Libreoffice, Exce, öffnen und schließen mit vim, emacs, … sind unnötig. Auch wenn es jahrelang gemacht wurde. Es soll NICHT jede Schule einen eigenen Weg suchen müssen. Ich hatte schon Teilnehmer, die in einer virtuellen Maschine mit excel 1997 ihre Dateien noch einmal geöffnet und gespeichert haben…

Alternativen wie # file RATEN nur, weil sie ja nicht wissen können was für ein Zeichen beabsichtigt ist.

Wenn sphomorix mal nicht das encoding erkennt, bitte wie oben erwähnt

sophomorix-check --analyze-encoding /path/to/file

aufrufen, und der Ursache auf den Grund gehen.

Was üblicherweise Probleme verursacht ist:

in der herumeditieren, 2 Dateien zusammensetzen, in der GUI ein paar Zeilen vom einen Editorfenster in das andere kopieren, …

Das kann zu mixed encoding führen in einer Datei. Und das ist nicht mehr handlebar.

Also nochmal kurz:

  1. students.csv: Export aus Schulverwaltungsprogramm, keine Veränderungen
  2. techers.csv/extrastudents.csv
    in der Schulkonsole editieren (oder auf Konsole ein Editor nutzen der das UTF8 nicht zerstört, emacs funktioniert). Am besten ohne copy_paste arbeiten.

Vielleicht kann ja Timo seine fragliche Datei mit sophomorix analisieren?

LG, Rüdiger

LG, Rüdiger

Hallo Rüdiger,

techers.csv/extrastudents.csv
in der Schulkonsole editieren (oder auf Konsole ein Editor nutzen der das UTF8 nicht zerstört, emacs funktioniert). Am besten ohne copy_paste arbeiten.

genau hier erschließt sich glaube ich mein Problem. Ich hab das mit Schulkartei exportiert und dann per VIM in die CSV rein kopiert. File hat dann zwar nach Konvertierung mit LibreOffice UTF-8 angezeigt, aber ich denke du hast vermutlich recht und es war eben „mixed encording“.

Soll ich mal prüfen, ob ich die alte Datei noch habe und das Ergebnis von
sophomorix-check --analyze-encoding /path/to/file
hochladen?

vielleicht ist auch das hier die Lösung:

@Tw33ki:
Ja genau: Neue Datei öffnen im Editor heisst (meistens, nicht immer): Das soll UTF8 werden. Dann etwas markieren und reinkopieren, das ISO8859-1 ist:
Was soll der Editor machen?
Zeichen exakt Beibehalten?
Nach UTF8 konvertieren?
Wenn er beibehält, wie soll er abspeichern?
Immer noch als UTF8. Oder ISO8859?
Oder…

Da gibts einfach zu viele Möglichkeiten, die Schiefgehen können. Nach dem Editor update siehts dann evtl. anders aus.

@Michael: sophomorix-newfile konvertiert UND kopiert die Datei an die richtige Stelle (+logging), WENN das Encoding eindeutig erkannt wird.
Das ist das Tool, das ihr nutzt wenn ihr die ORIGINALDATEI per ssh hochgeleden habt.

Wenn das Endoding der ORIGINALDATEI nicht erkannt wird, bitte um eine Rückmeldung (Analyse mit sophomorix-check --analyze-encoding /path/to/file)

1 „Gefällt mir“