Skip to content

Commit

Permalink
P5V8 (#35)
Browse files Browse the repository at this point in the history
* P5V8
* Filter out manga from slim edition
  • Loading branch information
talisein authored Jan 10, 2024
1 parent 0631809 commit ad1a3da
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 2 deletions.
3 changes: 2 additions & 1 deletion src/args.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,8 @@ parse(int argc, char** argv)
options.cover = path;
log_info("Defaulted cover to ", path);
}
options.name_filter = std::make_optional<std::regex>("(bonus[0-9]|frontmatter[1-2]|UFTSS1/text/1[2-7]|UFTSS1/images/P2V._Tobooks_Manga).(png|jpg|xhtml)"s, std::regex_constants::icase);
/* TODO: filter on chapter type? Doesn't help the images tho */
options.name_filter = std::make_optional<std::regex>("(bonus[0-9]|frontmatter[1-2]|UFTSS1/text/1[2-7]|UFTSS1/images/P2V._Tobooks_Manga|UFTSS1/text/[5-9]|UFTSS1/images/Manga_0[1-5]|UFTSS1/text/10-[1-5]|UFTSS1/images/CD4_Manga_0[1-5]|[pP]oll[1-2]|[mM]anga[1-2]).(png|jpg|xhtml)"s, std::regex_constants::icase);
}

options.suffix = utils::find_if_optarg<std::string>(args_options, "--suffix="sv, std::identity{});
Expand Down
91 changes: 90 additions & 1 deletion src/part5_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -635,16 +635,105 @@ constexpr std::array vol_4 = std::to_array<volume_definition>({
{ volume::P5V7, /* COPYRIGHT */ "Text/copyright.xhtml", "application/xhtml+xml", "Copyright", true },
});

constexpr std::array vol_8 = std::to_array<volume_definition>({
{ volume::P5V8, /* NCX */ "toc.ncx", "application/x-dtbncx+xml", std::nullopt, false },
{ volume::P5V8, /* STYLESHEET */ "Styles/stylesheet.css", "text/css", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/jnovelclubCMYK.png", "image/png", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Bonus1.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Bonus2.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Characters1.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Characters2.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Characters3.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Cover.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/FrontMatter1.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/FrontMatter2.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert1.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert2.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert3.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert4.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert5.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert6.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert7.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert8.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert9.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Insert10.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Manga1.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Manga2.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* IMAGE */ "Images/Map.jpg", "image/jpeg", std::nullopt, false },
{ volume::P5V8, /* COVER */ "Text/cover.xhtml", "application/xhtml+xml", "Cover", true },
{ volume::P5V8, /* FRONTMATTER */ "Text/frontmatter1.xhtml", "application/xhtml+xml", "Color Illustrations", true },
{ volume::P5V8, /* FRONTMATTER */ "Text/frontmatter2.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHARACTERS */ "Text/characters1.xhtml", "application/xhtml+xml", "Characters", true },
{ volume::P5V8, /* CHARACTERS */ "Text/characters2.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHARACTERS */ "Text/characters3.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* TOC */ "Text/toc.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/prologue.xhtml", "application/xhtml+xml", "Prologue", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/prologue_1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter1.xhtml", "application/xhtml+xml", "Uniting", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter2.xhtml", "application/xhtml+xml", "Their Information and Name Stones", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter3.xhtml", "application/xhtml+xml", "Teleporting", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter4.xhtml", "application/xhtml+xml", "To Battle", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert2.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter4_1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter5.xhtml", "application/xhtml+xml", "Ahrensbach’s Temple", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter6.xhtml", "application/xhtml+xml", "Ahrensbach’s Foundation and Replenishment Hall", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter7.xhtml", "application/xhtml+xml", "Rescue", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert3.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter7_1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter8.xhtml", "application/xhtml+xml", "My Geduldh", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter9.xhtml", "application/xhtml+xml", "The Zent and the Grutrissheit", true },

{ volume::P5V8, /* CHAPTER */ "Text/side2.xhtml", "application/xhtml+xml", "Follow Your Heart", true },

{ volume::P5V8, /* CHAPTER */ "Text/chapter10.xhtml", "application/xhtml+xml", "The New Aub", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter11.xhtml", "application/xhtml+xml", "The Aub’s Protection", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert4.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter12.xhtml", "application/xhtml+xml", "Lanzenave’s Ships", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter13.xhtml", "application/xhtml+xml", "Summoning Winter", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert5.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter13_1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter14.xhtml", "application/xhtml+xml", "Choices", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter15.xhtml", "application/xhtml+xml", "Playground", true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter16.xhtml", "application/xhtml+xml", "Rumors and a Departure", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert6.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter16_1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter17.xhtml", "application/xhtml+xml", "Bindewald", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert7.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter17_1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/chapter18.xhtml", "application/xhtml+xml", "Black Weapons and Chalices", true },

{ volume::P5V8, /* CHAPTER */ "Text/side1.xhtml", "application/xhtml+xml", "The Defense of Ehrenfest (First Half)", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert9.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/side1_1.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/insert10.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/side1_2.xhtml", "application/xhtml+xml", std::nullopt, true },

{ volume::P5V8, /* CHAPTER */ "Text/epilogue.xhtml", "application/xhtml+xml", "Epilogue", true },
{ volume::P5V8, /* CHAPTER */ "Text/insert8.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* CHAPTER */ "Text/epilogue_1.xhtml", "application/xhtml+xml", std::nullopt, true },

{ volume::P5V8, /* AFTERWORD */ "Text/afterword.xhtml", "application/xhtml+xml", "Afterword", true },
{ volume::P5V8, /* MAP_EHRENFEST_DUCHY */ "Text/map.xhtml", "application/xhtml+xml", "Map of Ehrenfest Duchy", true },
{ volume::P5V8, /* MANGA */ "Text/manga1.xhtml", "application/xhtml+xml", "A Comfy Life with My Family by You Shiina", true },
{ volume::P5V8, /* MANGA */ "Text/manga2.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* BONUS */ "Text/bonus1.xhtml", "application/xhtml+xml", "Bonus High Resolution Illustrations", true },
{ volume::P5V8, /* BONUS */ "Text/bonus2.xhtml", "application/xhtml+xml", std::nullopt, true },
{ volume::P5V8, /* SIGNUP */ "Text/signup.xhtml", "application/xhtml+xml", "About J-Novel Club", true },
{ volume::P5V8, /* COPYRIGHT */ "Text/copyright.xhtml", "application/xhtml+xml", "Copyright", true },
});

constexpr definition_span_view_t vol_1_def { std::span<const volume_definition, std::dynamic_extent>(vol_1), volume::P5V1 };
constexpr definition_span_view_t vol_2_def { std::span<const volume_definition, std::dynamic_extent>(vol_2), volume::P5V2 };
constexpr definition_span_view_t vol_3_def { std::span<const volume_definition, std::dynamic_extent>(vol_3), volume::P5V3 };
constexpr definition_span_view_t vol_4_def { std::span<const volume_definition, std::dynamic_extent>(vol_4), volume::P5V4 };
constexpr definition_span_view_t vol_5_def { std::span<const volume_definition, std::dynamic_extent>(vol_5), volume::P5V5 };
constexpr definition_span_view_t vol_6_def { std::span<const volume_definition, std::dynamic_extent>(vol_6), volume::P5V6 };
constexpr definition_span_view_t vol_7_def { std::span<const volume_definition, std::dynamic_extent>(vol_7), volume::P5V7 };
constexpr definition_span_view_t vol_8_def { std::span<const volume_definition, std::dynamic_extent>(vol_8), volume::P5V8 };

constexpr std::array part_5_arr { std::to_array<definition_span_view_t>({
vol_1_def, vol_2_def, vol_3_def, vol_4_def, vol_5_def, vol_6_def, vol_7_def,
vol_1_def, vol_2_def, vol_3_def, vol_4_def, vol_5_def, vol_6_def, vol_7_def, vol_8_def,
}) };

constexpr definition_view_t part_5_def { std::span<const definition_span_view_t, std::dynamic_extent>(part_5_arr), omnibus::PART5 };
Expand Down
2 changes: 2 additions & 0 deletions src/volumes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ namespace {
{"ascendance-of-a-bookworm-part-5-volume-5"sv, volume::P5V5},
{"ascendance-of-a-bookworm-part-5-volume-6"sv, volume::P5V6},
{"ascendance-of-a-bookworm-part-5-volume-7"sv, volume::P5V7},
{"ascendance-of-a-bookworm-part-5-volume-8"sv, volume::P5V8},
};

using namespace std::string_view_literals;
Expand Down Expand Up @@ -83,6 +84,7 @@ namespace {
{"9781718346512"sv, volume::P5V5},
{"9781718346536"sv, volume::P5V6},
{"9781718346550"sv, volume::P5V7},
{"9781718346574"sv, volume::P5V8},
{"9781718338005"sv, volume::M1V1},
{"9781718338029"sv, volume::M1V2},
{"9781718338043"sv, volume::M1V3},
Expand Down
1 change: 1 addition & 0 deletions src/volumes.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ enum class volume
P5V5,
P5V6,
P5V7,
P5V8,
FB1,
FB2,
FB3,
Expand Down

0 comments on commit ad1a3da

Please sign in to comment.