bjorn/tiled — pull request #415 by stt (2013-04-04 20:43:48+00:00)
Title: Adds Python scriptable general purpose import/export plugin

So, I've been sitting on this for about a year due to lack of better log output mechanism than printing to stdout, that better mechanism is now implemented as ConsoleDock.

To the uninitiated, a brief overview:
### What it is
Allows adding new map filetypes as python scripts in ~/.tiled/ directory.

### What it does
Map import and export with tilesets, layers and objects.
There are couple of scripts in the fork, of which cleanest and best suited for generic example is [Mappy support](https://github.com/stt/tiled/blob/python/src/plugins/python/scripts/mappy.py), that could still use addition of export support before being considered for public consumption.
A note about export; as Tiled plugins are loaded only once, some details of maps can be stored in the interpreter state while importing a map and then recalled for reintegration when exporting the map back to it's original format.

### Runs on
At least Windows 7 and Linux (Ubuntu/Arch Linux)

### It requires
* Python 2.x (realistically >=2.6 which is 5y old, but no version check is done),
Tiled of course still runs normally if no usable version of python is found

Personally I favor a system wide installation of python, but it was tested that is not needed if [python27.dll](https://s3-eu-west-1.amazonaws.com/bitsfromstt/python27.dll) (on windows) and [python27.zip](https://s3-eu-west-1.amazonaws.com/bitsfromstt/python27.zip) are copied to the Tiled installation directory (this is combined size of 3.5MB).

Adding support for 3.x was considered and doesn't look like too much work (it should even be able to be supported by the same plugin, taken that the scripts would be loaded from separate directories), but I may not have time to take this on for couple of months.