Afriyie Abraham Kwabena <afriyie.abra...@gmail.com> writes: > ... > Thanks for the reply maybe I did not explain myself very well but is it > possible to apply this scenario to a database server like MySQL where I can > write some python code to post, get, delete, etc to the database? However the > client (python code I have to write ) have to be authenticated and then after > that can have access to the data in the server. If this is possible what > should be my starting point and which python frameworks or libraries do i > have to use to achieve this.
I have put "Zope" into the ring (for the server side). If your actual data lives in a relational database, then "Zope" might not be ideal: while "dm.zope.reseller" demonstrates that "Zope" can be used as an interface to entities in a relational database, this is not directly supported and you need some deeper knowledge to get it done. The particularity of REST is its very limited support for verbs: it knows only the standard HTTP commands ("GET", "HEAD", "POST", "PUT", "DELETE") as verbs. You must introduce artificial objects to support a richer verb set. E.g. to express the verbs "search_users", "add_user", you would introduce an object "users" and map "search_users --> users/GET", "add_user --> users/POST"; for "update_user", you would have user objects representing an individual user and map "update_user --> <user>/PUT". If you look at this in the relational world, then the object "users" corresponds to a table, while a user object corresponds to an entry in this table, i.e. those objects live on different representational levels (table, table entry) in the relational database. Out of the box, Zope only has limited support for this kind of modelization: its "ZSQL Method"s can be used to represent a table; their "direct traversal" can be used to represent a table entry. But, you must do special things to get the REST expected semantics of "POST", "PUT" and "DELETE". The client side should be easy -- at least, if the number of objects you must support is small. You can then use the module "urllib2/http.client" likely together with the module "json". -- https://mail.python.org/mailman/listinfo/python-list