Browse Source

„Licenseserver/health_view/cron.py“ ändern

master
Gabriel Kaufmann 3 years ago
parent
commit
10e859dcde
1 changed files with 38 additions and 36 deletions
  1. 38
    36
      Licenseserver/health_view/cron.py

+ 38
- 36
Licenseserver/health_view/cron.py View File

@@ -1,51 +1,53 @@
from health_view.models import *
from health_view.views import check_expiration_date
from datetime import datetime
import health_view.views
from health_view.crypto_functions import *
import requests
import json


#needs logindata from admin account form Contentserver
loginname_restapi = ''
passwort_restapi = ''
loginname_restapi = 'gabi'
passwort_restapi = 'Lolo7138'


def check_exp_date():
licenses = License.objects.all()
date_now = datetime.now()
print("did it")
for lic in licenses:
if check_expiration_date(lic):
if health_view.views.check_expiration_date(lic):
continue
licenses_same_owner = License.objects.filter(justified=lic.justified, patient=lic.patient).exclude(id=lic.id)
folderparts = lic.folder_parts.all().values_list()
parts_to_delete = list()
for part in folderparts:
delete = True
for license in licenses_same_owner:
if not check_expiration_date(license):
continue
for check_part in license.folder_parts.all().values_list():
if check_part == part:
delete = False
if delete is True:
parts_to_delete.append(part[2])
if not parts_to_delete:
lic.delete()
continue
new_total_key = make_encrypted_key_content_server()
post_content = {
'patient': lic.patient.username,
'justified': lic.justified.username,
'new_total_key': new_total_key,
'old_total_key': lic.patient.folderinfo.content_key,
'folder_parts': parts_to_delete,
}
lic.patient.folderinfo.content_key = new_total_key
lic.patient.folderinfo.save()
filter_license_and_delete(lic)


def filter_license_and_delete(lic):
print(lic.justified)
licenses_same_owner = License.objects.filter(justified=lic.justified, patient=lic.patient).exclude(id=lic.id)
folderparts = lic.folder_parts.all().values_list()
parts_to_delete = list()
for part in folderparts:
delete = True
for license in licenses_same_owner:
if not health_view.views.check_expiration_date(license):
continue
for check_part in license.folder_parts.all().values_list():
if check_part == part:
delete = False
if delete is True:
parts_to_delete.append(part[2])
if not parts_to_delete:
lic.delete()
request = requests.post('http://192.168.192.75:8000/manage/delete/', json=post_content, auth=(loginname_restapi, passwort_restapi))


return
new_total_key = make_encrypted_key_content_server()
post_content = {
'patient': lic.patient.username,
'justified': lic.justified.username,
'new_total_key': new_total_key,
'old_total_key': lic.patient.folderinfo.content_key,
'folder_parts': parts_to_delete,
}
lic.patient.folderinfo.content_key = new_total_key
lic.patient.folderinfo.save()
lic.delete()
request = requests.post('http://192.168.192.75:8000/manage/delete/', json=post_content, auth=(loginname_restapi, passwort_restapi))
return



Loading…
Cancel
Save