On 6 May 2011, at 15:27, Linder Michael wrote:

> Dear all,
> 
> I am trying to create a new zone file with dnspython library, but I
> encountered many difficulties to create it. Please see the following
> extract from my code:
>       [...]
>       l_soaname = dns.name.Name(soaname.split("."))
>      l_rname = dns.name.Name(rname.split(".") )

If you've got a string and are trying to make a Name out of it, it's much 
easier to just call dns.name.from_text().  You definitely don't want to call 
split(), as that doesn't handle escaping correctly.  But it's even easier to 
let dnspython call dns.name.from_text() for you -- see below.

>      l_file = tempfile.NamedTemporaryFile(mode="w",suffix=zonename,
> prefix="db.", dir="/usr/local/Strogoff-NG/db/zones/")
>      l_zone = dns.zone.from_file( l_file.name, check_origin=False )
>      l_rdataset = l_zone.find_rdataset("@",rdtype="SOA",create=True)
>      l_rdata = dns.rdtypes.ANY.SOA.SOA( dns.rdataclass.from_text("IN"),
> dns.rdatatype.from_text("SOA"), l_soaname, l_rname, 100, 200, 300, 400,
> 500 )
>      l_rdataset.add( l_rdata, ttl=600 )
> 
>      l_zone.to_file(l_pathzonefile)

If you're trying to make an SOA rdataset it's easier to do something like this:

import dns.rdataset

mname = 'my.domain.net.'
rname = 'hostmaster.my.domain.net.'

soa = dns.rdataset.from_text('IN', 'SOA', 600, '%s %s 100 200 300 400 500' % 
(mname, rname))

_______________________________________________
dnspython-users mailing list
[email protected]
http://howl.play-bow.org/mailman/listinfo.cgi/dnspython-users

Reply via email to