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