X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=pctb%2FREADME;h=8379208a4e7319ef1e0c7481c8c4751405040439;hp=2a085b2011c9d0938e5ee37cb19fd9ed6420625c;hb=ca2598d063219f019ba8e04a4762552f556795ca;hpb=c7280e7f26a6fd3685fe96d94c1d76ec77812e57 diff --git a/pctb/README b/pctb/README index 2a085b2..8379208 100644 --- a/pctb/README +++ b/pctb/README @@ -6,16 +6,23 @@ This tool can: - produce the results as a tab separated values file - upload the results to PCTB -To run it, change to this directory, type `make', and then: - ./ypp-commodities --tsv >commods.tsv -or - ./ypp-commodities --upload +To build, install the dependencies, cd to this directory and type `make'. + +To screenscrape and upload to the PCTB server, select `trade +commodities' from the hold of a vessel or building, and run: + ./ypp-commodities +Currently we use pctb.ilk.org, the testing instance of the PCTB +database, pending approval from the operators of the main server. + +Or, for example, for a tab-separated values dump: + ./ypp-commodities --tsv >commods.tsv While it is capturing the screenshots, do not move the mouse or use the keyboard. Keyboard focus must stay in the YPP client window. +If you use Gnome or KDE you must raise the YPP client window so that +it is completely unobscured - the ypp-commodities program tries to do +this but metacity and kwin do not honour the request. -You will probably need to turn off `Use antialiased font' in the YPP -client. This is in the Ye panel, Options, tab `General'. Command-line options -------------------- @@ -29,10 +36,10 @@ Setting the operation mode: Options to vary the processing: --single-page One screenful, no paging - results will be incomplete --quiet Suppress progress messages - --screenshot-file F Store or read screenshots in F rather than #pages#.pnm + --screenshot-file F Store or read screenshots in F rather than _pages.ppm --window-id ID Specified X window is the YPP client - do not search --edit-charset Enable character set editing. See README.dictionary. - --no-edit-charset Do not edit charset even if #local-char*#.txt exists. + --no-edit-charset Do not edit charset even if _local-char*.txt exists. --find-island Find and print the ocean and island. Suppresses OCR and output unless used with result processing option. --test-servers Set default servers to be the test servers, not @@ -59,99 +66,11 @@ Options to override which servers we talk to: Or set the environment variables YPPSC_PCTB{_PCTB, _DICT_UPDATE, _DICT_SUBMIT} -Files we use and update ------------------------ - -The program reads and writes the following files: - - * #pages#.pnm - - Contains one or more images (as raw ppms, end-to-end) which are the - screenshots taken in the last run. This is (over)written whenever - we take screenshots from the YPP client. You can reprocess an - existing set of screenshots with the --same (aka --analyse-only) - option; in that case we just read the screenshots file. - - You can specify a different file with --screenshot-file. - - If you want to display the contents of this file, `display' can do - it. Don't try `display vid:#pages#.pnm' as this will consume - truly stupendous quantities of RAM - it wedged my laptop. - - * #master-newcommods#.txt #local-newcommods#.txt - - Dictionary of newly introduced commodities. When a new commodity - appears in Puzzle Pirates, the PCTB server operators need to add it - to their database for us to be able to upload data about it. - - It can sometimes take a few days to do this. In the meantime, it - is possible to upload partial data - data just omitting that - commodity. This is controlled by these files: they list - commodities which should be automatically ignored if the PCTB - server doesn't know about them. The master file is downloaded and - updated automatically from my server. You may create the local - file yourself. The format is simple: one commodity per line. - - Unrecognised commodities can also be due to OCR failure so - double-check what you're doing before overriding the uploader by - telling it to ignore an unrecognised commodity. - - * #master-reject#.txt #local-reject#.txt - - Dictionary of regexps which, when the OCR appears to match, we - reject instead. At the moment this is used to stop us thinking - that `Butterfly weed' is `Butterflyweed'. This happens if the - character set dictionary is missing the lowercase `y ' glyph. - See README.charset. - - * #master-char*#.txt #local-char*#.txt - #master-pixmap#.txt #local-pixmap#.txt - - Character set and image dictionaries. For the semantics of the - char* files README.charset. There is not currently any accurate - documentation of this dictionary format. - - #master-*#.txt contain the centrally defined and approved data. - They are downloaded automatically from the SC PCTB server and - updated each run. You can safely delete this file, if everything - is online, if you want to fetch a fresh copy. - - #local-*#.txt are a local copy of your submissions, so that they - will be used by your client pending approval by me. You can delete - this file if you think you may have made a mistake. - - See README.privacy for details of the communications with the SC - server about the contents of these dictionaries. - - * #commodmap#.tsv - - Map from commodity names to the numbers required by the PCTB - server. This is fetched and updated automatically as necessary. - It can safely be deleted as it will then be refetched. - - * #upload-1#.html #upload-2#.html - - We screenscrape the pages from the PCTB upload server. The actual - HTML returned from the upload server is left in these dropping - files for debugging etc. - - * .tmp - - When any of these tools overwrite one of the persistent dictionary - files, they temporarily write to .tmp. - -These files are all in the current working directory. There is not -yet any feature to have them be somewhere else. The helper programs - dictionary-manager - commod-results-processor -must (currently) also be in the current directory. - -Future versions may have more helpers and more data files. - - Installation requirements ------------------------- +Your X server must be 24bpp (or better). + This program has quite a few dependencies: Package (Debian etch) @@ -168,7 +87,21 @@ This program has quite a few dependencies: - Perl interpreter and basic modules perl (usu.installed) On other Linux distros the packages may have different names, but -these should be roughly right for Debian and its derivatives. +these should be roughly right for Debian and its derivatives. You can +install them with this rune: + sudo apt-get install build-essential libnetpbm10-dev netpbm libx11-dev libxtst-dev libpcre3-dev tk8.4 libxml-parser-perl libjson-perl + + +The supplied helper programs + dictionary-manager + commod-results-processor + database-info-fetch +must (currently) also be in the current working directory when you run +the main ypp-commodities program. + +The data files (see README.files) are also left in the current working +directory. There is notyet any feature to have the data files and +helpers be somewhere else. Reporting problems @@ -177,7 +110,7 @@ Reporting problems If you need to report a bug, for example an inability to recognise, please be sure to remember the exact error message and circumstances. Also, for recognition problems there will probably be a very useful -screenshot file called `#pages#.pnm'. This is likely to be very large +screenshot file called `_pages.ppm'. This is likely to be very large so don't just email it to me, but if you can put it up on a webpage for me to download that will help. At least keep a copy of it. @@ -185,7 +118,7 @@ If the problem is a failure to cope with some particular YPP client display and is reproducible, try running: ./ypp-commodities --raw-tsv --single-page If this reproduces the problem, please email me the screenshot file -#pages#.pnm, which will consist only of the single screen, plus the +_pages.ppm, which will consist only of the single screen, plus the error messasge. I'll then be able to understand what's wrong, hopefully. @@ -209,6 +142,47 @@ GUI. See README.privacy for full details. +Authorship and copyright +------------------------ + +The PCTB server itself is a project of Joel Lord and various others. + + +However, this screenscraper and upload client was written entirely +from scratch by me, Ian Jackson. It is part of ypp-sc-tools, a set of +third-party tools for assisting players of Yohoho Puzzle Pirates. + +ypp-sc-tools is +Copyright (C) 2009 Ian Jackson + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Yohoho and Puzzle Pirates are probably trademarks of Three Rings and +are used without permission. This program is not endorsed or +sponsored by Three Rings. + + +The character and UI images copied from the YPP client, and submitted +to stored and shared by the YPP SC PCTB dictionary server, are those +provided by Three Rings as part of the YPP client and by your Java +installation. I regard the current use of these images in this way as +Fair Dealing (in the UK) or Fair Use (in the USA). + +These images do not form part of the ypp-sc-tools distribution, +although the ypp-sc-tools pctb client does download them automatically +from my dictionary server when run in the most ordinary way. + - Ian Jackson ijackson@chiark.greenend.org.uk