root/src/nyaarss.h

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef NYAARSS_H
#define NYAARSS_H

#include "torrentrss.h"
#include "nwutils.h"

namespace NyaaRss {

class Entry : public TorrentRss::Entry {
public:
    void parse(nw::Describer* de);

    enum Type {
        notSet,
        invalid,
        other,
        rawAnime,        //"Raw Anime"
        nonEnglishAnime, //"Non-English-translated Anime"
        englishAnime    //"English-translated Anime"

    };

    static const QString rawAnimeStr;
    static const QString nonEnglishAnimeStr;
    static const QString englishAnimeStr;

    bool isCandidateForAutoDownload(QString query, int episode, QString subgroup, const RssConfig& rssConfig);
protected:
    Type type;
};

class FeedResult : public TorrentRss::FeedResult {
public:
    FeedResult(const RssConfig &rssConfig);
private:
    void parse(CurlResult &result);
};

class Feed : public TorrentRss::Feed {
public:
    Feed(QString url, const RssConfig& rssConfig, TvShow* tvShow = NULL);
    TorrentRss::FeedResult* createFeedResult(const RssConfig& rssConfig);
};

class Client : public TorrentRss::Client {
public:
    Client(TorrentClient &torrentClient, Library &library, const RssConfig& rssConfig, QObject *parent = NULL);

    virtual void addFeed(TvShow* show);
};

    QDateTime parseDate(QString dateString);

}

#endif // NYAARSS_H