Example #1
0
	def add(self, domain, aliases=[], idtype=ID_URI, force=False):
		do = Domain(self.dburi, self.db)

		did = id(domain, idtype)
		if do.exist_did(did) and not force:
			raise Error (EDOMAIN, errstr(did=did))

		if do.exist_domain(domain) and not force:
			raise Error (EDOMAIN, domain)

		ualiases = uniq(aliases)
		naliases = []
		for alias in ualiases:
			if do.exist(did, alias):
				if force: continue
				raise Error (EDUPL, errstr(did=did, domain=alias))
			else:
				naliases.append(alias)

		do.add(did, domain, None, force)
		for alias in naliases:
			do.add(did, alias, None, force)
		self._reload()