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