def handle(self, *args, **options): if not options['site']: raise CommandError('Must give --site') if not (bool(options['dump']) ^ bool(options['restore'])): raise CommandError('Must give exactly one of: --dump=<filename>, --restore=<filename>') kbsite = self.prep_site(options['site'], options['restore']) if options['restore']: input_fp = open(options['restore'], 'r') backup.restore(input_fp, kbsite, self.debug) input_fp.close() else: indent = None if options['indent']: indent = 2 output_fp = open(options['dump'], 'w') backup.dump(output_fp, kbsite, indent, self.debug) output_fp.close()
def generate_backup(request): context = RequestContext(request) fmt = request.GET.get('fmt', 'minjson') if fmt == 'json': indent = 2 else: indent = None fmt = 'minjson' kbsite = request.kbsite datestr = datetime.datetime.now().strftime('%Y%m%d-%H%M%S') filename = 'kegbot-%s.%s.%s.txt' % (kbsite.name, datestr, fmt) output_fp = cStringIO.StringIO() backup.dump(output_fp, kbsite, indent=indent) response = HttpResponse(output_fp.getvalue(), mimetype="application/octet-stream") response['Content-Disposition'] = 'attachment; filename=%s' % filename output_fp.close() return response
def generate_backup(request): context = RequestContext(request) indent = None indent_param = request.GET.get("indent", None) if indent_param: try: indent = int(indent_param) except ValueError: pass kbsite = request.kbsite datestr = datetime.datetime.now().strftime("%Y%m%d-%H%M%S") filename = "kegbot-%s.%s.json.txt" % (kbsite.name, datestr) output_fp = cStringIO.StringIO() backup.dump(output_fp, kbsite, indent=indent) response = HttpResponse(output_fp.getvalue(), mimetype="application/octet-stream") response["Content-Disposition"] = "attachment; filename=%s" % filename output_fp.close() return response
def handle(self, **options): if not options['site']: raise CommandError('Must give --site') if not (bool(options['dump']) ^ bool(options['restore'])): raise CommandError('Must give exactly one of: --dump=<filename>, --restore=<filename>') try: kbsite = models.KegbotSite.objects.get(name=options['site']) except models.KegbotSite.DoesNotExist: raise CommandError('Site does not exist') if options['restore']: input_fp = open(options['restore'], 'r') backup.restore(input_fp, kbsite, self.debug) input_fp.close() else: indent = None if options['indent']: indent = 2 output_fp = open(options['dump'], 'w') backup.dump(output_fp, kbsite, indent, self.debug) output_fp.close()