コード例 #1
0
ファイル: ctlctl.py プロジェクト: BackupTheBerlios/ser
	def rm(self, uri, idtype=ID_URI, force=False):
		us = User(self.dburi, self.db)
		ur = Uri(self.dburi, self.db)
		cr = Cred(self.dburi, self.db)
		try:
			uid = ur.get_uid(uri)
		except:
			if force: return
			raise
		try:
			ur.rm_uid(uid, force=force)
		except Error:
			pass
		try:
			cr.rm_uid(uid, force=force)
		except Error:
			pass
		try:
			us.rm(uid, force=force)
		except Error:
			pass
		us.purge()
		ur.purge()
		cr.purge()
		self._reload()
コード例 #2
0
ファイル: ctlctl.py プロジェクト: BackupTheBerlios/ser
	def add(self, uri, aliases, force=False):
		do = Domain(self.dburi, self.db)
		ur = Uri(self.dburi, self.db)
		us = User(self.dburi, self.db)

		try:
			uid = ur.get_uid(uri)
		except:
			if force: return
			raise
		try:
			user, did = ur.uri2id(uri)
		except:
			if force: return
			raise

		if not us.exist(uid):
			if force: return
			raise Error (ENOUSER, user)

		aliases = uniq(aliases)
		try:
			n = aliases.index(uri)
			aliases = aliases[:n] + aliases[n+1:]
		except:
			pass

		for a in aliases:
			if ur.exist_uri(a) and not force:
				raise Error (EDUPL, a)
			u, d =  split_sip_uri(a)
			if not do.exist_domain(d) and not force:
				raise Error (ENODOMAIN, d)
		
		for a in aliases:
			try:
				ur.add(uid, a, force=force)
			except Error, inst:
				warning(str(inst))
コード例 #3
0
ファイル: ctlctl.py プロジェクト: BackupTheBerlios/ser
	def _get_uid(self, uri):
		ur = Uri(self.dburi, self.db)
		uid = ur.get_uid(uri)
		return uid