Ejemplo n.º 1
0
    def handle(self, *origins, **options):
        outdir = os.path.abspath(options.get('directory'))
        export_all = options.get('all')
        verbosity = int(options.get('verbosity', 1))

        if export_all and len(origins) > 0:
            raise CommandError(
                'No origins should be specified when the --all switch is used.'
            )

        Domain = cache.get_model('powerdns_manager', 'Domain')
        if export_all:
            origins = [d.name for d in Domain.objects.all()]

        for origin in origins:
            try:
                data = generate_zone_file(origin)
            except Domain.DoesNotExist:
                sys.stderr.write('error: zone not found: %s\n' % origin)
                sys.stderr.flush()
            else:
                path = os.path.join(outdir, '%s.zone' % origin)
                f = open(path, 'w')
                f.write(data)
                f.close()
                if verbosity:
                    sys.stdout.write('success: %s\n' % origin)
                    sys.stdout.flush()
Ejemplo n.º 2
0
 def handle(self, *origins, **options):
     outdir = os.path.abspath(options.get('directory'))
     export_all = options.get('all')
     verbosity = int(options.get('verbosity', 1))
     
     if export_all and len(origins) > 0:
         raise CommandError('No origins should be specified when the --all switch is used.')
     
     Domain = get_model('powerdns_manager', 'Domain')
     if export_all:
         origins = [d.name for d in Domain.objects.all()]
     
     for origin in origins:
         try:
             data = generate_zone_file(origin)
         except Domain.DoesNotExist:
             sys.stderr.write('error: zone not found: %s\n' % origin)
             sys.stderr.flush()
         else:
             path = os.path.join(outdir, '%s.zone' % origin)
             f = open(path, 'w')
             f.write(data)
             f.close()
             if verbosity:
                 sys.stdout.write('success: %s\n' % origin)
                 sys.stdout.flush()
Ejemplo n.º 3
0
def export_zone_view(request, origin):
    info_dict = {
        'zone_text': generate_zone_file(origin),
        'origin': origin,
    }
    return render_to_response(
        'powerdns_manager/export/zone.html', info_dict, context_instance=RequestContext(request))
Ejemplo n.º 4
0
def export_zone_view(request, origin):
    info_dict = {
        'zone_text': generate_zone_file(origin),
        'origin': origin,
    }
    return render_to_response('powerdns_manager/export/zone.html',
                              info_dict,
                              context_instance=RequestContext(request))
Ejemplo n.º 5
0
def export_zone_view(request, origin):
    
    Domain = cache.get_model('powerdns_manager', 'Domain')
    
    obj = Domain.objects.get(name=origin)
    obj_display = force_unicode(obj)
            
    # Check zone ownership.
    if request.user != obj.created_by:
        messages.error(request, 'Permission denied for domain: %s' % obj_display)
        # Redirect to the Domain changelist.
        return render_to_response('powerdns_manager/zone/import/error.html', {})
        return HttpResponseRedirect(reverse('admin:powerdns_manager_domain_changelist'))
    else:
        info_dict = {
            'zone_text': generate_zone_file(origin),
            'origin': origin,
        }
        return render_to_response(
            'powerdns_manager/zone/export/zonefile.html', info_dict, context_instance=RequestContext(request))
Ejemplo n.º 6
0
def export_zone_view(request, origin):
    
    Domain = get_model('powerdns_manager', 'Domain')
    
    obj = Domain.objects.get(name=origin)
    obj_display = force_text(obj)
            
    # Check zone ownership.
    if request.user != obj.created_by:
        messages.error(request, 'Permission denied for domain: %s' % obj_display)
        # Redirect to the Domain changelist.
        return render_to_response('powerdns_manager/zone/import/error.html', {})
        return HttpResponseRedirect(reverse('admin:powerdns_manager_domain_changelist'))
    else:
        info_dict = {
            'zone_text': generate_zone_file(origin),
            'origin': origin,
        }
        return render_to_response(
            'powerdns_manager/zone/export/zonefile.html', info_dict, context_instance=RequestContext(request))