latest changes 03052024
This commit is contained in:
parent
9a601c74b8
commit
6bb488f9b8
|
@ -2712,9 +2712,9 @@ class NeutralAudit:
|
|||
return character_scripts_dict
|
||||
|
||||
def audit_in_background(self):
|
||||
|
||||
if os.fork() != 0:
|
||||
return
|
||||
# # commenting os.fork to make code run in foreground
|
||||
# if os.fork() != 0:
|
||||
# return
|
||||
|
||||
print("Running in background")
|
||||
end_time = datetime.datetime.now()
|
||||
|
|
|
@ -11,10 +11,70 @@
|
|||
<title>Document</title>
|
||||
<link rel="stylesheet" href="../../../static/Audit/css/Audit-output.css">
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||
<style>
|
||||
/* Show the tooltip text when you mouse over the tooltip container */
|
||||
.tooltip:hover .tooltiptext {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
#feedback-thanks-container {
|
||||
display: block;
|
||||
background-color: #252525;
|
||||
opacity: .75;
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
background-color: #7f7f7f;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 999;
|
||||
top: 8%;
|
||||
left: 0%;
|
||||
}
|
||||
|
||||
#feedback-thanks {
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
background-color: #FAFAFA;
|
||||
background-color: #fafafa;
|
||||
position: absolute;
|
||||
width: 375px;
|
||||
height: auto;
|
||||
top: 50%;
|
||||
border-radius: 8px;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
#closeThanksPopup {
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
right: -10px;
|
||||
background: #EE3C4D;
|
||||
color: #FAFAFA;
|
||||
border-radius: 50%;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
scale: 0.9;
|
||||
border: transparent;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.f-hats-image {
|
||||
width: 375.92px;
|
||||
height: 360.16px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="feedback-thanks-container">
|
||||
<div id="feedback-thanks">
|
||||
<button type="button" class="closebtn" id="closeThanksPopup" onclick="closeFeedback();">X</button>
|
||||
<img src="/static/media/feedback/hats-off.png" alt="hats-off" class="f-hats-image">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal" tabindex="-1" id="delete" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" id="d-delete">
|
||||
<div class="modal-content">
|
||||
|
@ -596,6 +656,9 @@
|
|||
fade_elements[0].classList.remove("modal-backdrop");
|
||||
window.location.reload();
|
||||
}
|
||||
function closeFeedback(){
|
||||
document.getElementById('feedback-thanks-container').style.display="none";
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -4,6 +4,8 @@ from django.views.generic import TemplateView
|
|||
|
||||
urlpatterns = [
|
||||
path("home", views.AuditHomeView.as_view(), name="upload_audit"),
|
||||
path("counter_run", views.Get_Counter.as_view(), name="counter_run"),
|
||||
path("fetch_in_counter", views.Fetch_in_Counter.as_view(), name="fetch_in_counter"),
|
||||
path("facade", views.AuditFacadeView.as_view(), name="upload_audit_facade"),
|
||||
path("facade/status_update", views.AuditStatusUpdate.as_view(), name="audit_facade_status_update"),
|
||||
path("facade/file_update", views.AuditedFileUpdate.as_view(), name="audit_facade_file_update"),
|
||||
|
|
|
@ -5,8 +5,11 @@ from rest_framework_simplejwt.authentication import JWTAuthentication
|
|||
import tempfile
|
||||
import requests
|
||||
import pandas as pd
|
||||
import boto3
|
||||
from io import BytesIO
|
||||
from django.contrib.auth.models import User
|
||||
import json
|
||||
import shutil
|
||||
from users.models import UserCredentialsForBlockchain
|
||||
from Blockchain2.block_user_info import *
|
||||
from Blockchain2.decryption import decryptionOfPrivate, decryptionOfUrl, download_file_System,decryptionOflocalUrl,hash_decrypation
|
||||
|
@ -51,6 +54,8 @@ from utils.filesystem import get_file,get_file_path, get_script_data
|
|||
# from utils.utilities import send_email_to_user
|
||||
# from narration.vectorcode.code import vector_generation
|
||||
from auto_email.views import sendmail
|
||||
from MNF import settings
|
||||
from django.contrib.auth.models import User
|
||||
# from mnfapp.views import update_juggernaut
|
||||
# from mnfapp.views import check_juggernaut
|
||||
# from Pitchdeck.views import multilingual_render
|
||||
|
@ -193,6 +198,404 @@ class AuditFacadeView(APIView):
|
|||
# return HttpResponseBadRequest(render(request, "audit/audit.html", {"form": form,"errors": form.errors}))
|
||||
|
||||
|
||||
class Get_Counter(APIView):
|
||||
authentication_classes = [BasicAuthentication,SessionAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
|
||||
def get(self, request):
|
||||
return render(request, "audit/audit_AWS_home.html")
|
||||
|
||||
def post(self, request):
|
||||
# session = boto3.Session(
|
||||
# aws_access_key_id='AKIAQVLBBGCB45RMLKVW', # replace with your key
|
||||
# aws_secret_access_key='ZWc6KOc5LuBLuCEBDDfQTor+Q7rp3fFH74gVt+AA', # replace with your key
|
||||
# )
|
||||
# sqs = session.resource('sqs', region_name='ap-south-1')
|
||||
# queue = sqs.get_queue_by_name(QueueName="mnfqueue")
|
||||
|
||||
|
||||
user = str(request.user)
|
||||
screenplay_name = request.data.get('screenplay_name')
|
||||
author = request.data.get('author_name')
|
||||
language = request.data.get('language')
|
||||
script_file = request.data.get('script_file')
|
||||
script_ext = script_file.name.split(".")[-1]
|
||||
script_file_name = screenplay_name + "." + script_ext
|
||||
|
||||
media_path = os.path.join(settings.MEDIA_ROOT,"audit_counter_files", script_file_name)
|
||||
with open(media_path, 'wb') as destination:
|
||||
for chunk in script_file.chunks():
|
||||
destination.write(chunk)
|
||||
|
||||
# object_name = "INPUT/" + script_file_name
|
||||
# filee = media_path
|
||||
# bucket = "conversion-kitchen"
|
||||
# s3_client = boto3.client('s3',
|
||||
# aws_access_key_id="AKIAQVLBBGCB45RMLKVW",
|
||||
# aws_secret_access_key="ZWc6KOc5LuBLuCEBDDfQTor+Q7rp3fFH74gVt+AA",
|
||||
# region_name="ap-south-1"
|
||||
# )
|
||||
# try:
|
||||
# response = s3_client.upload_file(filee, bucket, object_name)
|
||||
# print(response)
|
||||
# except Exception as e:
|
||||
# print("Error is", e)
|
||||
|
||||
|
||||
# s3_url = f"https://{bucket}.s3.ap-south-1.amazonaws.com/{object_name}"
|
||||
|
||||
audit_parameters = {
|
||||
"service_type" : "audit",
|
||||
"user":user,
|
||||
# "s3-file-path": s3_url,
|
||||
"s3-file-path": media_path,
|
||||
"screenplay_name": screenplay_name,
|
||||
"author": author,
|
||||
"language": language,
|
||||
"script_ext": script_ext,
|
||||
"script_file_name": script_file_name
|
||||
}
|
||||
print("################ AUDIT PARAMETER", audit_parameters)
|
||||
# response = queue.send_message(
|
||||
# MessageBody=json.dumps(audit_parameters),)
|
||||
|
||||
return JsonResponse({"response": audit_parameters})
|
||||
# return redirect("new_audited_page")
|
||||
|
||||
|
||||
class Fetch_in_Counter(APIView):
|
||||
authentication_classes = [BasicAuthentication,SessionAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
def post(self, request):
|
||||
audit_parameters = request.data
|
||||
print(audit_parameters)
|
||||
# time.sleep(7)
|
||||
user = audit_parameters.get("user")
|
||||
s3_url = audit_parameters.get("s3-file-path")
|
||||
screenplay_name = audit_parameters.get("screenplay_name")
|
||||
author = audit_parameters.get("author")
|
||||
language = audit_parameters.get("language")
|
||||
script_ext = audit_parameters.get("script_ext")
|
||||
script_file_name = audit_parameters.get("script_file_name")
|
||||
language = "en" # main language
|
||||
|
||||
if script_ext == "docx":
|
||||
pass
|
||||
|
||||
elif script_ext == "pdf":
|
||||
pass
|
||||
|
||||
elif script_ext == "fdx":
|
||||
estimatedtime = None
|
||||
|
||||
else: #txt
|
||||
pass
|
||||
with open(s3_url, 'rb') as file:
|
||||
file_content = file.read()
|
||||
|
||||
file = ContentFile(
|
||||
file_content,
|
||||
script_file_name,
|
||||
)
|
||||
# user = User.objects.get(username=user)
|
||||
# user_id = user.id
|
||||
|
||||
result = filesystem.new_screenplay_without_audit_in_background(
|
||||
request.user,
|
||||
author,
|
||||
screenplay_name,
|
||||
file,
|
||||
"script-original",
|
||||
language,
|
||||
)
|
||||
|
||||
|
||||
script_id = result.get("script", {}).get("id")
|
||||
|
||||
file_to_original = File.objects.get(
|
||||
script=script_id,
|
||||
type="script-original"
|
||||
|
||||
)
|
||||
try:
|
||||
update_audit_status(script_id, States.STARTED)
|
||||
except:
|
||||
update_audit_status(script_id, States.FAILURE)
|
||||
|
||||
|
||||
try:
|
||||
# audit_in_background(script_id)
|
||||
audit = NeutralAudit(script_id)
|
||||
audit.audit_in_background()
|
||||
ScriptAuditModel.objects.update_or_create(
|
||||
script = Script.objects.get(
|
||||
id = script_id
|
||||
),
|
||||
defaults={"status" : "SUCCESS"}
|
||||
)
|
||||
#script_id will be present here as well
|
||||
# blockchain code to upload files,
|
||||
#1. csv
|
||||
#2. Audit Orginal
|
||||
#3. Audit Report
|
||||
#4. Audit Docx
|
||||
#5. Audit PDF
|
||||
|
||||
|
||||
|
||||
except:
|
||||
ScriptAuditModel.objects.update_or_create(
|
||||
script = Script.objects.get(
|
||||
id = script_id
|
||||
),
|
||||
defaults={"status" : "FAILURE"}
|
||||
)
|
||||
|
||||
status = ScriptAuditModel.objects.get(
|
||||
script = Script.objects.get(
|
||||
id = script_id
|
||||
))
|
||||
print("STATUS AUDIT",status)
|
||||
# Blockchain
|
||||
# if UserCredentialsForBlockchain.objects.filter(user=request.user).exists():
|
||||
blockchain_obj = UserCredentialsForBlockchain.objects.get(user=request.user)
|
||||
script_original= {}
|
||||
audit_data={}
|
||||
script_original["status"] = "STARTED"
|
||||
script_original["script_id"] = script_id
|
||||
with open(file_to_original.file.path, 'rb') as file:
|
||||
hash = uploadDataToIPFSNode(file)
|
||||
script_original["script_file"] = hash
|
||||
script_original["type"] = "script-original"
|
||||
script_original["script_file_path"] = file_to_original.file.path
|
||||
audit_data["script-original"] = script_original
|
||||
userkey= decryptionOfPrivate(blockchain_obj.privateKey)
|
||||
print("userkey = ", str(userkey))
|
||||
# status,getData = getScriptAudit(userkey.decode('utf-8'),user_id,str(script_id))
|
||||
# privatekeyfordb = userkey.decode('utf-8')
|
||||
# print(privatekeyfordb)
|
||||
# status.bchain_privatekey = privatekeyfordb
|
||||
# status.save()
|
||||
print("blockchain_obj.publicKey",blockchain_obj.publicKey)
|
||||
print("blockchain_obj.privateKey",blockchain_obj.privateKey)
|
||||
if status.status == "SUCCESS":
|
||||
file_to_audit = File.objects.get(
|
||||
script=script_id,
|
||||
type="script-csv"
|
||||
)
|
||||
file_to_audit_report = File.objects.get(
|
||||
script=script_id,
|
||||
type="audit-report"
|
||||
)
|
||||
hash2 = ""
|
||||
try:
|
||||
file_to_audit_docx = File.objects.get(
|
||||
script=script_id,
|
||||
type="script-docx"
|
||||
)
|
||||
script_docx = {}
|
||||
script_path1 = file_to_audit_docx.file.path
|
||||
with open(script_path1, 'rb') as _file:
|
||||
hash2 = uploadDataToIPFSNode(_file)
|
||||
script_docx["script_file_path"] = script_path1
|
||||
script_docx["script_file"] = hash2
|
||||
script_docx["type"] = "script-docx"
|
||||
audit_data["script-docx"] = script_docx
|
||||
except:
|
||||
csv_script_path = file_to_audit.file.path
|
||||
df = pd.read_csv(csv_script_path)
|
||||
docx = utilities.csv_to_docx(df)
|
||||
|
||||
temp_file_stream = BytesIO()
|
||||
docx.save(temp_file_stream)
|
||||
temp_file_stream.seek(0)
|
||||
|
||||
docx_file = ContentFile(
|
||||
temp_file_stream.getvalue(),
|
||||
"from_audited_csv_to_document.docx",
|
||||
)
|
||||
|
||||
query_file = File.objects.create(
|
||||
script= file_to_audit.script,
|
||||
file=docx_file,
|
||||
type="script-docx",
|
||||
)
|
||||
file_to_audit_docx = File.objects.get(
|
||||
script=script_id,
|
||||
type="script-docx"
|
||||
)
|
||||
script_docx = {}
|
||||
script_path1 = file_to_audit_docx.file.path
|
||||
script_size = file_to_audit_docx.file.size
|
||||
with open(script_path1, 'rb') as _file:
|
||||
hash2 = uploadDataToIPFSNode(_file)
|
||||
script_docx["script_file_path"] = script_path1
|
||||
script_docx["script_file"] = hash2
|
||||
script_docx["type"] = "script-docx"
|
||||
audit_data["script-docx"] = script_docx
|
||||
|
||||
## code for pdf also
|
||||
try:
|
||||
temp_dir = tempfile.TemporaryDirectory()
|
||||
pdf_file_path = utilities.docx_to_pdf(
|
||||
script_path1, temp_dir.name)
|
||||
|
||||
with open(pdf_file_path, "rb") as temp_pdf:
|
||||
|
||||
pdf_file = DjangoFile(temp_pdf,pdf_file_path.rsplit('/', 1)[1],)
|
||||
|
||||
query_file = File.objects.create(
|
||||
script = file_to_audit.script,
|
||||
file = pdf_file,
|
||||
type="script-pdf",
|
||||
)
|
||||
script_pdf = {}
|
||||
script_path1 = pdf_file_path
|
||||
# script_size = file_to_audit_docx.file.size
|
||||
with open(script_path1, 'rb') as _file:
|
||||
hash2 = uploadDataToIPFSNode(_file)
|
||||
script_pdf["script_file_path"] = script_path1
|
||||
script_pdf["script_file"] = hash2
|
||||
script_pdf["type"] = "script-pdf"
|
||||
audit_data["script-pdf"] = script_pdf
|
||||
except:
|
||||
pass
|
||||
# convert csv to json and store JSON
|
||||
try:
|
||||
csv_script_path = file_to_audit.file.path
|
||||
df = pd.read_csv(csv_script_path)
|
||||
df = df.loc[:, ["content", "script_element"]]
|
||||
script_json: dict = json.loads(utilities.csv_to_json(df))
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
print("Temporary directory created:", temp_dir)
|
||||
temp_filename = os.path.join(temp_dir, 'script_json_file.json')
|
||||
print(temp_filename)
|
||||
with open(temp_filename, 'w') as json_file:
|
||||
json.dump(script_json, json_file, indent=4)
|
||||
script_json = {}
|
||||
script_path1 = temp_filename
|
||||
# script_size = file_to_audit_docx.file.size
|
||||
with open(script_path1, 'rb') as _file:
|
||||
hash2 = uploadDataToIPFSNode(_file)
|
||||
script_json["script_file_path"] = script_path1
|
||||
script_json["script_file"] = hash2
|
||||
script_json["type"] = "script-json"
|
||||
audit_data["script-json"] = script_json
|
||||
except:
|
||||
pass
|
||||
|
||||
script_csv = {}
|
||||
audit_report ={}
|
||||
audit_report_path = file_to_audit_report.file.path
|
||||
script_path = file_to_audit.file.path
|
||||
script_size = file_to_audit.file.size
|
||||
|
||||
print("script_file_path_is_here",script_path)
|
||||
with open(script_path, 'rb') as _file:
|
||||
hash1 = uploadDataToIPFSNode(_file)
|
||||
script_csv["script_file"] = hash1
|
||||
script_csv["script_file_path"] = script_path
|
||||
script_csv["type"] = "script-csv"
|
||||
with open(audit_report_path, 'rb') as file1:
|
||||
hash2 = uploadDataToIPFSNode(file1)
|
||||
audit_report["script_file"] = hash2
|
||||
audit_report["script_file_path"] = audit_report_path
|
||||
audit_report["type"] = "audit-report"
|
||||
audit_data["script-csv"]= script_csv
|
||||
audit_data["audit-report"]= audit_report
|
||||
|
||||
with open("/home/mnftaj/mnf_march22/MNF/app/Blockchain2/file_stroge.txt","a") as file01:
|
||||
file01.write("audit userkey------------------SUCCESS1 IN_COUNTER\n" + str(audit_data) + "\n")
|
||||
Response,gasprice = UploadScriptAuditData(OWNER_KEY,blockchain_obj.publicKey,blockchain_obj.user_id,script_id,str(audit_data))
|
||||
print("tx_hash",Response)
|
||||
with open("/home/mnftaj/mnf_march22/MNF/app/Blockchain2/file_stroge.txt","a") as file01:
|
||||
file01.write("audit userkey------------------SUCCESS\n"+str(Response))
|
||||
transactioni_id = str(Response)
|
||||
# with open("/home/mnfbeta/mnf/app/Blockchain2/file_stroge.txt","a") as file01:
|
||||
# file01.write(f"Transaction hash for audit is {str(transactioni_id)}\n")
|
||||
# current_time = datetime.now()
|
||||
# formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
|
||||
# file01.write(f"Transaction hash for audit is {str(type(transactioni_id))}\n")
|
||||
# file01.write(f" time for the above transaction id {str(formatted_time)}\n")
|
||||
# audit_model_obj = ScriptAuditModel.objects.get(
|
||||
# script = Script.objects.get(id = script_id))
|
||||
status.transaction_hash =str(transactioni_id)
|
||||
# audit_model_obj.transaction_hash = str(transactioni_id)
|
||||
# audit_model_obj.save()
|
||||
status.save()
|
||||
|
||||
# user_infos = user_info(tx_hash=Response,service="Script Audit",gas_fee=gasprice)
|
||||
# addition_result = user_infos.update_info(request)
|
||||
hash2 = hash_decrypation(hash2)
|
||||
tx_id = Response
|
||||
certificate = certificateGenrate(request.user.username,"script audit",tx_id,projectname=script_file_name,matic=gasprice)
|
||||
to_email = [request.user.email]
|
||||
email_code = 'BL1'
|
||||
key_value = {
|
||||
"service":"Audited Script",
|
||||
"hash": hash2,
|
||||
"public key":blockchain_obj.publicKey,
|
||||
"Transaction Hash": tx_id,
|
||||
}
|
||||
print("userkey = ", userkey)
|
||||
sendmail(to_email=to_email , email_code=email_code, key_value=key_value, filePath=certificate)
|
||||
print("mail send sucessfully:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::")
|
||||
data = {"message": "Success"}
|
||||
# deleting the folder and files
|
||||
|
||||
# Delete a file
|
||||
media_path = os.path.join(settings.MEDIA_ROOT, "audit_counter_files", script_file_name)
|
||||
if os.path.exists(media_path):
|
||||
os.remove(media_path)
|
||||
print(f"File '{media_path}' deleted successfully.")
|
||||
else:
|
||||
print(f"File '{media_path}' does not exist.")
|
||||
|
||||
# Delete a folder and its contents
|
||||
folder1_path = os.path.join(settings.MEDIA_ROOT, "scripts_folder", script_id)
|
||||
if os.path.exists(folder1_path):
|
||||
shutil.rmtree(folder1_path)
|
||||
print(f"Folder '{folder1_path}' and its contents deleted successfully.")
|
||||
else:
|
||||
print(f"Folder '{folder1_path}' does not exist.")
|
||||
|
||||
folder2_path = os.path.join(settings.MEDIA_ROOT, "audit_folder", script_id)
|
||||
if os.path.exists(folder2_path):
|
||||
shutil.rmtree(folder2_path)
|
||||
print(f"Folder '{folder2_path}' and its contents deleted successfully.")
|
||||
else:
|
||||
print(f"Folder '{folder2_path}' does not exist.")
|
||||
return JsonResponse(data, status=200)
|
||||
# return Response("Success", status=200)
|
||||
|
||||
|
||||
else:
|
||||
with open("/home/mnftaj/mnf_march22/MNF/app/Blockchain2/file_stroge.txt","a") as file01:
|
||||
file01.write("audit userkey------------------else\n")
|
||||
Response = UploadScriptAuditData(OWNER_KEY,blockchain_obj.publicKey,blockchain_obj.user_id,script_id,str(audit_data))
|
||||
print("tx_hash",Response)
|
||||
hash = hash_decrypation(hash)
|
||||
#certificate = certificateGenrate(request.user.username,"script audit",hash)
|
||||
tx_id = Response
|
||||
|
||||
# certificate = certificateGenrate(request.user.username,"script audit",tx_id,projectname=script_file_name,matic=gasprice)
|
||||
|
||||
to_email = [request.user.email]
|
||||
email_code = 'BL1'
|
||||
key_value = {
|
||||
"service":"Orginal Script Audit",
|
||||
"hash": hash,
|
||||
"public key":blockchain_obj.publicKey,
|
||||
"private key":userkey,
|
||||
"Transaction Hash": tx_id,
|
||||
}
|
||||
|
||||
print("::::::::::::::",key_value)
|
||||
print("userkey = ", userkey)
|
||||
# sendmail(to_email=to_email , email_code=email_code,key_value=key_value,filePath=certificate)
|
||||
return JsonResponse({"script_id": script_id}, status=200)
|
||||
|
||||
|
||||
class AuditStatusUpdate(APIView):
|
||||
def post(self,request):
|
||||
|
@ -510,12 +913,12 @@ class AuditHomeView(APIView):
|
|||
with open(audit_report_path, 'rb') as file1:
|
||||
hash2 = uploadDataToIPFSNode(file1)
|
||||
audit_report["script_file"] = hash2
|
||||
script_csv["script_file_path"] = audit_report_path
|
||||
script_csv["type"] = "audit-report"
|
||||
audit_report["script_file_path"] = audit_report_path
|
||||
audit_report["type"] = "audit-report"
|
||||
audit_data["script-csv"]= script_csv
|
||||
audit_data["audit-report"]= audit_report
|
||||
with open("/home/mnftaj/mnf_march22/MNF/app/Blockchain2/file_stroge.txt","a") as file01:
|
||||
file01.write("audit userkey------------------SUCCESS1\n")
|
||||
file01.write("audit userkey------------------SUCCESS1 HOME AUDIT\n")
|
||||
Response,gasprice = UploadScriptAuditData(OWNER_KEY,blockchain_obj.publicKey,blockchain_obj.user_id,script_id,str(audit_data))
|
||||
print("tx_hash",Response)
|
||||
with open("/home/mnftaj/mnf_march22/MNF/app/Blockchain2/file_stroge.txt","a") as file01:
|
||||
|
@ -612,7 +1015,7 @@ class AuditHomeView(APIView):
|
|||
# audit_in_background(script_id)
|
||||
# time.sleep(3)
|
||||
# return redirect("my_audited_scripts")
|
||||
return redirect("audit_processing_page")
|
||||
return redirect("new_audited_page1")
|
||||
# return multilingual_render(request, "audit/audit_processing.html", None)
|
||||
else :
|
||||
# return HttpResponseBadRequest(multilingual_render(request, "audit/audit.html", {"form": form,"errors": form.errors}))
|
||||
|
@ -937,7 +1340,7 @@ class DownloadScriptFromBlockchain(APIView):
|
|||
View for downloding scripts of desired type eg- docx, pdf
|
||||
"""
|
||||
|
||||
VALID_FILE_TYPES = ("script-docx", "script-pdf","script-original","audit-report")
|
||||
VALID_FILE_TYPES = ("script-docx", "script-pdf","script-original","audit-report","script-json")
|
||||
"""
|
||||
Files of only above types are allwed to be downloaded.
|
||||
"""
|
||||
|
@ -988,6 +1391,35 @@ class DownloadScriptFromBlockchain(APIView):
|
|||
|
||||
if not self.file_model_objects.exists():
|
||||
raise spex.ScriptDoesNotExist()
|
||||
if file_type == "script-json":
|
||||
try:
|
||||
# self.query_file = self.file_model_objects.get(type=file_type)
|
||||
try:
|
||||
query_file1 = self.auditData.get(file_type)
|
||||
print("###########", str(self.auditData))
|
||||
file_hash = query_file1.get('script_file')
|
||||
file_name = str((str(query_file1['script_file_path']).split("/"))[-1])
|
||||
geting_files = str(decryptionOflocalUrl(file_hash))
|
||||
print("########GETTING",geting_files )
|
||||
print(type(geting_files))
|
||||
# Fetch the JSON data from the URL
|
||||
response = requests.get(str(geting_files))
|
||||
print("#####RESPONSE####", response)
|
||||
if response.status_code == 200:
|
||||
# Parse the JSON data
|
||||
json_data = response.json()
|
||||
print("##########JSON DATA #######")
|
||||
print(json_data)
|
||||
# Return the JSON data as a response
|
||||
return JsonResponse({"script-json": json_data}, status=200)
|
||||
return JsonResponse({"response didnt work": str(geting_files), "message": "File type is script-json"}, status=200)
|
||||
except Exception as exp:
|
||||
# err = repr(exp)
|
||||
return JsonResponse({"fail": repr(exp), "message": "File type is script-json"}, status=400)
|
||||
except:
|
||||
pass
|
||||
|
||||
return JsonResponse({"failing": "not----", "message": "File type is script-json"}, status=400)
|
||||
|
||||
try:
|
||||
self.query_file = self.file_model_objects.get(type=file_type)
|
||||
|
|
|
@ -141,7 +141,7 @@ class BlockchainUserInfo(models.Model):
|
|||
user_name = models.CharField(max_length=100,blank=True, null=True)
|
||||
tx_hash = models.CharField(max_length=100,blank=True, null=True)
|
||||
service = models.CharField(max_length=100,blank=True, null=True)
|
||||
gas_fee = models.IntegerField(max_length=100)
|
||||
gas_fee = models.CharField(max_length=100,blank=True, null=True)
|
||||
script_name = models.CharField(max_length=100,blank=True, null=True)
|
||||
uploaded_by = models.CharField(max_length=100,blank=True, null=True)
|
||||
upload_date = models.DateField(auto_now_add=True)
|
||||
|
|
Loading…
Reference in New Issue