X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2d30f6d03db0b0da0b3677d04180c1ba56709a6c..1ce6ffb8f719090b74cab8951a008a3cb7cb0d6d:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 99474a86..750fd34c 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -395,6 +396,7 @@ RESULT eDVBServiceList::getContent(std::list &list, bool sort // useable format options are // R = Service Reference (as swig object .. this is very slow) // S = Service Reference (as python string object .. same as ref.toString()) +// C = Service Reference (as python string object .. same as ref.toCompareString()) // N = Service Name (as python string object) // when exactly one return value per service is selected in the format string, // then each value is directly a list entry @@ -434,6 +436,9 @@ PyObject *eDVBServiceList::getContent(const char* format, bool sorted) case 'R': // service reference (swig)object tmp = New_eServiceReference(ref); break; + case 'C': // service reference compare string + tmp = PyString_FromString(ref.toCompareString().c_str()); + break; case 'S': // service reference string tmp = PyString_FromString(ref.toString().c_str()); break; @@ -826,7 +831,12 @@ RESULT eDVBServicePlay::stop() m_service_handler.free(); if (m_is_pvr && m_cuesheet_changed) - saveCuesheet(); + { + struct stat s; + /* save cuesheet only when main file is accessible. */ + if (!::stat(m_reference.path.c_str(), &s)) + saveCuesheet(); + } return 0; }