+++ /dev/null
-Overview
---------
-
-This tool can:
- - screenscrape the commodities trading screen
- - produce the results as a tab separated values file
- - upload the results to PCTB
-
-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.
-
-
-Command-line options
---------------------
-
-Setting the operation mode:
- --find-window-only Just check that we can find the YPP client window.
- --screenshot-only Page through and take screenshots, do not OCR
- --analyse-only | --same Process previously taken screenshots
- --everything (default) Take screenshots and process them
-
-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.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.
- --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
- the real live ones (doesn't affect explicit settings).
-
-Controlling what happens to the results - only one at a time:
- --upload (default) Upload to the PCTB server
- --tsv Print data as clean tab-separated-values file
- --raw-tsv Dump the raw (not deduped, unsorted) OCR'd data
- --best-prices Print best buy and sell price for each commodity
- --arbitrage Print arbitrage opportunities
-
-Privacy options, which control conversations with the dictionary server:
- --dict-local-only * Do not talk to the server even to fetch new dictionary.
- --dict-read-only * Only fetch new dictionary, do not submit new entries.
- --dict-anon Don't quote pirate name if submitting entries.
- --dict-submit Submit entries quoting my pirate name. (default)
-Please do not use options marked * with --upload. See README.privacy.
-
-Options to override which servers we talk to:
- --pctb-server HOST|URL Talk to the PCTB server at HOST or URL.
- --dict-submit-url URL Submit dictionary entries with HTTP POST under URL.
- --dict-update-from SRC Fetch updated master dictionary with rsync from SRC.
-Or set the environment variables YPPSC_PCTB{_PCTB, _DICT_UPDATE, _DICT_SUBMIT}
-
-
-Installation requirements
--------------------------
-
-Your X server must be 24bpp (or better).
-
-This program has quite a few dependencies:
- Package (Debian etch)
-
- - For building, C compiler and build environment build-essential
- - pnm library, including dev files for building libnetpbm10-dev
- - pnm command line utilities for image manipulation netpbm
- - X11 libraries, including dev files for building libx11-dev
- - XTEST library, including dev files for building libxtst-dev
- - Perl-compatible regexp library, including dev files libpcre3-dev
- - Tk interpreter /usr/bin/wish tk8.4
- - Perl module XML::Parser libxml-parser-perl
- - Perl module JSON::Parser libjson-perl
- - XTEST extension in the X server (part of X package)
- - 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. 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
-------------------
-
-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.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.
-
-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.ppm, which will consist only of the single screen, plus the
-error messasge. I'll then be able to understand what's wrong,
-hopefully.
-
-
-Privacy
--------
-
-The main purpose of this program is to connect to the PCTB server and
-upload data. It will do that if you run it with --upload.
-
-This program will also, by default, talk to the dictionary server I
-have set up: to download updated image dictionaries, and to upload new
-dictionary entries which you create with the PCTB client dictionary
-GUI. This feature is mentioned in and controllable in the GUI itself,
-so it won't happen without you knowing about it.
-
-The uploads will by default mention your ocean and pirate name; if you
-don't want that, pass the --dict-anon option, or untick the box in the
-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 <ijackson@chiark.greenend.org.uk>
-
-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 <http://www.gnu.org/licenses/>.
-
-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
- Aristarchus on the Midnight ocean