Create archive form
This commit is contained in:
parent
cc35f276ef
commit
194afd9c66
|
@ -1 +1,2 @@
|
|||
from .repoform import RepoForm
|
||||
from .archiveform import ArchiveForm
|
||||
|
|
20
borgweb/borg/forms/archiveform.py
Normal file
20
borgweb/borg/forms/archiveform.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
from django import forms
|
||||
|
||||
|
||||
class ArchiveForm(forms.Form):
|
||||
label = forms.CharField(label='Label')
|
||||
fingerprint = forms.CharField(label='Fingerprint')
|
||||
name = forms.CharField(label='Name')
|
||||
start = forms.DateTimeField(label='Start', input_formats=["%Y-%m-%dT%H:%M:%S.%z"])
|
||||
end = forms.DateTimeField(label='End', input_formats=["%Y-%m-%dT%H:%M:%S.%z"])
|
||||
file_count = forms.IntegerField(label='File Count', min_value=0)
|
||||
original_size = forms.IntegerField(label='Original Size', min_value=0)
|
||||
compressed_size = forms.IntegerField(label='Compressed Size', min_value=0)
|
||||
deduplicated_size = forms.IntegerField(label='Deduplicated Size', min_value=0)
|
||||
|
||||
total_chunks = forms.IntegerField(label='Total Chunks', min_value=0)
|
||||
total_csize = forms.IntegerField(label='Total Compressed Size', min_value=0)
|
||||
total_size = forms.IntegerField(label='Total Size', min_value=0)
|
||||
total_unique_chunks = forms.IntegerField(label='Total Unique Chunks', min_value=0)
|
||||
unique_csize = forms.IntegerField(label='Unique Size', min_value=0)
|
||||
unique_size = forms.IntegerField(label='Unique Compressed Size', min_value=0)
|
14
borgweb/borg/templates/borg/archive.html
Normal file
14
borgweb/borg/templates/borg/archive.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Add archive</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="archive" method="post">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -4,5 +4,6 @@ from . import views
|
|||
|
||||
urlpatterns = [
|
||||
path('', views.index, name='index'),
|
||||
path('repo', views.get_repo, name='repo')
|
||||
path('repo', views.get_repo, name='repo'),
|
||||
path('archive', views.get_archive, name='archive'),
|
||||
]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
from django.shortcuts import render
|
||||
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseNotAllowed
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
from django.http import HttpResponseRedirect
|
||||
|
||||
from .models import Repo, Label
|
||||
from .models import Repo, Label, Archive, Cache
|
||||
from django.urls import reverse
|
||||
from .forms import RepoForm
|
||||
from .forms import RepoForm, ArchiveForm
|
||||
|
||||
|
||||
def index(request):
|
||||
|
@ -42,3 +42,30 @@ def get_repo(request):
|
|||
form = RepoForm()
|
||||
|
||||
return render(request, 'borg/repo.html', {'form': form})
|
||||
|
||||
|
||||
def get_archive(request):
|
||||
if request.method == 'POST':
|
||||
form = ArchiveForm(request.POST)
|
||||
if form.is_valid():
|
||||
cdata = form.cleaned_data
|
||||
|
||||
repo = get_object_or_404(Repo, label__label=cdata['label'])
|
||||
|
||||
cache_dict = {k: cdata[k] for k in ('total_chunks', 'total_csize', 'total_size',
|
||||
'total_unique_chunks', 'unique_csize', 'unique_size')}
|
||||
|
||||
cache = Cache(**cache_dict)
|
||||
cache.save()
|
||||
|
||||
archive_dict = {k: cdata[k] for k in ('fingerprint', 'name', 'start', 'end', 'file_count',
|
||||
'original_size', 'compressed_size', 'deduplicated_size')}
|
||||
|
||||
archive = Archive(**archive_dict, repo=repo, cache=cache)
|
||||
archive.save()
|
||||
|
||||
return HttpResponseRedirect(reverse('index'))
|
||||
else:
|
||||
form = ArchiveForm()
|
||||
|
||||
return render(request, 'borg/archive.html', {'form': form})
|
||||
|
|
Loading…
Reference in New Issue
Block a user