Rework Dirs

This commit is contained in:
2024-09-01 18:34:55 +03:30
parent 84196c3034
commit 8c9be226a5
51 changed files with 0 additions and 92 deletions

View File

@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

View File

@@ -0,0 +1,6 @@
from django.apps import AppConfig
class InfoConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "info"

View File

@@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

View File

@@ -0,0 +1,24 @@
from rest_framework import serializers
class MemoryInfoSerializer(serializers.Serializer):
total = serializers.IntegerField()
available = serializers.IntegerField()
percent = serializers.FloatField()
used = serializers.IntegerField()
free = serializers.IntegerField()
active = serializers.IntegerField()
inactive = serializers.IntegerField()
buffers = serializers.IntegerField()
cached = serializers.IntegerField()
shared = serializers.IntegerField()
class CpuInfoSerializer(serializers.Serializer):
info = serializers.FloatField()
class HardInfoSerializer(serializers.Serializer):
total = serializers.IntegerField()
used = serializers.IntegerField()
free = serializers.IntegerField()
percent = serializers.FloatField()

View File

@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

View File

@@ -0,0 +1,7 @@
from django.urls import path
from .views import *
urlpatterns = [
path("memory", MemoryInfoView.as_view(),name="memory"),
path("cpu", CpuInfoView.as_view(),name="cpu"),
path("hard",HardInfoView.as_view(),name='hard'),
]

View File

@@ -0,0 +1,34 @@
from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
from .serializers import *
import psutil
import os
# Create your views here.
class MemoryInfoView(APIView):
def get(self, request, *args, **kwargs):
memo_info = psutil.virtual_memory()._asdict()
seri = MemoryInfoSerializer(data=memo_info)
if seri.is_valid():
return Response(seri.data)
return Response(seri.errors,status=400)
class CpuInfoView(APIView):
def get(self, request, *args, **kwargs):
cpu_info = psutil.cpu_percent()
info = {"info":cpu_info}
seri= CpuInfoSerializer(data=info)
if seri.is_valid():
return Response(seri.data)
return Response(seri.errors,status=400)
class HardInfoView(APIView):
def get(self,request,*args,**kwargs):
hard_info = psutil.disk_usage(os.getcwd())._asdict()
seri = HardInfoSerializer(data=hard_info)
if seri.is_valid():
return Response(seri.data)
return Response(seri.errors,status=400)