Skip to main content

Posts

Showing posts with the label python

Site now running on django 1.0

hence the bump in minor version - 3.1 While researching on grails and the patterns around it, I looked at django , rails , and lift . All these are quite amazing frameworks that get you started on an application like in 5 mins or less (That includes database layer, view pages, and controllers). Yeah it cannot do everything you want but its there to get you to kick off. And then I realized, how much effort I am putting in maintaining my site on hand coded - wsgi.webapp based - Python app. So I started working to move this to django based multi app site. If you dont know, I host this site on Google App Engine . It does come with a patched, short featured, django of its own. However, I preferred to use app-engine-patch and deploy with a supplied django 1.0. You get most benefits of django with this port. A very big tip of hat to Waldemar Kornewald and his team for this patch. (Guess what, They also have a similar concept of stitching mutiple js/css files - media generator ) I ...

Decorator for Memcache Get/Set in python

I have suggested some time back that you could modularize and stitch together fragments of js and css to spit out in one HTTP connection. That makes the page load faster. I also indicated that there ways to tune them by adding cache-control headers. On the server-side however, you could have a memcache layer on the stitching operation. This saves a lot of Resources (CPU) on your server. I will demonstrate this using a python script I use currently on my site to generate the combined js and css fragments. So My stitching method is like this @memize(region="jscss") def joinAndPut(files, ext): res = files.split("/") o = StringIO.StringIO() for f in res: writeFileTo(o, ext + "/" + f + "." + ext) #writes file out ret = o.getvalue() o.close() return ret; The method joinAndPut is * decorated * by memize. What this means is, all calls to joinAndPut are now wrapped (at runtime) with the logic in memize. All you wa...