This is an automated email from the ASF dual-hosted git repository.

smarru pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-sandbox.git

commit cf320cfde0820b7c6fc3b6af066926a81989c44f
Author: Bhavesh Asanabada <asanabhav...@gmail.com>
AuthorDate: Mon Jul 4 06:10:57 2022 +0530

    defined api urls
---
 .../DjangoMiddleware/DjangoMiddleware/__init__.py  |   0
 .../__pycache__/__init__.cpython-38.pyc            | Bin 0 -> 159 bytes
 .../__pycache__/settings.cpython-38.pyc            | Bin 0 -> 2513 bytes
 .../__pycache__/urls.cpython-38.pyc                | Bin 0 -> 998 bytes
 .../__pycache__/wsgi.cpython-38.pyc                | Bin 0 -> 580 bytes
 .../DjangoMiddleware/DjangoMiddleware/asgi.py      |  16 ++
 .../DjangoMiddleware/DjangoMiddleware/settings.py  | 130 ++++++++++++++++
 .../DjangoMiddleware/DjangoMiddleware/urls.py      |  22 +++
 .../DjangoMiddleware/DjangoMiddleware/wsgi.py      |  16 ++
 .../__pycache__/calc_info_pb2.cpython-38.pyc       | Bin 0 -> 1596 bytes
 .../__pycache__/calc_info_pb2_grpc.cpython-38.pyc  | Bin 0 -> 4065 bytes
 .../smilesdb/DjangoMiddleware/calc_info_pb2.py     |  47 ++++++
 .../DjangoMiddleware/calc_info_pb2_grpc.py         | 165 +++++++++++++++++++++
 .../smilesdb/DjangoMiddleware/calcinfo/__init__.py |   0
 .../calcinfo/__pycache__/__init__.cpython-38.pyc   | Bin 0 -> 151 bytes
 .../calcinfo/__pycache__/admin.cpython-38.pyc      | Bin 0 -> 192 bytes
 .../calcinfo/__pycache__/apps.cpython-38.pyc       | Bin 0 -> 431 bytes
 .../calcinfo/__pycache__/models.cpython-38.pyc     | Bin 0 -> 189 bytes
 .../calcinfo/__pycache__/urls.cpython-38.pyc       | Bin 0 -> 274 bytes
 .../calcinfo/__pycache__/views.cpython-38.pyc      | Bin 0 -> 1294 bytes
 .../smilesdb/DjangoMiddleware/calcinfo/admin.py    |   3 +
 .../smilesdb/DjangoMiddleware/calcinfo/apps.py     |   6 +
 .../calcinfo/migrations/__init__.py                |   0
 .../migrations/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 162 bytes
 .../smilesdb/DjangoMiddleware/calcinfo/models.py   |   3 +
 .../smilesdb/DjangoMiddleware/calcinfo/tests.py    |   3 +
 .../smilesdb/DjangoMiddleware/calcinfo/urls.py     |   7 +
 .../smilesdb/DjangoMiddleware/calcinfo/views.py    |  37 +++++
 gsoc2022/smilesdb/DjangoMiddleware/db.sqlite3      | Bin 0 -> 131072 bytes
 gsoc2022/smilesdb/DjangoMiddleware/manage.py       |  22 +++
 .../DjangoMiddleware/protos/calc_info.proto        |  40 +++++
 gsoc2022/smilesdb/DjangoMiddleware/requirements    |  11 ++
 32 files changed, 528 insertions(+)

diff --git a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__init__.py 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/__init__.cpython-38.pyc
 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 00000000..6b2e1d71
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/__init__.cpython-38.pyc
 differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/settings.cpython-38.pyc
 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/settings.cpython-38.pyc
new file mode 100644
index 00000000..fc36eeec
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/settings.cpython-38.pyc
 differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/urls.cpython-38.pyc
 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/urls.cpython-38.pyc
new file mode 100644
index 00000000..75300992
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/urls.cpython-38.pyc
 differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/wsgi.cpython-38.pyc
 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/wsgi.cpython-38.pyc
new file mode 100644
index 00000000..409a6dc4
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/__pycache__/wsgi.cpython-38.pyc
 differ
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/asgi.py 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/asgi.py
new file mode 100644
index 00000000..a8c4d0c7
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for DjangoMiddleware project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoMiddleware.settings')
+
+application = get_asgi_application()
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/settings.py 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/settings.py
new file mode 100644
index 00000000..3a82e38b
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/settings.py
@@ -0,0 +1,130 @@
+"""
+Django settings for DjangoMiddleware project.
+
+Generated by 'django-admin startproject' using Django 4.0.5.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 
'django-insecure-*9z-hk$3agvu#3y=fcvu5u%q+-zzwlc^a4k3zu#lan23-neq@6'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+    'django.contrib.admin',
+    'django.contrib.auth',
+    'django.contrib.contenttypes',
+    'django.contrib.sessions',
+    'django.contrib.messages',
+    'django.contrib.staticfiles',
+    'calcinfo',
+    'rest_framework',
+    'corsheaders',
+]
+
+MIDDLEWARE = [
+    'django.middleware.security.SecurityMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'corsheaders.middleware.CorsMiddleware',
+    'django.middleware.common.CommonMiddleware',
+    'django.middleware.csrf.CsrfViewMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+    'django.contrib.messages.middleware.MessageMiddleware',
+    'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'DjangoMiddleware.urls'
+
+TEMPLATES = [
+    {
+        'BACKEND': 'django.template.backends.django.DjangoTemplates',
+        'DIRS': [BASE_DIR / 'templates']
+        ,
+        'APP_DIRS': True,
+        'OPTIONS': {
+            'context_processors': [
+                'django.template.context_processors.debug',
+                'django.template.context_processors.request',
+                'django.contrib.auth.context_processors.auth',
+                'django.contrib.messages.context_processors.messages',
+            ],
+        },
+    },
+]
+
+WSGI_APPLICATION = 'DjangoMiddleware.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': BASE_DIR / 'db.sqlite3',
+    }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+    {
+        'NAME': 
'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+    },
+    {
+        'NAME': 
'django.contrib.auth.password_validation.MinimumLengthValidator',
+    },
+    {
+        'NAME': 
'django.contrib.auth.password_validation.CommonPasswordValidator',
+    },
+    {
+        'NAME': 
'django.contrib.auth.password_validation.NumericPasswordValidator',
+    },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
+CORS_ALLOW_ALL_ORIGINS = True
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/urls.py 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/urls.py
new file mode 100644
index 00000000..e9f80ab3
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/urls.py
@@ -0,0 +1,22 @@
+"""DjangoMiddleware URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+    https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+    1. Add an import:  from my_app import views
+    2. Add a URL to urlpatterns:  path('', views.home, name='home')
+Class-based views
+    1. Add an import:  from other_app.views import Home
+    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
+Including another URLconf
+    1. Import the include() function: from django.urls import include, path
+    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path, include
+
+urlpatterns = [
+    path('admin/', admin.site.urls),
+    path('api/', include('calcinfo.urls')),
+]
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/wsgi.py 
b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/wsgi.py
new file mode 100644
index 00000000..9bd00239
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/DjangoMiddleware/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for DjangoMiddleware project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'DjangoMiddleware.settings')
+
+application = get_wsgi_application()
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/__pycache__/calc_info_pb2.cpython-38.pyc 
b/gsoc2022/smilesdb/DjangoMiddleware/__pycache__/calc_info_pb2.cpython-38.pyc
new file mode 100644
index 00000000..b2615b19
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/__pycache__/calc_info_pb2.cpython-38.pyc 
differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/__pycache__/calc_info_pb2_grpc.cpython-38.pyc
 
b/gsoc2022/smilesdb/DjangoMiddleware/__pycache__/calc_info_pb2_grpc.cpython-38.pyc
new file mode 100644
index 00000000..23bf8f2d
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/__pycache__/calc_info_pb2_grpc.cpython-38.pyc
 differ
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calc_info_pb2.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calc_info_pb2.py
new file mode 100644
index 00000000..37a1074a
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calc_info_pb2.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: calc_info.proto
+"""Generated protocol buffer code."""
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import descriptor_pool as _descriptor_pool
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+
+
+DESCRIPTOR = 
_descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x63\x61lc_info.proto\x12\ncom.smiles\"u\n\x08\x43\x61lcInfo\x12\x0e\n\x06nbasis\x18\x01
 \x01(\x03\x12\x0b\n\x03nmo\x18\x02 \x01(\x03\x12\x0e\n\x06nalpha\x18\x03 
\x01(\x03\x12\r\n\x05nbeta\x18\x04 \x01(\x03\x12\r\n\x05natom\x18\x05 
\x01(\x03\x12\x0e\n\x06\x65nergy\x18\x06 \x01(\x01\x12\x0e\n\x06SMILES\x18\x07 
\x01(\t\"P\n\x0f\x43\x61lcInfoRequest\x12\x15\n\rcalcInfoQuery\x18\x01 
\x01(\t\x12&\n\x08\x63\x61lcInfo\x18\x02 \x0 [...]
+
+
+
+_CALCINFO = DESCRIPTOR.message_types_by_name['CalcInfo']
+_CALCINFOREQUEST = DESCRIPTOR.message_types_by_name['CalcInfoRequest']
+CalcInfo = _reflection.GeneratedProtocolMessageType('CalcInfo', 
(_message.Message,), {
+  'DESCRIPTOR' : _CALCINFO,
+  '__module__' : 'calc_info_pb2'
+  # @@protoc_insertion_point(class_scope:com.smiles.CalcInfo)
+  })
+_sym_db.RegisterMessage(CalcInfo)
+
+CalcInfoRequest = _reflection.GeneratedProtocolMessageType('CalcInfoRequest', 
(_message.Message,), {
+  'DESCRIPTOR' : _CALCINFOREQUEST,
+  '__module__' : 'calc_info_pb2'
+  # @@protoc_insertion_point(class_scope:com.smiles.CalcInfoRequest)
+  })
+_sym_db.RegisterMessage(CalcInfoRequest)
+
+_CALCINFOSERVICE = DESCRIPTOR.services_by_name['CalcInfoService']
+if _descriptor._USE_C_DESCRIPTORS == False:
+
+  DESCRIPTOR._options = None
+  _CALCINFO._serialized_start=31
+  _CALCINFO._serialized_end=148
+  _CALCINFOREQUEST._serialized_start=150
+  _CALCINFOREQUEST._serialized_end=230
+  _CALCINFOSERVICE._serialized_start=233
+  _CALCINFOSERVICE._serialized_end=531
+# @@protoc_insertion_point(module_scope)
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calc_info_pb2_grpc.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calc_info_pb2_grpc.py
new file mode 100644
index 00000000..dcb4a1b5
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calc_info_pb2_grpc.py
@@ -0,0 +1,165 @@
+# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
+"""Client and server classes corresponding to protobuf-defined services."""
+import grpc
+
+import calc_info_pb2 as calc__info__pb2
+
+
+class CalcInfoServiceStub(object):
+    """Missing associated documentation comment in .proto file."""
+
+    def __init__(self, channel):
+        """Constructor.
+
+        Args:
+            channel: A grpc.Channel.
+        """
+        self.GetCalcInfo = channel.unary_unary(
+                '/com.smiles.CalcInfoService/GetCalcInfo',
+                
request_serializer=calc__info__pb2.CalcInfoRequest.SerializeToString,
+                response_deserializer=calc__info__pb2.CalcInfo.FromString,
+                )
+        self.CreateCalcInfo = channel.unary_unary(
+                '/com.smiles.CalcInfoService/CreateCalcInfo',
+                
request_serializer=calc__info__pb2.CalcInfoRequest.SerializeToString,
+                response_deserializer=calc__info__pb2.CalcInfo.FromString,
+                )
+        self.UpdateCalcInfo = channel.unary_unary(
+                '/com.smiles.CalcInfoService/UpdateCalcInfo',
+                
request_serializer=calc__info__pb2.CalcInfoRequest.SerializeToString,
+                response_deserializer=calc__info__pb2.CalcInfo.FromString,
+                )
+        self.DeleteCalcInfo = channel.unary_unary(
+                '/com.smiles.CalcInfoService/DeleteCalcInfo',
+                
request_serializer=calc__info__pb2.CalcInfoRequest.SerializeToString,
+                response_deserializer=calc__info__pb2.CalcInfo.FromString,
+                )
+
+
+class CalcInfoServiceServicer(object):
+    """Missing associated documentation comment in .proto file."""
+
+    def GetCalcInfo(self, request, context):
+        """Missing associated documentation comment in .proto file."""
+        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+        context.set_details('Method not implemented!')
+        raise NotImplementedError('Method not implemented!')
+
+    def CreateCalcInfo(self, request, context):
+        """Missing associated documentation comment in .proto file."""
+        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+        context.set_details('Method not implemented!')
+        raise NotImplementedError('Method not implemented!')
+
+    def UpdateCalcInfo(self, request, context):
+        """Missing associated documentation comment in .proto file."""
+        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+        context.set_details('Method not implemented!')
+        raise NotImplementedError('Method not implemented!')
+
+    def DeleteCalcInfo(self, request, context):
+        """Missing associated documentation comment in .proto file."""
+        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+        context.set_details('Method not implemented!')
+        raise NotImplementedError('Method not implemented!')
+
+
+def add_CalcInfoServiceServicer_to_server(servicer, server):
+    rpc_method_handlers = {
+            'GetCalcInfo': grpc.unary_unary_rpc_method_handler(
+                    servicer.GetCalcInfo,
+                    
request_deserializer=calc__info__pb2.CalcInfoRequest.FromString,
+                    
response_serializer=calc__info__pb2.CalcInfo.SerializeToString,
+            ),
+            'CreateCalcInfo': grpc.unary_unary_rpc_method_handler(
+                    servicer.CreateCalcInfo,
+                    
request_deserializer=calc__info__pb2.CalcInfoRequest.FromString,
+                    
response_serializer=calc__info__pb2.CalcInfo.SerializeToString,
+            ),
+            'UpdateCalcInfo': grpc.unary_unary_rpc_method_handler(
+                    servicer.UpdateCalcInfo,
+                    
request_deserializer=calc__info__pb2.CalcInfoRequest.FromString,
+                    
response_serializer=calc__info__pb2.CalcInfo.SerializeToString,
+            ),
+            'DeleteCalcInfo': grpc.unary_unary_rpc_method_handler(
+                    servicer.DeleteCalcInfo,
+                    
request_deserializer=calc__info__pb2.CalcInfoRequest.FromString,
+                    
response_serializer=calc__info__pb2.CalcInfo.SerializeToString,
+            ),
+    }
+    generic_handler = grpc.method_handlers_generic_handler(
+            'com.smiles.CalcInfoService', rpc_method_handlers)
+    server.add_generic_rpc_handlers((generic_handler,))
+
+
+ # This class is part of an EXPERIMENTAL API.
+class CalcInfoService(object):
+    """Missing associated documentation comment in .proto file."""
+
+    @staticmethod
+    def GetCalcInfo(request,
+            target,
+            options=(),
+            channel_credentials=None,
+            call_credentials=None,
+            insecure=False,
+            compression=None,
+            wait_for_ready=None,
+            timeout=None,
+            metadata=None):
+        return grpc.experimental.unary_unary(request, target, 
'/com.smiles.CalcInfoService/GetCalcInfo',
+            calc__info__pb2.CalcInfoRequest.SerializeToString,
+            calc__info__pb2.CalcInfo.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, 
metadata)
+
+    @staticmethod
+    def CreateCalcInfo(request,
+            target,
+            options=(),
+            channel_credentials=None,
+            call_credentials=None,
+            insecure=False,
+            compression=None,
+            wait_for_ready=None,
+            timeout=None,
+            metadata=None):
+        return grpc.experimental.unary_unary(request, target, 
'/com.smiles.CalcInfoService/CreateCalcInfo',
+            calc__info__pb2.CalcInfoRequest.SerializeToString,
+            calc__info__pb2.CalcInfo.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, 
metadata)
+
+    @staticmethod
+    def UpdateCalcInfo(request,
+            target,
+            options=(),
+            channel_credentials=None,
+            call_credentials=None,
+            insecure=False,
+            compression=None,
+            wait_for_ready=None,
+            timeout=None,
+            metadata=None):
+        return grpc.experimental.unary_unary(request, target, 
'/com.smiles.CalcInfoService/UpdateCalcInfo',
+            calc__info__pb2.CalcInfoRequest.SerializeToString,
+            calc__info__pb2.CalcInfo.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, 
metadata)
+
+    @staticmethod
+    def DeleteCalcInfo(request,
+            target,
+            options=(),
+            channel_credentials=None,
+            call_credentials=None,
+            insecure=False,
+            compression=None,
+            wait_for_ready=None,
+            timeout=None,
+            metadata=None):
+        return grpc.experimental.unary_unary(request, target, 
'/com.smiles.CalcInfoService/DeleteCalcInfo',
+            calc__info__pb2.CalcInfoRequest.SerializeToString,
+            calc__info__pb2.CalcInfo.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, 
metadata)
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__init__.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/__init__.cpython-38.pyc
 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 00000000..49335ea1
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/__init__.cpython-38.pyc
 differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/admin.cpython-38.pyc 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/admin.cpython-38.pyc
new file mode 100644
index 00000000..95140b84
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/admin.cpython-38.pyc 
differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/apps.cpython-38.pyc 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/apps.cpython-38.pyc
new file mode 100644
index 00000000..eb8044fe
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/apps.cpython-38.pyc 
differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/models.cpython-38.pyc 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/models.cpython-38.pyc
new file mode 100644
index 00000000..4c472c74
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/models.cpython-38.pyc 
differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/urls.cpython-38.pyc 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/urls.cpython-38.pyc
new file mode 100644
index 00000000..5a694a9a
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/urls.cpython-38.pyc 
differ
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/views.cpython-38.pyc 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/views.cpython-38.pyc
new file mode 100644
index 00000000..a73553fa
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/__pycache__/views.cpython-38.pyc 
differ
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/admin.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/admin.py
new file mode 100644
index 00000000..8c38f3f3
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/apps.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/apps.py
new file mode 100644
index 00000000..54cff088
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class RestApiConfig(AppConfig):
+    default_auto_field = 'django.db.models.BigAutoField'
+    name = 'calcinfo'
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/migrations/__init__.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git 
a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/migrations/__pycache__/__init__.cpython-38.pyc
 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/migrations/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 00000000..1a89496c
Binary files /dev/null and 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/migrations/__pycache__/__init__.cpython-38.pyc
 differ
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/models.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/models.py
new file mode 100644
index 00000000..71a83623
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/tests.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/urls.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/urls.py
new file mode 100644
index 00000000..b3a3c591
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/urls.py
@@ -0,0 +1,7 @@
+from django.urls import path
+
+from . import views
+
+urlpatterns = [
+    path('calcinfo/', views.calcinfo),
+]
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/views.py 
b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/views.py
new file mode 100644
index 00000000..dd287665
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/calcinfo/views.py
@@ -0,0 +1,37 @@
+from django.shortcuts import render
+
+# parsing data from the client
+from rest_framework.parsers import JSONParser
+# To bypass having a CSRF token
+from django.views.decorators.csrf import csrf_exempt
+# for sending response to the client
+from django.http import HttpResponse, JsonResponse
+import calc_info_pb2
+import calc_info_pb2_grpc
+import grpc
+import json
+
+
+def getCalcInfo(channel) :
+    stub = calc_info_pb2_grpc.CalcInfoServiceStub(channel)
+    response = 
stub.GetCalcInfo(calc_info_pb2.CalcInfoRequest(calcInfoQuery="TEST1", 
calcInfo=calc_info_pb2.CalcInfo(nbasis=1001, nmo=1001, nalpha=1001, nbeta=1001, 
natom=1001, energy=1001, SMILES="TEST1001")))
+    data = {'SMILES': response.SMILES,
+            'nbasis': response.nbasis,
+            'nmo': response.nmo,
+            'nalpha': response.nalpha,
+            'nbeta': response.nbeta,
+            'natom': response.natom,
+            'energy': response.energy
+            }
+    return json.dumps(data)
+
+
+@csrf_exempt
+def calcinfo(request):
+    if(request.method == 'GET'):
+        print(request)
+        with grpc.insecure_channel('localhost:7593') as channel:
+            return JsonResponse(getCalcInfo(channel), safe=False)
+    elif(request.method == 'POST'):
+        # parse the incoming information
+        return JsonResponse("errors", status=400)
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/db.sqlite3 
b/gsoc2022/smilesdb/DjangoMiddleware/db.sqlite3
new file mode 100644
index 00000000..341f8bcf
Binary files /dev/null and b/gsoc2022/smilesdb/DjangoMiddleware/db.sqlite3 
differ
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/manage.py 
b/gsoc2022/smilesdb/DjangoMiddleware/manage.py
new file mode 100755
index 00000000..50044f97
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/manage.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+"""Django's command-line utility for administrative tasks."""
+import os
+import sys
+
+
+def main():
+    """Run administrative tasks."""
+    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 
'DjangoMiddleware.settings')
+    try:
+        from django.core.management import execute_from_command_line
+    except ImportError as exc:
+        raise ImportError(
+            "Couldn't import Django. Are you sure it's installed and "
+            "available on your PYTHONPATH environment variable? Did you "
+            "forget to activate a virtual environment?"
+        ) from exc
+    execute_from_command_line(sys.argv)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/protos/calc_info.proto 
b/gsoc2022/smilesdb/DjangoMiddleware/protos/calc_info.proto
new file mode 100644
index 00000000..04e7bfff
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/protos/calc_info.proto
@@ -0,0 +1,40 @@
+syntax = "proto3";
+
+package com.smiles;
+
+message CalcInfo{
+  //QcSchema-Properties_Info
+  int64 nbasis = 1; // The number of basis functions for the computation.      
number
+  int64 nmo = 2; //    The number of molecular orbitals for the computation.   
number
+  int64 nalpha = 3;//  The number of alpha electrons in the computation.       
number
+  int64 nbeta = 4;//   The number of beta electrons in the computation.        
number
+  int64 natom = 5; //  The number of atoms in the computation.         number
+  double energy = 6;//         The energy of the requested method, identical 
to return_value for energy computations.  number
+  string SMILES =7;
+}
+
+message CalcInfoRequest {
+  string  calcInfoQuery=1;
+  CalcInfo calcInfo=2;
+}
+
+service CalcInfoService {
+  rpc GetCalcInfo( CalcInfoRequest ) returns (CalcInfo) {}
+  rpc CreateCalcInfo( CalcInfoRequest ) returns (CalcInfo) {}
+  rpc UpdateCalcInfo( CalcInfoRequest ) returns (CalcInfo) {}
+  rpc DeleteCalcInfo( CalcInfoRequest ) returns (CalcInfo) {}
+}
+
+
+
+//python -m grpc_tools.protoc -I ./protos --python_out=. --grpc_python_out=. 
./protos/calc_info.proto
+
+
+
+
+
+
+
+
+
+
diff --git a/gsoc2022/smilesdb/DjangoMiddleware/requirements 
b/gsoc2022/smilesdb/DjangoMiddleware/requirements
new file mode 100644
index 00000000..30b851db
--- /dev/null
+++ b/gsoc2022/smilesdb/DjangoMiddleware/requirements
@@ -0,0 +1,11 @@
+asgiref==3.5.2
+backports.zoneinfo==0.2.1
+Django==4.0.5
+django-cors-headers==3.13.0
+djangorestframework==3.13.1
+grpcio==1.47.0
+grpcio-tools==1.47.0
+protobuf==3.20.1
+pytz==2022.1
+six==1.16.0
+sqlparse==0.4.2

Reply via email to