X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ff84dc4ee5f57e24a0777930d5482ee4ff53da0e..ab92ba5e6b439cb9a0aabc8c9330ec7d4ad9b301:/lib/dvb/db.cpp diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index 7ed27d6b..70d512c1 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -31,10 +31,12 @@ eDVBService &eDVBService::operator=(const eDVBService &s) RESULT eDVBService::getName(const eServiceReference &ref, std::string &name) { - if ( ref.name.length() ) + if (!ref.name.empty()) name = ref.name; - else + else if (!m_service_name.empty()) name = m_service_name; + else + name = "(...)"; return 0; } @@ -155,8 +157,6 @@ void eDVBDB::load() sat.fec = fec; sat.orbital_position = orbital_position; sat.inversion = inversion; - // ... -// t.setSatellite(frequency, symbol_rate, polarisation, fec, sat, inversion); feparm->setDVBS(sat); } else if (line[1]=='t') { @@ -221,7 +221,13 @@ void eDVBDB::load() s->m_service_name = line; s->m_service_name_sort = removeDVBChars(line); makeUpper(s->m_service_name_sort); - + while ((!s->m_service_name_sort.empty()) && s->m_service_name_sort[0] == ' ') + s->m_service_name_sort.erase(0, 1); + + /* put unnamed services at the end, not at the beginning. */ + if (s->m_service_name_sort.empty()) + s->m_service_name_sort = "\xFF"; + fgets(line, 256, f); if (strlen(line)) line[strlen(line)-1]=0; @@ -408,7 +414,6 @@ void eDVBDB::loadBouquet(const char *path) char buf[256]; snprintf(buf, 256, "(type == %d) FROM BOUQUET \"%s\" ORDER BY bouquet", tmp.data[0], str.c_str()); tmp.path = buf; - eDebug("read bouquet %s", tmp.toString().c_str()); } list.push_back(tmp); e = &list.back(); @@ -514,13 +519,11 @@ RESULT eDVBDB::getBouquet(const eServiceReference &ref, const eBouquet* &bouquet if ( pos != std::string::npos ) { str.erase(0, pos+14); - eDebug("str now %s", str.c_str()); pos = str.find('"'); if ( pos != std::string::npos ) str.erase(pos); else str.clear(); - eDebug("str now %s", str.c_str()); } if (str.empty()) { @@ -541,10 +544,7 @@ RESULT eDVBDB::getBouquet(const eServiceReference &ref, const eBouquet* &bouquet RESULT eDVBDB::startQuery(ePtr &query, eDVBChannelQuery *q, const eServiceReference &source) { if ( q && q->m_bouquet_name.length() ) - { - eDebug("bouquet"); query = new eDVBDBBouquetQuery(this, source, q); - } else query = new eDVBDBQuery(this, source, q); return 0; @@ -691,7 +691,7 @@ RESULT parseExpression(ePtr &res, std::list::cons /* we had only one sub expression */ if (end_of_exp == end) { - eDebug("only one sub expression"); +// eDebug("only one sub expression"); return 0; } @@ -789,7 +789,7 @@ RESULT eDVBChannelQuery::compile(ePtr &res, std::string query) std::string current_token; std::string bouquet_name; - eDebug("splitting %s....", query.c_str()); +// eDebug("splitting %s....", query.c_str()); unsigned int i = 0; const char *splitchars="()"; int quotemode = 0, lastsplit = 0, lastalnum = 0; @@ -873,7 +873,7 @@ RESULT eDVBChannelQuery::compile(ePtr &res, std::string query) return -1; } - eDebug("sort by %d", sort); +// eDebug("sort by %d", sort); /* now we recursivly parse that. */ int r = parseExpression(res, tokens.begin(), tokens.end()); @@ -884,7 +884,7 @@ RESULT eDVBChannelQuery::compile(ePtr &res, std::string query) res->m_bouquet_name = bouquet_name; } - eDebug("return: %d", r); +// eDebug("return: %d", r); return r; }