1 #include "yacreader_server_data_helper.h"
2 
folderToYSFormat(const qulonglong libraryId,const Folder & folder)3 QString YACReaderServerDataHelper::folderToYSFormat(const qulonglong libraryId, const Folder &folder)
4 {
5     return QString("f\x1F\t%1\x1F\t%2\x1F\t%3\x1F\t%4\x1F\t%5\x1E\r\n")
6             .arg(libraryId)
7             .arg(folder.id)
8             .arg(folder.name)
9             .arg(folder.getNumChildren())
10             .arg(folder.getFirstChildHash());
11 }
12 
comicToYSFormat(const qulonglong libraryId,const ComicDB & comic)13 QString YACReaderServerDataHelper::comicToYSFormat(const qulonglong libraryId, const ComicDB &comic)
14 {
15     return QString("c\x1F\t%1\x1F\t%2\x1F\t%3\x1F\t%4\x1F\t%5\x1F\t%6\x1F\t%7\x1F\t%8\x1E\r\n")
16             .arg(libraryId)
17             .arg(comic.id)
18             .arg(comic.getFileName())
19             .arg(comic.getFileSize())
20             .arg(comic.info.hash)
21             .arg(comic.info.currentPage)
22             .arg(comic.info.numPages.toInt())
23             .arg(comic.info.read ? 1 : 0);
24 }
25 
folderToJSON(const qulonglong libraryId,const Folder & folder)26 QJsonObject YACReaderServerDataHelper::folderToJSON(const qulonglong libraryId, const Folder &folder)
27 {
28     QJsonObject json;
29 
30     json["type"] = "folder";
31     json["id"] = QString::number(folder.id);
32     json["library_id"] = QString::number(libraryId);
33     json["folder_name"] = folder.name;
34     json["num_children"] = folder.getNumChildren();
35     json["first_comic_hash"] = folder.getFirstChildHash();
36 
37     return json;
38 }
39 
comicToJSON(const qulonglong libraryId,const ComicDB & comic)40 QJsonObject YACReaderServerDataHelper::comicToJSON(const qulonglong libraryId, const ComicDB &comic)
41 {
42     QJsonObject json;
43 
44     json["type"] = "comic";
45     json["id"] = QString::number(comic.id);
46     json["library_id"] = QString::number(libraryId);
47     json["file_name"] = comic.name;
48     json["file_size"] = QString::number(comic.getFileSize());
49     json["hash"] = comic.info.hash;
50     json["current_page"] = comic.info.currentPage;
51     json["num_pages"] = comic.info.numPages.toInt();
52     json["read"] = comic.info.read;
53     json["cover_size_ratio"] = comic.info.coverSizeRatio.toFloat();
54     json["title"] = comic.info.title.toString();
55     json["number"] = comic.info.number.toInt();
56     json["last_time_opened"] = comic.info.lastTimeOpened.toLongLong();
57     json["manga"] = comic.info.manga.toBool();
58 
59     return json;
60 }
61 
fullComicToJSON(const qulonglong libraryId,const ComicDB & comic)62 QJsonObject YACReaderServerDataHelper::fullComicToJSON(const qulonglong libraryId, const ComicDB &comic)
63 {
64     QJsonObject json = comicToJSON(libraryId, comic);
65 
66     json["volume"] = comic.info.volume.toString();
67     json["total_volume_count"] = comic.info.count.toInt();
68     json["genre"] = comic.info.genere.toString();
69     json["date"] = comic.info.date.toString();
70 
71     json["synopsis"] = comic.info.synopsis.toString();
72 
73     return json;
74 }
75 
readingListToJSON(const qulonglong libraryId,const ReadingList & readingList)76 QJsonObject YACReaderServerDataHelper::readingListToJSON(const qulonglong libraryId, const ReadingList &readingList)
77 {
78     QJsonObject json;
79 
80     json["type"] = "reading_list";
81     json["id"] = QString::number(readingList.getId());
82     json["library_id"] = QString::number(libraryId);
83     json["reading_list_name"] = readingList.getName();
84 
85     //TODO
86     //json["num_children"] = readingList.getNumChildren();
87     //json["first_comic_hash"] = readingList.getFirstChildHash();
88 
89     return json;
90 }
91 
labelToJSON(const qulonglong libraryId,const Label & label)92 QJsonObject YACReaderServerDataHelper::labelToJSON(const qulonglong libraryId, const Label &label)
93 {
94     QJsonObject json;
95 
96     json["type"] = "label";
97     json["id"] = QString::number(label.getId());
98     json["library_id"] = QString::number(libraryId);
99     json["label_name"] = label.getName();
100     json["color_id"] = label.getColorID();
101 
102     //TODO
103     //json["num_children"] = label.getNumChildren();
104 
105     return json;
106 }
107 
YACReaderServerDataHelper()108 YACReaderServerDataHelper::YACReaderServerDataHelper() { }
109