Add Python Support for encoders - patch attached.
This also fixes a bug in the existing dynamic coder code which previously
could only load 1 plugin.
Place python encoders in the directory <Frhed Installation>\PyEncoders
Python encoders can do everything c encoders can do with these current
bugs.
* For large selections 100 MB+ the encoder doesn't work because a python
return string
can't be generated without an out of memory error in the python
interpreter - a custom c++
class is needed which wraps the selection buffer, so the data doesn't
need replicated as a
python string.
* If pythonXX.dll can't be found the encoder doesn't load - it is dependent
on a very specific
python version - It is recommend that the python26.dll be included in the
distro in the
<Frhed Installation> directory.
* Built with VC 2008 Express, so the project version for pyscripts isn't
for 2005 like the rest
of the projects
* Currently this plugin uses no unicode aware strings for paths - research
is needed to determine
if python supports unicode in module names or paths and how to use them
through the C-interfaces.
* If a script fails it shows no error output to the user and the data
remains unchanged (currently new pyscripts.err and pyscripts.out files are
created under <frhed install> to help in debugging new scripts).
See the readme.txt for the full details.
There are a few example sample encoders under
EncoderPlugins\pyscripts\pyEncoders\sample.py.
Before before requesting checkin to the trunk, I will see about creating a
C++ wrapper for the buffer sent to python encoder. I'm thinking I may
give it a similar interface in python as a file handle. Python scripts can
read from it and write to it as needed but don't need necessarily need to
create insanely long strings like they do now.
Nobody/Anonymous
None
trunk
Public
|
Date: 2009-10-27 04:04 Will do. I've been busy as well. I'll get to this this weekend. |
|
Date: 2009-10-21 19:04 Can you add the updated patch addressing my comments? Like moving document |
|
Date: 2009-08-13 16:40 Committed the bug fix to load more than one encoder dll to SVN trunk: |
|
Date: 2009-08-10 05:42 > The pyscripts project has all the python dependencies on |
|
Date: 2009-08-09 16:53 >>But can you move the doc to /Docs/Developers/ -folder. |
|
Date: 2009-08-09 10:13 Thanks a lot for great documentation you have written. Helps a lot. I'll |
|
Date: 2009-08-09 06:44 I took a short look at the code and this looks good! |
|
Date: 2009-08-09 06:38 Moving to the patch tracker. |
| Filename | Description | Download |
|---|---|---|
| pyencoder_2009_08_08.patch | working version | Download |
| Field | Old Value | Date | By |
|---|---|---|---|
| artifact_group_id | None | 2009-08-13 16:40 | kimmov |
| data_type | 1100165 | 2009-08-09 06:38 | kimmov |
| File Added | 338471: pyencoder_2009_08_08.patch | 2009-08-09 00:42 | cneb96 |