Donate Share

Pyjamas Web Widget Set

File Release Notes and Changelog

Release Name: 0.5p1

Notes: This is a minor bug-fix release of Pyjamas 0.5p1 Pyjamas is a dynamic Web Widget Framework, written in Python, that includes a stand-alone python-to-javascript compiler. The project originated from a port of GWT.


Changes: Changes made to Pyjamas since 0.5 --------------------------------- * Fixed Autocompletion which just needed non-modal on PopupPanel (thanks to lovelysystems for implementing non-modal dialogs otherwise it wouldn't be possible to fix Autocompletion) * Added implementation of metaclass "type" function * Made KeyboardListener a singleton module rather than have a class named the same as the module. Likewise with MouseListener, Event and Focus. * Added Right-clickable Context Menus, and added an example in KitchenSink Menus.py to show how to set them up. * Added python-spidermonkey as an experimental platform, exactly like pyv8run.py now there is pysmrun.py * Top-level global variables, and top-level functions, now correctly scope in a module (thanks to Jose for raising this one) * String constants are now returned as instances of String() which results in them having the __iter__ method that has been added to the proto of the javascript base String type. * made TypeError inherit from BaseException rather than being a javascript proto from Error(). TypeError can now be raised as an Exception, with a message. * made == comparison use __eq__, which conditionally uses __cmp__ if it is available: this fixes bugs in comparison of lists in the LibTest. replaced a large number of numerical "==" comparisons with "is", so that __eq__ doesn't get called (efficiency). * added support for calling *args on functions: previously, a call function(*args) would result in the args being thrown away! * made Tuple its own class, rather than inheriting from List, in order that it can be distinguished from List. __cmp__ of a List with a Tuple now correctly fails. * rewrote the examples/libtest so that they can be run under standard python (python ./LibTest.py). this allows for a comparison of pyjs against standard python. * add method extend to pyjslib.List * add float to builtins * add pyjamas.log based on examples/libtest/write.py * registered builtin function 'cmp'. was already implemented but not registered in pyjs.py * added an --optimize option to which results in removing print statements. this could be further improved. e.g. when assert is implemented * fixed Mozilla "Permission Denied" bug in DOM.isOrHasChild * pyjslib.Dict now use the hash method to generate keys internally, so it si possible to use objects as keys like in python. For limitations on dicts read examples/libtest/DictTest.py