Metadata-Version: 1.1
Name: asyncgridfs
Version: 0.2.1.dev
Summary: async mongodb gridfs with tornado IOLoop
Home-page: http://github.com/comger/asyncmongo
Author: comger@gmail.com
Author-email: comger@gmail.com
License: https://github.com/comger/asyncgridfs/blob/master/LICENSE
Description: asyncgridfs
        ===========
        
        async mongo gridfs for tornado
        
        
        Installation
        ------------
        
        Installing: `pip install asyncgridfs` or ` easy_install asyncgridfs`
        
        
        Usage 
        -----
        
            import asyncmongo
            import tornado.web
            from asyncgridfs import GridFS
            
            class Handler(tornado.web.RequestHandler):
                @property
                def db(self):
                    if not hasattr(self, '_db'):
                        self._db = asyncmongo.Client(pool_id='mydb', host='127.0.0.1', port=27017, maxcached=10, maxconnections=50, dbname='test')
                    return self._db
            
                @tornado.web.asynchronous
                def get(self):
                    fid = self.get_argument('fid')
                    fs = GridFS(self.db)
                    fs.get(ObjectId(fid),callback=self._on_get)
                    
        
                @tornado.web.asynchronous
                def post(self):
                    f = self.request.files['imgFile'][0]
                    content = f.pop('body')
                    content_type = f.pop('content_type')
                    filename = f.pop('filename')
        
                    fs = GridFS(self.db)
                    fs.put(content, contentType=content_type, filename=filename, callback=self._on_post)
        
            
                def _on_get(self, fileobj):
                	self.set_header('Content-Type', fileobj['contentType'])
                	self.write(fileobj['data'])
                	self.finish()
                    
                def _on_put(self, _id):
                	self.write(str(_id))
                	self.finish()
        
        
Keywords: asyncmongo,gridfs,tornado
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
