2009/03/26 12:09
This site doesn't use webpy anymore. I'd started to developp my own anti-framework around webapp (which is the minimal framework of GAE), which try to mimic webpy. I poorly named it : aeweb.
In fact, I always used 10% of webpy. Webpy, although it was an anti-framework, is now a full featured framework (providing templates, sql access, form generator, markdown access, openid, session ...) Too much for me.
I'd got many troubles during the 0.2->0.3 phase (troubles with notfound/internalerror, markdown broken, reloader broken, seeother/redirect broken, https detection broken, ...). But I learned a lot of things hacking webpy during this phase.
Webapp is a simple thing, and miss some features, like simple cookies, routes according host, .... Webapp use the WebOb thing (for its request/response object), which is a really nice and mature library. The Do-It-Yourself from its author gave me the idea to do it my self. Nearly everything I needed were already here in webapp/webob, I'd just made a wrapper around webapp to offer some simple things, and aeweb was born.
And better: aeweb can be run outside of GAE, but you will need webapp and webob (But it was not its main goal)
Now, my main website (this one), is completly webpy free. The main problem was to remove templetor (the webpy template engine), to use tempita instead (which seems to be 10 times faster).
Comments (View)
Tags: gae, aeweb
2009/02/14 10:23
Sure, wobpy's going in the right way now. Til I decided to make it a wsgi utility, the APIs are going simpler. And it will be easier to setup it in any wsgi compliant frameworks. It's now more natural to declare a wobpy object. Here is a simple example in a full wsgi stack :
from wobpy import *
class WTest(Wobpy):
def init(self):
b=Button("OK")
b.connect("onclick",self.onClick)
self.add(b)
self.t=TextBox()
self.add(self.t)
def onClick(self):
self.t.set_value( self.t.get_value() + "!" )
def simple_app(environ, start_response):
start_response('200 OK', [('Content-type','text/html')])
yield """<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>"""
yield str( WTest() )
if __name__ == "__main__":
from wsgiref.simple_server import make_server
make_server('localhost', 8011, WobpyMiddleware(simple_app)).serve_forever()
simple_app is the most simple wsgi app, which send back the include script for jquery, and the html's form of the wobpy object WTest.
All the backend (the ajax communication between the page and the server) is done via the middleware, badly nammed WobpyMiddleware.
It's a lot better than before. I have no dates for a public release yet. I'm working on a way to open modal dialog, and I need to fix apis. But for sure, it's really amazing to do. And it works very well.
Another amazing thing, it should work "as is" with ironpython., at least 95% of the code base.
Comments (View)
Tags: wobpy
2009/01/25 22:06
I'm a new happy user of the Cowon iAudio D2 device. I wanted to use the flashmap viewer of Chrieg, because the D2 is a flash lite compliant device too ;-)
So I'd build a little script which is able to convert any images in a "flash folder ready-to-use" on the D2. This is a python script which use PIL Image to generate jpeg tiles according Chrieg's flashmap specs. It generates a folder with the Chrieg's flashmap v2 and the map. Put this folder in your "D2 flash folder", and run its "view.swf".
The script is here : d2flashmap
Btw, now, it's a lot lot easier to generate a "flashmap map" on the linux platform ;-)
Big thanks to Chrieg for his flashmap !
Comments (View)
Tags: d2
2009/01/24 14:52
I'd just made an ubiquity command to search persons in the french pages blanches. Hope it will be useful for anybody. You'll need to have Firefox and ubiquity extension to start using it. And sure, you'll need to be french to find it useful ;-)
Comments (View)
2009/01/01 15:53
The (really so long awaited) 0.3 release is now available for *nix platforms (the win32 will be released soon). A lot of changes : new official dev web site, a new svn repository. This 0.3 release introduce the use of the exiv2 library with the pyexiv2 python backend, a better way for the future.
The, poor and fast-made, announce on the jBrout group
Big thanks to Rob (for helps on jbrout), and Olivier (for his pyexiv2) !
Comments (View)
Tags: jbrout
2008/12/06 18:55
Great ! Yesterday, the famous python 3000 was released. And today it's the so long awaited 0.3 release of webpy which was released. It's marvelous ...
Comments (View)
2008/12/05 07:36
I'm sad. Sandy was a great web service, and really useful for me. She lets me plan my events easily, by sending mails to her. The 12/8 (in three days): she will give up definitively. She will work at twitter ;-(. Til today, there is no alternative. It's a shame.
The good news : I started to build my own. But I don't know yet if I will let my service available for everyone. It works (for me), and it's a little bit different. First, I use the great smtp2web.com, which let me post a mail to an url. The content of the mail is analyzed by my own module (french only), and events are added to my own google calendar, with an email reminder (with the gcalendar quick add feature). The down side is that the reminder is sent by google, and I couldn't tell him to cancel or snooze the event ;-(. The good side is that I can manage events easily in my google calendar. In fact, it's just a google calendar front end, hosted on GAE. It was easier to do. I had planned my first real event this morning, and it seems to work ;-). I need to find a way to simulate todo tasks (recurrent events ?), and a way to cancel/snooze events by mails (by forwarding them ?!).
Edit 2008/12/06 : I've got my sandy back. It works very well with snooze function too (by forwarding the mail). And all in french, with real timezone. I always don't know yet if I will let others sign in (perhaps a private beta) ...
The big drawback : does people want I have full access to their google calendar ? (but you could revoke grant access at any time from a google console)
Btw, now, my own test module(which I should upgrade/correct) use wobpy too.
Comments (View)
2008/11/26 22:44
Since 2 days, I play with AppJet. It's a fabulous web platform. It lets you code a webapp (and not a toy), in a kind of IDE in the browser. It's really interesting how all is working well. In a simple browser, you can start to code your web app. You can see, in live, the result. You can use a "lot of" libraries (persistant storage, http get, facebook and some nice tricks). And they are well documented !
The language is a sort of SSJS (Server Side JavaScript), so it's easy to code client side or server side without switching. AppJet let you host your app in their servers, with a 50MB free storage (with domain name too). Or you can run your own, with an appjet java1.6 runtime which is downloadable. Sources of all hosted apps are available, and clonable. Really useful to find some helps/tricks.
Another incredible thing it that guide to learn to program, which is intended for masses. You can interact, in live, with little examples. Really nifty !
I like a lot, and find it very useful to test some things, or to setup quickly a pipe, a tool, ... in a simple browser. It's really amazing how it's so simple and so powerful too.
Comments (View)
2008/11/23 23:08
To try Wobpy, I've made a little facebook app called Bastons which uses it a lot. It works. The app is hosted on GAE with the pyfacebook api. Really amazing. GAE is definitively a great platform for facebook app too.
Wobpy works well, but I need to find a better way to communicate between webpy (and others python web frameworks) and wobpy ; it's not very natural.
Comments (View)
Tags: wobpy, gae
2008/11/11 22:20
Forget my last post. Since that day, I'm working on another concept, which is a lot more interesting. It uses webpy and jQuery too. I've found a way to make some kind of server components. So it will be easy to code a web form like we code a gtk window : instantiate a widget, add some objects (textarea, button, checkbox ...), declare theirs events ... and code in python only (no html, no javascript, no ajax call).
It's fully ajax, and coders shouldn't write any line of javascript. All states and events are transfered during the ajax call, silently. On the server side, objects keep in sync with the client.
Yes, it's yet another kind of GUI on the web, but it's amazing for me ;-). It's based on webpy, and should be an external lib. So I named it : wobpy (like webpy), wob for "web object".
here is an example :
class MyForm(Wobpy):
def __init__(self):
Wobpy.__init__(self)
self.t = TextArea()
self.add(self.t)
b=Button("go")
b.connect("onclick",self.onbclick)
self.add(b)
self.l = Label()
self.add(self.l)
def onbclick(self):
v=self.t.get_value()
self.l.set_text( v )
When instantiate in a webpy mapped class, it will display a textarea, where you can enter some text, and when you click on the button 'go', it will put the entered text in a label.
Note that it looks like a gtk.Window, and could be easily mapped to gtk. It's really amazing.
It will be there when it'll ready for prime time.
Comments (View)
Tags: wobpy
<< oldest
newest >>
|