X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=pctb%2Fconvert.c;h=61901a5924854c967d9fc981a63406d6af89f66d;hb=4b550c8a3c77210340f2eaac09fa63c51a06e679;hp=c79477f80394810b5ead5abe7644500379693945;hpb=8fc3ec638c7e516f4610775488f2e7f40689a68f;p=ypp-sc-tools.db-test.git diff --git a/pctb/convert.c b/pctb/convert.c index c79477f..61901a5 100644 --- a/pctb/convert.c +++ b/pctb/convert.c @@ -37,16 +37,18 @@ const char *get_libdir(void) { return "."; } enum mode { - mf_findwindow= 0001, - mf_screenshot= 0010, - mf_readscreenshot= 0020, - mf_analyse= 0100, + mf_findwindow= 00001, + mf_screenshot= 00010, + mf_readscreenshot= 00020, + mf_analyse= 00100, + mfm_special= 07000, - mode_findwindow= 0001, - mode_screenshot= 0011, - mode_analyse= 0120, + mode_findwindow= 00001, + mode_screenshot= 00011, + mode_analyse= 00120, + mode_showcharset= 01000, - mode_all= 0111, + mode_all= 00111, }; enum outmodekind { @@ -184,6 +186,7 @@ int main(int argc, char **argv) { while ((arg=*++argv)) { if (IS("--find-window-only")) o_mode= mode_findwindow; else if (IS("--screenshot-only")) o_mode= mode_screenshot; + else if (IS("--show-charset")) o_mode= mode_showcharset; else if (IS("--analyse-only") || IS("--same")) o_mode= mode_analyse; else if (IS("--everything")) o_mode= mode_all; @@ -231,7 +234,7 @@ int main(int argc, char **argv) { o_outmode_kind= omk_none; o_flags |= ff_singlepage; } else { - o_outmode_kind= omk_str; + o_outmode_kind= omk_upload; } } @@ -272,13 +275,19 @@ int main(int argc, char **argv) { if (o_flags & ff_needisland) if (!ocean) - badusage("need --ocean option when replaying images" + badusage("need --ocean option when not using actual YPP client window" " (consider supplying --pirate too)"); if (ocean) sysassert(! setenv("YPPSC_OCEAN",ocean,1) ); if (pirate && (o_flags & ff_dict_pirate)) sysassert(! setenv("YPPSC_PIRATE",pirate,1) ); + switch (o_mode & mfm_special) { + case 0: break; + case mode_showcharset: ocr_showcharsets(); exit(0); + default: abort(); + } + if (o_mode & mf_screenshot) { open_screenshot_file("w"); if (o_flags & ff_singlepage) take_one_screenshot(); @@ -292,9 +301,10 @@ int main(int argc, char **argv) { } if (o_mode & mf_analyse) { if (o_flags & ff_needisland) { - find_islandname(); + find_islandname(page0_rgbimage); if (o_flags & ff_printisland) printf("%s, %s\n", archipelago, island); + sysassert(! setenv("YPPSC_ISLAND",island,1) ); } switch (o_outmode_kind) { case omk_upload: case omk_str: run_analysis(); break;