コード例 #1
0
    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()
コード例 #2
0
ファイル: views.py プロジェクト: WeilerWebServices/Eventbrite
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
コード例 #3
0
ファイル: views.py プロジェクト: johnboiles/kegbot
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
コード例 #4
0
ファイル: views.py プロジェクト: safarmer/kegbot
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
コード例 #5
0
ファイル: kb_backup.py プロジェクト: KegRoc/kegbot
  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()