root/src/maldropurl.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "maldropurl.h"
#include "malclient.h"

MalDropUrl::MalDropUrl(QObject *parent) :
    OnlineDropUrl(parent)
{
}

bool MalDropUrl::handleUrl(TvShow* show, const QUrl url) {
    if (url.host() != "myanimelist.net") {
        return false;
    }

    QRegExp remoteIdRegex("^/anime/([0-9]+)(/|$)");
    int index = url.path().indexOf(remoteIdRegex);
    if (index == -1 || remoteIdRegex.captureCount() < 1) {
        return false;
    }

    bool parseOk = false;
    int remoteId = remoteIdRegex.cap(1).toInt(&parseOk);
    if (!parseOk) {
        return false;
    }

    show->setRemoteId(Mal::Client::IDENTIFIER_KEY, remoteId);
    return true;
}