X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/python-afs.git/blobdiff_plain/777c46c62b346eaffd3370ec42c67424ca4c5919..2e97ddf70212f0eafac514ceb516da4bcf6da703:/afs/_pts.pyx diff --git a/afs/_pts.pyx b/afs/_pts.pyx index 373d3c7..c18ef0f 100644 --- a/afs/_pts.pyx +++ b/afs/_pts.pyx @@ -1,4 +1,5 @@ from afs cimport * +from afs import pyafs_error cdef import from "afs/ptuser.h": enum: @@ -71,8 +72,6 @@ cdef import from "afs/pterror.h": PRNOENT PRTOOMANY - void initialize_PT_error_table() - cdef class PTEntry: cdef public afs_int32 flags cdef public afs_int32 id @@ -166,8 +165,7 @@ cdef class PTS: "Error opening configuration directory (%s): %s" % \ (AFSDIR_CLIENT_ETC_DIRPATH, strerror(errno))) code = afsconf_GetCellInfo(cdir, c_cell, "afsprot", &info) - if code != 0: - raise Exception(code, "GetCellInfo: %s" % afs_error_message(code)) + pyafs_error(code) if sec > 0: strncpy(prin.cell, info.name, sizeof(prin.cell)) @@ -178,7 +176,7 @@ cdef class PTS: if code != 0: if sec >= 2: # No really - we wanted authentication - raise Exception(code, "Failed to get token for service AFS: %s" % afs_error_message(code)) + pyafs_error(code) sec = 0 else: if sec == 3: @@ -203,8 +201,7 @@ cdef class PTS: sec) code = ubik_ClientInit(serverconns, &self.client) - if code != 0: - raise Exception("Failed to initialize ubik connection to Protection server: %s" % afs_error_message(code)) + pyafs_error(code) code = rxs_Release(sc) @@ -243,8 +240,7 @@ cdef class PTS: free(lids.idlist_val) if id == ANONYMOUSID: code = PRNOENT - if code != 0: - raise Exception("Failed to lookup PTS name: %s" % afs_error_message(code)) + pyafs_error(code) return id def IdToName(self, id): @@ -269,8 +265,7 @@ cdef class PTS: free(lids.idlist_val) if name == str(id): code = PRNOENT - if code != 0: - raise Exception("Failed to lookup PTS ID: %s" % afs_error_message(code)) + pyafs_error(code) return name def CreateUser(self, name, id=None): @@ -290,8 +285,7 @@ cdef class PTS: else: code = ubik_PR_NewEntry(self.client, 0, name, 0, 0, &cid) - if code != 0: - raise Exception("Failed to create user: %s" % afs_error_message(code)) + pyafs_error(code) return cid def CreateGroup(self, name, owner, id=None): @@ -310,8 +304,7 @@ cdef class PTS: else: code = ubik_PR_NewEntry(self.client, 0, name, PRGRP, oid, &cid) - if code != 0: - raise Exception("Failed to create group: %s" % afs_error_message(code)) + pyafs_error(code) return cid def Delete(self, ident): @@ -323,8 +316,7 @@ cdef class PTS: cdef afs_int32 id = self.NameOrId(ident) code = ubik_PR_Delete(self.client, 0, id) - if code != 0: - raise Exception("Failed to delete user: %s" % afs_error_message(code)) + pyafs_error(code) def AddToGroup(self, user, group): """ @@ -334,8 +326,7 @@ cdef class PTS: cdef afs_int32 uid = self.NameOrId(user), gid = self.NameOrId(group) code = ubik_PR_AddToGroup(self.client, 0, uid, gid) - if code != 0: - raise Exception("Failed to add user to group: %s" % afs_error_message(code)) + pyafs_error(code) def RemoveFromGroup(self, user, group): """ @@ -345,8 +336,7 @@ cdef class PTS: cdef afs_int32 uid = self.NameOrId(user), gid = self.NameOrId(group) code = ubik_PR_RemoveFromGroup(self.client, 0, uid, gid) - if code != 0: - raise Exception("Failed to remove user from group: %s" % afs_error_message(code)) + pyafs_error(code) def ListMembers(self, ident): """ @@ -379,8 +369,7 @@ cdef class PTS: if over: code = PRTOOMANY - if code != 0: - raise Exception("Failed to get group membership: %s" % afs_error_message(code)) + pyafs_error(code) return members @@ -407,8 +396,7 @@ cdef class PTS: if over: code = PRTOOMANY - if code != 0: - raise Exception("Failed to get owned entities: %s" % afs_error_message(code)) + pyafs_error(code) return owned @@ -424,8 +412,7 @@ cdef class PTS: cdef afs_int32 id = self.NameOrId(ident) code = ubik_PR_ListEntry(self.client, 0, id, ¢ry) - if code != 0: - raise Exception("Error getting entity info: %s" % afs_error_message(code)) + pyafs_error(code) _ptentry_from_c(entry, ¢ry) return entry @@ -452,8 +439,7 @@ cdef class PTS: c_newoid = newoid code = ubik_PR_ChangeEntry(self.client, 0, id, c_newname, c_newoid, c_newid) - if code != 0: - raise Exception("Error changing entity info: %s" % afs_error_message(code)) + pyafs_error(code) def IsAMemberOf(self, user, group): """ @@ -465,8 +451,7 @@ cdef class PTS: cdef afs_int32 uid = self.NameOrId(user), gid = self.NameOrId(group) code = ubik_PR_IsAMemberOf(self.client, 0, uid, gid, &flag) - if code != 0: - raise Exception("Error testing membership: %s" % afs_error_message(code)) + pyafs_error(code) return bool(flag) @@ -478,8 +463,7 @@ cdef class PTS: cdef afs_int32 code, uid, gid code = ubik_PR_ListMax(self.client, 0, &uid, &gid) - if code != 0: - raise Exception("Error looking up max uid/gid: %s" % afs_error_message(code)) + pyafs_error(code) return (uid, gid) @@ -491,8 +475,7 @@ cdef class PTS: cdef afs_int32 code code = ubik_PR_SetMax(self.client, 0, id, 0) - if code != 0: - raise Exception("Error setting max uid: %s" % afs_error_message(code)) + pyafs_error(code) def SetMaxGroupId(self, id): """ @@ -502,8 +485,7 @@ cdef class PTS: cdef afs_int32 code code = ubik_PR_SetMax(self.client, 0, id, PRGRP) - if code != 0: - raise Exception("Error setting max gid: %s" % afs_error_message(code)) + pyafs_error(code) def ListEntries(self, users=None, groups=None): """ @@ -537,8 +519,7 @@ cdef class PTS: _ptentry_from_c(e, ¢ries.prentries_val[i]) entries.append(e) free(centries.prentries_val) - if code != 0: - raise Exception("Unable to list entries: %s" % afs_error_message(code)) + pyafs_error(code) startindex = nextstartindex @@ -569,5 +550,4 @@ cdef class PTS: mask |= PR_SF_NGROUPS code = ubik_PR_SetFieldsEntry(self.client, 0, id, mask, flags, ngroups, nusers, 0, 0) - if code != 0: - raise Exception("Unable to set fields: %s" % afs_error_message(code)) + pyafs_error(code)