Korrekte Sortierung im EPG

Wünsche, Anträge, Fehlermeldungen
Kalypso
Neugieriger
Neugieriger
Beiträge: 12
Registriert: Donnerstag 27. April 2006, 14:47

Korrekte Sortierung im EPG

Beitrag von Kalypso »

Hallo,

obwohl das letzte JTG-Image (2.3) sehr rund
läuft, gibt es zwei Stellen, die mich regelmäßig
ärgern. Beide betreffen den EPG mit alphabetischer
Sortierung der Sendungen:

1. Die Sortierung erfolgt in Abhängigkeit von
Groß- und Kleinschreibung. Erst kommen alle
Sendung mit großen Anfangsbuchstaben, nach
"Z" dann die Sendungen mit Sendungstitel in
Kleinbuchstaben. Um eine Sendung zu finden,
muss man also erst unter den Großbuchstaben,
dann (eventuell) unter den Kleinbuchstaben
suchen. Beispiele liefert das Programm
von BR-alpha.

2. Man erwartet intuitiv, dass bei alphabetischer
Sortierung das Sendungsdatum als zweites
Sortierkriterium fungiert. Gegenwärtig ist die
Reihenfolge jedoch wahllos, d.h. bei gleichem
Titel erscheint die spätere vor der früheren
Sendung. Um die erste Ausstrahlung aufzunehmen,
muss man also die ganze Reihe von Sendungen
durchsehen und deren Datum vergleichen.

Beides nur Kleinigkeiten, aber in der Praxis
störend. Wäre super, wenn sich ein Entwickler
der Probleme annehmen würde.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Korrekte Sortierung im EPG

Beitrag von PauleFoul »

Ist mir bisher noch nicht aufgefallen, wäre aber sicherlich eine tolle Sache was man das fixen könnte...


Gruß
____Paule
Kalypso
Neugieriger
Neugieriger
Beiträge: 12
Registriert: Donnerstag 27. April 2006, 14:47

Re: Korrekte Sortierung im EPG

Beitrag von Kalypso »

Ist mir bisher noch nicht aufgefallen, wäre aber sicherlich eine tolle Sache was man das fixen könnte...
Das wäre super, zumal auch die Umlaute nicht korrekt
einsortiert werden. Statt hinter "Z" müsste "Ö" hinter
"O" stehen.
doc
Contributor
Beiträge: 1623
Registriert: Donnerstag 10. Januar 2002, 20:03

Re: Korrekte Sortierung im EPG

Beitrag von doc »

Das kommt immer darauf an welche Kollation man als die "richtige" ansieht! Entweder man benutzt ci (case-insensitive) wo ö z.b. wie o betrachtet und nicht zwischen Groß/Kleinschreibung unterschieden wird, also wie im Wörterbuch, oder im Gegenstück cs (case-senstitive) wo die Reihenfolge a->A->c->D->e->E benutzt werden würde. So wird es im Telefonbuch gemacht.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Korrekte Sortierung im EPG

Beitrag von PauleFoul »

doc hat geschrieben:Das kommt immer darauf an welche Kollation man als die "richtige" ansieht! Entweder man benutzt ci (case-insensitive) wo ö z.b. wie o betrachtet und nicht zwischen Groß/Kleinschreibung unterschieden wird, also wie im Wörterbuch, oder im Gegenstück cs (case-senstitive) wo die Reihenfolge a->A->c->D->e->E benutzt werden würde. So wird es im Telefonbuch gemacht.
Hier scheint ja aber weder das Eine noch das Andere der Fall zu sein... :gruebel:


Gruß
____Paule
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Korrekte Sortierung im EPG

Beitrag von Houdini »

Hier die erweiterte Funktion dazu aus eventlist.cpp:

Code: Alles auswählen

bool sortByDescription (const CChannelEvent& a, const CChannelEvent& b)
{
	std::string tmpa = a.description;
	std::string tmpb = b.description;
	std::transform(tmpa.begin(), tmpa.end(), tmpa.begin(), tolower);
	std::transform(tmpb.begin(), tmpb.end(), tmpb.begin(), tolower);

	if(tmpa == tmpb)
		return a.eventID < b.eventID;
	else
		return tmpa < tmpb ;
}
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Korrekte Sortierung im EPG

Beitrag von PauleFoul »

Houdini hat geschrieben:Hier die erweiterte Funktion dazu aus eventlist.cpp:

Code: Alles auswählen

bool sortByDescription (const CChannelEvent& a, const CChannelEvent& b)
{
	std::string tmpa = a.description;
	std::string tmpb = b.description;
	std::transform(tmpa.begin(), tmpa.end(), tmpa.begin(), tolower);
	std::transform(tmpb.begin(), tmpb.end(), tmpb.begin(), tolower);

	if(tmpa == tmpb)
		return a.eventID < b.eventID;
	else
		return tmpa < tmpb ;
}
Soll es mit dieser Erweiterung besser sortiert werden?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Korrekte Sortierung im EPG

Beitrag von Houdini »

jo.
Punkt 1 ist damit korrigiert.
2. Man erwartet intuitiv, dass bei alphabetischer
Sortierung das Sendungsdatum als zweites
Sortierkriterium fungiert. Gegenwärtig ist die
Reihenfolge jedoch wahllos
nicht wahllos sondern nach eventId

wenn Startzeit als 2. Kriterium genutzt werden soll einfach eventID durch startTime ersetzen :-)
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Korrekte Sortierung im EPG

Beitrag von PauleFoul »

Dann ab damit ins CVS... :wink: