Кресты / Говнокод #3898 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
bool Pl::load(QString &path){
    if(path.isEmpty()){
        return false;
    }
    QFile file(path);
    if(!file.exists()){
        return false;
    }
    file.open(QIODevice::ReadOnly | QIODevice::Text);
    file.setTextModeEnabled(true);
    if(!file.isOpen()){
        return false;
    }
    QString str;
    QString title;
    while(file.bytesAvailable() > 0){
    str = QString::fromUtf8(file.readLine(1024).trimmed());
        if(str.isEmpty()){
            continue;
        }
        else{
            if(str.at(0) == '#' && title.isEmpty()){
                if(str.left(10) == "#EXTINF:0,"){
                    title = str.mid(10);
                }
                else{
                    title = "";
                }
            }
        }
        if(this->addTrack(str, title)){
            title = "";
        }
        else{
            QUrl _u(str);
            if(this->addURL(_u, title)){
                title = "";
            }
        }
    }
    file.close();
    return true;
}

Некий кусок кода для парсинга m3u от товарища POPSul

Запостил: cutwater cutwater, (Updated )

Комментарии (4) RSS

  • Нда формат m3u достаточно простой, хотелось бы увидеть QRegExp, который смыл бы немного душистой субстанции) А так ничего особо криминального нету, разве что кривые ифы.
    Ответить
  • Кривые ifы, сравнение строк путем .get(10) == pattern доставляет
    да заприметил еще неконстантную ссылку path
    Ответить
  • > file.open(QIODevice::ReadOnly | QIODevice::Text);
    > file.setTextModeEnabled(true);

    QT не знаю, но есть подозрение, что вторая строка избыточна, тк файл уже открыт в текстовом режиме в первой.
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8