コード例 #1
0
        public void ImportImageThumbnail(string path)
        {
            if (!DoesLibraryContain(currentBookTitle))
            {
                Debug.Log("Cannot add thumbnail to non-existent book " + currentBookTitle + ". Import book first.");
                return;
            }
            BookInfo bookInfo = BookInfoMapper.DeserializeInfo(currentBookTitle);

            bookInfo.thumbnailPath = path;

            string[] pathParts = path.Split('.');
            if (pathParts.Length < 2)
            {
                throw new InvalidBookFormatException("Invalid image format. Must include extension");
            }
            string ext = pathParts[pathParts.Length - 1];

            CopyOriginal(path, Config.Instance.BookLibraryPath + "/" + Config.Instance.ApplicationName + "/" +
                         currentBookTitle + "/" + currentBookTitle + "-thumb." + ext);

            string outputPath = Config.Instance.BookLibraryPath + "/" + Config.Instance.ApplicationName + "/" +
                                bookInfo.title + "/info.yaml";

            BookInfoMapper.SerializeInfo(outputPath, bookInfo);
        }
コード例 #2
0
        public void InitBook(string title)
        {
            if (books == null)
            {
                LoadLibrary();
            }

            if (!books.Contains(title))
            {
                // throw error
            }

            BookFormat bookType = BookInfoMapper.DeserializeInfo(title).format;

            switch (bookType)
            {
            case BookFormat.TXT:
                InitTxtBasedBook(title);
                break;

            default:
                Debug.Log("Invalid book format");
                return;
            }
        }