[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Pulp-list] Catching errors in the CLI



We've had an outstanding story to clean up exception handling, both server and client side. One thing to keep in mind for now is to be consistent in where exceptions are caught. In the client's repo API module, we have the following methods:

    def delete(self, id):
        path = "/repositories/%s/" % id
        return self.server.DELETE(path)[1]

    def clean(self):
        path = "/repositories/"
        return self.server.DELETE(path)[1]

    def sync_list(self, repoid):
        path = '/repositories/%s/sync/' % repoid
        try:
            return self.server.GET(path)[1]
        except ServerRequestError:
            return []

In nearly all of the client APIs, any errors are bubbled up from the calls. sync_list should probably follow that model so the caller can know the difference between a server error and an empty list of syncs. Until we get a set of rules in place, let's try to be consistent (or comment on why the consistency is broken in cases where it makes sense).


--
Jay Dobies
RHCE# 805008743336126
Freenode: jdob @ #pulp
http://pulpproject.org | http://blog.pulpproject.org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]