pizsamás eszköztárának és könyvtár célja, hogy AJAX alkalmazások Python. Pyjamas alapul Google GWT, amely ugyanazt csinálja, a Java.
ike GWT, pizsamában jár a fordítás az alkalmazás és a könyvtárak (beleértve UI widgetek és DOM osztályok) a Javascript és a csomagoláson fel, hogy a Javascript kódot.
Két alapvető fejlesztői eszközöket tartalmaz pizsamában. pyjs fordítja Python kód Javascript gyalog a Python absztrakt szintaxis fa és a termelő Javascript.
Sok esetben, beépített Python típusú igényli egyéni Javascript végrehajtását. Például, annak ellenére, Python listák hasonló Javascript tömbök, Python listák alakítja egyedi tárgyak megvalósító módszereket, mint a append. Ezek az egyedi objektumok szükséges fordításában pyjs határozza nevű könyvtárat pyjslib.
Mint GWT, pizsamában jön egy sor UI widgetek, valamint a könyvtár DOM manipuláció. Ezek a könyvtárak Pythonban, de, mint minden mást, átszámítva Javascript bevetésre.
A teljes fordítását egyes komponensek által kezelt építmények ami szintén a szükséges boilerplate kódot. Az eredmény egy sor .html .js fájlok is szolgált fel egy webszerver.
Vannak egyéb alkatrészek terveznek, amely eddig nem tárgyaltunk itt, mint például a szerver oldali kódot kommunikációs kliens-szerver alkalmazások.
Mi az új ebben a kiadásban:
- Egyszerű sys.stdout és sys.stderr tárgyakat adunk hozzá. sys.exc_info () rögzítették, hogy viselkedjenek, mint a Python.
- A nagyon alapvető traceback modult hozzá.
- oninput és onpropertychange rendezvények támogatása adtunk.
- A getWidget probléma HTMLTable alatt pyjd Windows rögzítették.
- XML dokumentumok alapján pyjd Windows adtunk.
- Az auto-build (file monitoring) opciót adták hozzá pyjsbuild.
- pyjscompressor.py adtunk.
- különböző hibák kerültek rögzítésre.
- Számos más elemekkel bővült.
Mi az új verzióban 0.5p1:
- Fix Automatikus kiegészítés, amely csak szükségem nem öröklődik a PopupPanel ( köszönhetően lovelysystems végrehajtására nem modális párbeszédeket mert másképpen nem lehet kijavítani Automatikus kiegészítés)
- Added végrehajtása metaclass & quot; típusú & quot; funkciót
- Made KeyboardListener egyelem¶ modul helyett egy osztály elemzi ugyanaz, mint a modul. Hasonlóképpen a MouseListener, esemény és Focus.
- Hozzáadás a jobb kattintható helyi menük és a hozzá példaként kitchensink Menus.py, hogy hogyan kell azokat beállítani.
- Added python-SpiderMonkey mint kísérleti platform, pontosan úgy, mint pyv8run.py most van pysmrun.py
- Top-szintű globális változók, és a felső szintű funkciók, most már helyesen hatálya egy modul (köszönet Jose emelésére ezt is)
- A szöveg konstansokat most visszatért az esetben a String (), amely azt eredményezi, hogy miután a __iter__ módszer, amely bekerült a proto a javascript bázis string típusú.
- készül Típushiba örökölnek BaseException ahelyett, hogy egy javascript proto-re Error (). Típushiba emelhetjük kivételként, egy üzenetet.
- készül == összehasonlítás használata __eq__, amely feltételesen használja __cmp__, ha rendelkezésre áll: ez megoldja a hibákat képest a listák a LibTest. cserélni számos numerikus & quot; == & quot; összehasonlítás & quot; & quot ;, hogy __eq__ nem kap hívják (hatékonyság).
- hozzáadott támogatás lehívására * args a funkciók: a korábban, a telefon funkció (* args), akkor az a args eldobják!
- tette Tuple saját osztályába, nem pedig megörökölte a lista, annak érdekében, hogy meg lehessen különböztetni a lista. __cmp__ egy listát egy Tuple már helyesen nem.
- átírta a példák / libtest, hogy így lehet futtatni szabványos (Python ./LibTest.py). Ez lehetővé teszi az összehasonlítást a pyjs etalon python.
- add módszer terjed ki pyjslib.List
- add float hogy builtins
- add pyjamas.log példák alapján / libtest / write.py
- bejegyzett beépített funkció "cmp". már, de azok nem regisztrált pyjs.py
- hozzá egy --optimize lehetőséget, hogy ami eltávolítja a nyomtatási kimutatásokat. ezt tovább lehetne javítani. például ha érvényesíteni valósul
- fix Mozilla & quot; hozzáférés megtagadva & quot; bug in DOM.isOrHasChild
- pyjslib.Dict teremteni a hash módszer generál kulcsot belülről, így si lehet használni tárgyakat a kulcsok, mint a python. A limit dicts olvasható példák / libtest / DictTest.py
Mi az új verzióban 0.4p1:
- Ez egy apró patch pizsama 0.4p1, A Python-to-Javascript fordító és Python Web UI widgetek Toolkit.
- Jelentős hiba javítva közé HorizontalPanel a remove () függvény, SimplePanel egyértelmű () függvényt, és sprintf több érvek (& quot;% s% d & quot;% (& quot; Hello & quot ;, 2) fog működni) párbeszédpanel most modális funkciókat (köszönet Jürgen Kartnaller).
- HorizontalSplitPanel bővült, bár mind a vízszintes és függőleges panelek működnek megfelelően a Mozilla-alapú böngészők, de a Safari és IE szükség van az önkéntesek dolgozik rajtuk.
Mi az új a 0.4 verzió:
- Tartozékok:
- Added könyvtár / splitpanel.py és könyvtár / vertsplitpanel.py, valamint példákat / splitpanel. Megjegyzés: splitpanels kell lennie ui.
- Megváltozott ui.TabBar.insertTab (), hogy widgetek tovább kell adni, valamint szöveget.
- Added példák / tabpanelwidget
- Added gtk_converter a & quot; contrib & quot; könyvtár (hála Jeremy)
- Added könyvtár / decoratorpanel.py amely magában DecoratorPanel, DecoratedTabPanel és DecoratedTabBar. Megjegyzés: ezek az osztályok kell lennie ui.
- Added példák / slideshow
- A támogatás a szeletelés negatív számokat.
- Added példák / jsobject
- Added support for a hibakeresési módot, amely szerint be többek között a & quot; -d & quot; parancssori hívásakor build.py. Ezzel a kapcsolóval az egyes kimutatások, a Python kódot körül egy próbát ... kivéve nyilatkozatot arról, hogy figyelmeztető üzenetet jelenít meg, ha kivétel történik. A riasztási üzenet tartalmazza az eredeti Python szövegen, a sorszámot, a Python a forrás file, ahol a hiba történt, és a részleteket a Javscript hiba történt. Ez nagyban leegyszerűsíti a hibakeresést a pizsamás kódot.
- Issue # 75: A támogatás a & quot; nem None & quot; szintaxis.
- Issue # 85: végrehajtotta a képv () beépített függvény.
- Issue # 93: Végre dict.items ().
- Issue # 95: Végre Window.prompt ().
- Issue # 100: Hozzáadott egy setPadding () metódus ui.CellPanel.
- Issue # 103: végre az enumerate () beépített függvény.
- Issue # 104: új képességet rendelni változók listáját, például: x, y = self.method ()
- Issue # 105: Végre a min () és max () beépített függvény.
- Issue # 88: Most már lehet használni a getattr () beépített függvény olyan eljárás, majd át paramétereket, hogy ez a módszer, ha hívják. Van egy új Például a & quot; példák / & quot; könyvtár, az úgynevezett & quot; getattr & quot ;, amely bemutatja, hogyan lehet ezt használni.
- Issue # 111: Hozzáadott XOR és bit-eltolás operátorok, köszönhetően legith.
- Issue # 112: Added support for a ord () és a chr () beépített függvény (hála, legith!).
- Issue # 113: támogatását valósította meg az alapvető try ... except nyilatkozatokat. Van is egy új modult, példák / libtest / ExceptionTest.py, amely megvizsgálja a használata a try ... kivéve nyilatkozatot.
- hibajavítások:
- Egy új végrehajtásának sprintf.
- Issue # 86: Javítva egy hiba, amely megakadályozza, hogy HTTPRequest zuhanni. Hála finder83 a code.google.com/p/pyjamas segítesz megtalálni ezt.
- Added Alap képek használni az élek és sarkok egy párbeszédablak
- Különböző változtatásokat ui.py és DOM.py, hogy (részben) támogatást eseménykezelés a párbeszédpanelek.
- Javítva egy hiba ui.CellFormatter.getElement (), amely okozhat kárt tenni.
- Javítva egy probléma ui.FormSubmitEvent.setCancelled ()
- Javítva a ui.clickDelegatePanel.onBrowserEvent (), amely a program összeomlik feldolgozása során a keyDown eseményt.
- Megváltozott ui.ClickDelegatePanel.onBrowserEvent (), hogy ellenőrizze, hogy a legfontosabb küldött valóban van egy & quot; onkeydown & quot; módszert, mielőtt nevezni.
- Issue # 54: Javítva egy probem a böngésző-ellenőrző (via a & quot; user-agent & quot; string) mellett az Internet Explorer 7.0. Úgy látszik, a Microsoft úgy döntött, hogy megváltoztatja a user-agent string IE 7, megtörve a kódot pizsamás amely meghatározta a felhasználó böngészőjének.
- Az eltávolított kódot DOM.init (), amely megpróbálta kijavítani a hibát, az elkészült elemek, de ez nem működött.
- Javítva egy hiba ComplexPanel.insert melyet okozó Internet Explorer 6 és korrupt a DOM modell.
- Issue # 53: Javítva egy probléma üzemeltető elsőbbséget.
- Issue # 91: Hozzáadott DOM.eventGetCurrentEvent () függvény letölteni az aktuális eseményt.
- Megváltozott FocusWidget.onBrowserEvent (), hogy ellenőrizze, hogy a kattintás hallgató valóban van egy & quot; onClick & quot; módszert, mielőtt nevezni.
- Issue # 82: Megváltozott content-type által küldött könyvtár / HTTPRequest.asyncPostImpl a & quot; application / x-www-form-urlencoded & quot; ahelyett, & quot; text / plain & quot ;. Ez lehetővé teszi a HTTPRequest objektumot kell használni, hogy AJAX hívások segítségével HTTP POST kérések.
- Issue # 81: Fix könyvtár / ui.Panel.clear ().
- Hozzáadás a lépcsőzetes stíluslap a példák / mail program
- Issue # 106: Javítva a hiba, egy tuple szótárként legfontosabb előállított váratlan eredményeket
- Issue # 107: Most már lehetőség van, mely egy plusz jel elején a számnak
- költözött datetime.py a mellékletek könyvtárat a könyvtár.
- Issue # 80: Megváltozott sok a példa, hogy az új & quot; pizsama & quot; csomag neve.
- Javítva egy probléma a negatív szeleteket listák (hála, Legith).
Hozzászólás nem található