View | Details | Raw Unified | Return to bug 55410
Collapse All | Expand All

(-)management/univention-directory-manager-modules/univention-dnsedit (+24 lines)
 Lines 285-290   def add_a_record(name, *adresses): Link Here 
285
		record.create()
285
		record.create()
286
286
287
287
288
def remove_a_record(name, *adresses):
289
	"""Remove DNS IPv4 address records."""
290
	filt = univention.admin.filter.expression('name', name)
291
	records = host_record.lookup(co, lo, filt, scope='domain', base=position.getDomain(), superordinate=zone, unique=True)
292
	if records:
293
		record = records[0]
294
	else:
295
		print("No record found", file=sys.stderr)
296
		return
297
298
	tmp = record['a']
299
	for addr in adresses:
300
		if addr in tmp:
301
			tmp.remove(addr)
302
	record['a'] = tmp
303
304
	if record['a']:
305
		record.modify()
306
	else:
307
		record.remove()
308
309
288
def add_cname_record(name, cname):
310
def add_cname_record(name, cname):
289
	"""Add DNS canonical name record."""
311
	"""Add DNS canonical name record."""
290
	filt = univention.admin.filter.expression('name', name)
312
	filt = univention.admin.filter.expression('name', name)
 Lines 440-445   def main(): Link Here 
440
				remove_srv_record(*args)
462
				remove_srv_record(*args)
441
			elif typ == 'ns':
463
			elif typ == 'ns':
442
				remove_ns_record(*args)
464
				remove_ns_record(*args)
465
			elif typ == 'a':
466
				remove_a_record(*args)
443
			else:
467
			else:
444
				parser.error('Unknown type "%s"' % (typ,))
468
				parser.error('Unknown type "%s"' % (typ,))
445
	except univention.admin.uexceptions.objectExists as ex:
469
	except univention.admin.uexceptions.objectExists as ex:

Return to bug 55410