Commit Graph

11 Commits

Author SHA1 Message Date
Davide Andreoli b3eef73b0e s/2013/2014/g 2014-04-14 22:21:03 +02:00
Kai Huuhko d65101b24b Code cleanup: Unused/misplaced cimports 2014-04-14 00:51:19 +03:00
Kai Huuhko d6dc3a2045 Revert "Remove Python -> C string hacks"
A quote from Cython documentation:

"The other direction, i.e. automatic encoding to C strings, is only supported
for the ASCII codec (and the “default encoding”, which is runtime specific
and may or may not be ASCII). This is because CPython handles the memory
management in this case by keeping an encoded copy of the string alive
together with the original unicode string. Otherwise, there would be no way
to limit the lifetime of the encoded string in any sensible way, thus
rendering any attempt to extract a C string pointer from it a dangerous
endeavour."

Cython plays it safe and we can't live with ASCII-only; reverting to
our earlier "hacks" for string conversion.

This reverts commit b547ff2aa2.

Conflicts:
	efl/elementary/entry.pyx
	efl/elementary/object.pyx
2014-04-06 23:48:16 +03:00
Kai Huuhko b547ff2aa2 Remove Python -> C string hacks 2014-04-06 01:50:29 +03:00
Davide Andreoli 74244a5ac7 Python-EFL: fix the mess with the lgpl version.
Elm was lgpl3, COPYING was lgpl3, docs say lgpl3. So fix everything to be v3.
Also fix the COPING for Lesser: we must include gpl (in COPYING) AND lgpl (in COPYING.LESSER).
2013-12-07 17:54:58 +01:00
Kai Huuhko 3473e92379 Evas: Improve and correct the event string representations.
__repr__ should be used for object string representation, __str__ is
for converting something to a string value.
2013-11-26 02:32:22 +02:00
Kai Huuhko b5ecf69887 Evas: py3k compatibility fix for events' modifier_is_set method 2013-11-25 17:10:22 +02:00
Kai Huuhko 225f061b05 Optimize exception propagation in several hot/time critical cases.
With "except *" a call is made to PyErr_Occurred on each call of a
function.

Adding a return value where possible and using an appropriate exception
value calls PyErr_Occurred only when that value is returned, ie.
an exception has been raised.

cdef void example_func() except *: <- PyErr_Occurred called on each call
cdef int example_func() except 0: <- PyErr_Occurred called only when
	an exception has been raised (the function thus returns 0)
2013-11-10 08:47:21 +02:00
Davide Andreoli 86df76780a Python-EFL: fix evas events for py3 and remove that hack in emotion test 2013-04-03 12:59:11 +02:00
Davide Andreoli 744f1ee4be todo--
updated copyright in ALL the files



SVN revision: 83873
2013-02-13 19:16:02 +00:00
Davide Andreoli 8b86398860 Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.

Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.

All the docs has been stripped out because we want to use the new sphinx style 
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)

The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
   import evas
except:
   from efl import evas
...like is done in the gtk bindings

Some stuff has been leaved out on purpose, because was old stuff (like the hacked 
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.

Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)


I will contine the works in the next weeks and hope someone will help too.

NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
 python setup.py install
or
 python3 setup.py install


Enjoy
davemds




SVN revision: 83831
2013-02-11 22:32:50 +00:00