die students.csv sieht doch so aus:
klasse;Nachname;Rufname;GebDatum;ID
da brauchst du nur noch den usernamen dahinter, oder?
Andererseits: warum brauchst du das GebDatum? Das hat in WebUntis nix verloren. Als identifikationsmerkmal könntest du username oder ID nehmen.
Egal, hier was du machen kannst mit Bordmitteln:
alleklassen=$(sophomorix-class -i | grep '^|' | awk '{print $2}' | sed '/^-/d;/AdminClass/d;$d' | grep -vE "Class|attic|lehrer" | paste -s -d ",")
dann schau mal, welche klassen da drin sind in echo $alleklassen
. Manche magst du sicher noch in die Ausschlussliste hinter „Class|attic|lehrer“ packen, mit |
getrennt.
Dann:
sophomorix-print --class $alleklassen --caller kuechel --template /etc/linuxmuster/sophomorix/default-school/latex-templates/datalist-DE-36-template.tex
oder /usr/share/sophomorix/lang/latex/templates/datalist-DE-36-template.tex
wenn das bei dir in /etc
nicht liegt.
Und dann hast du folgende DAtei hier liegen:
less /var/lib/sophomorix/print-data/multiclass-kuechel_WebUntis-unix.csv
Was da jetzt wiederum fehlt ist das Geburtsdatum. Entweder du killst das aus deinen Anforderungen, weil warum überhaupt?
Oder du musst sophomorix-print „hacken“, damit es das Geburtsdatum noch rauslässt. Das hab ich auch schon gemacht, hier in einer Kopie sophomorix-print:
sub create_csv_files {
@{ $ref_printlist } = sort @{ $ref_printlist };
foreach my $item ( @{ $ref_printlist } ){
my @data=split(/;/,$item);
my $csv=$data[1]." ".$data[0].";".$data[5].";".$data[2].";".$data[3].";".$data[10].";";
print CSV $csv."\l\r";
print UNIXCSV $csv."\n";
my $webuntis=$data[5].";".$data[0].";".$data[1].";".$data[2].";".$data[6].", ".$data[7].";".$data[10].";";
print WEBUNIXCSV $webuntis."\n";
print WEBCSV $webuntis."\l\r";
my $examplix=$data[0].", ".$data[1].":---:---:".$data[5]."==".
$data[0].", ".$data[1].":---:---:".$data[5];
print EXAMPLIX $examplix."\n";
}
}
würde ich mal bei my $webuntis
probieren, welche daten in $ref_printlist
tatsächlich stehen, vermutlich ist das GebDatum auch dabei. Weiter oben finden sich Anhaltspunkte, bevor du raten musst:
...
# always APPEND to datablock
my @list = @{ $ref_printlist };
@list = sort @list;
my $dataline_max=&dataline_max_from_template_path(); # max pp entries
my $dataline_count=0; # counts pp entries
my $last_count=$#list+1; # number of elements starting with 1,2,...
foreach my $item (@list){
my @data=split(/;/,$item);
my $lastname= &string_to_latex($data[0]);
my $firstname=&string_to_latex($data[1]);
my $login= &string_to_latex($data[2]);
my $password= &string_to_latex($data[3]);
my $school= &string_to_latex($data[4]);
my $role= &string_to_latex($data[8]);
my $workgroup=&string_to_latex($sophomorix_config{'samba'}{'smb.conf'}{'global'}{'workgroup'});
my $class=&string_to_latex($data[5]);
...