diff --git a/.gitignore b/.gitignore index 03acaca..6b12b19 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,7 @@ cognitive.py yoga app functn1.js functn1.py -das.html \ No newline at end of file +das.html +requirements.txt +sshkey.txt +sshkey.txt.pub diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/__pycache__/transcribe.cpython-39.pyc b/__pycache__/transcribe.cpython-39.pyc index 94870e5..0cc087e 100644 Binary files a/__pycache__/transcribe.cpython-39.pyc and b/__pycache__/transcribe.cpython-39.pyc differ diff --git a/base/__pycache__/urls.cpython-39.pyc b/base/__pycache__/urls.cpython-39.pyc index 5d11d10..538ae16 100644 Binary files a/base/__pycache__/urls.cpython-39.pyc and b/base/__pycache__/urls.cpython-39.pyc differ diff --git a/base/__pycache__/views.cpython-39.pyc b/base/__pycache__/views.cpython-39.pyc index 63adffa..d602bfe 100644 Binary files a/base/__pycache__/views.cpython-39.pyc and b/base/__pycache__/views.cpython-39.pyc differ diff --git a/base/migrations/0001_initial.py b/base/migrations/0001_initial.py deleted file mode 100644 index 6813cff..0000000 --- a/base/migrations/0001_initial.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-18 02:42 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Task', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=200)), - ('tags', models.CharField(max_length=200)), - ('time', models.CharField(max_length=200, null=True)), - ('date', models.CharField(max_length=200, null=True)), - ('location', models.CharField(max_length=200, null=True)), - ('stakeholders_if', models.CharField(max_length=200, null=True)), - ('category', models.CharField(max_length=200)), - ('priority', models.CharField(max_length=200)), - ], - ), - ] diff --git a/base/migrations/0002_remove_task_category_remove_task_date_and_more.py b/base/migrations/0002_remove_task_category_remove_task_date_and_more.py deleted file mode 100644 index 95b2e86..0000000 --- a/base/migrations/0002_remove_task_category_remove_task_date_and_more.py +++ /dev/null @@ -1,67 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-18 14:32 - -import datetime -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='task', - name='category', - ), - migrations.RemoveField( - model_name='task', - name='date', - ), - migrations.RemoveField( - model_name='task', - name='location', - ), - migrations.RemoveField( - model_name='task', - name='priority', - ), - migrations.RemoveField( - model_name='task', - name='stakeholders_if', - ), - migrations.RemoveField( - model_name='task', - name='tags', - ), - migrations.RemoveField( - model_name='task', - name='time', - ), - migrations.CreateModel( - name='Desc', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('desc', models.TextField()), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.task')), - ], - ), - migrations.CreateModel( - name='Date', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateField(default=datetime.date.today)), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.task')), - ], - ), - migrations.CreateModel( - name='Category', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=200)), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.task')), - ], - ), - ] diff --git a/base/migrations/0003_remove_category_task_remove_date_task_task_category_and_more.py b/base/migrations/0003_remove_category_task_remove_date_task_task_category_and_more.py deleted file mode 100644 index 96c65d2..0000000 --- a/base/migrations/0003_remove_category_task_remove_date_task_task_category_and_more.py +++ /dev/null @@ -1,40 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-18 14:57 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0002_remove_task_category_remove_task_date_and_more'), - ] - - operations = [ - migrations.RemoveField( - model_name='category', - name='task', - ), - migrations.RemoveField( - model_name='date', - name='task', - ), - migrations.AddField( - model_name='task', - name='category', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='base.category'), - ), - migrations.AddField( - model_name='task', - name='date', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='base.date'), - ), - migrations.AddField( - model_name='task', - name='desc', - field=models.TextField(blank=True, null=True), - ), - migrations.DeleteModel( - name='Desc', - ), - ] diff --git a/base/migrations/0004_alter_task_date_delete_date.py b/base/migrations/0004_alter_task_date_delete_date.py deleted file mode 100644 index e699aed..0000000 --- a/base/migrations/0004_alter_task_date_delete_date.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-18 15:03 - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0003_remove_category_task_remove_date_task_task_category_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='task', - name='date', - field=models.DateField(default=datetime.date.today), - ), - migrations.DeleteModel( - name='Date', - ), - ] diff --git a/base/migrations/0005_remove_task_date_remove_task_desc_desc_date.py b/base/migrations/0005_remove_task_date_remove_task_desc_desc_date.py deleted file mode 100644 index ce65de8..0000000 --- a/base/migrations/0005_remove_task_date_remove_task_desc_desc_date.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-18 15:57 - -import datetime -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0004_alter_task_date_delete_date'), - ] - - operations = [ - migrations.RemoveField( - model_name='task', - name='date', - ), - migrations.RemoveField( - model_name='task', - name='desc', - ), - migrations.CreateModel( - name='Desc', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('desc', models.TextField(blank=True, null=True)), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.task')), - ], - ), - migrations.CreateModel( - name='Date', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateField(default=datetime.date.today, null=True)), - ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.task')), - ], - ), - ] diff --git a/base/migrations/0006_remove_desc_task_task_date_task_desc_delete_date_and_more.py b/base/migrations/0006_remove_desc_task_task_date_task_desc_delete_date_and_more.py deleted file mode 100644 index 749c9cf..0000000 --- a/base/migrations/0006_remove_desc_task_task_date_task_desc_delete_date_and_more.py +++ /dev/null @@ -1,34 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-18 16:15 - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0005_remove_task_date_remove_task_desc_desc_date'), - ] - - operations = [ - migrations.RemoveField( - model_name='desc', - name='task', - ), - migrations.AddField( - model_name='task', - name='date', - field=models.DateField(default=datetime.date.today, null=True), - ), - migrations.AddField( - model_name='task', - name='desc', - field=models.TextField(blank=True, null=True), - ), - migrations.DeleteModel( - name='Date', - ), - migrations.DeleteModel( - name='Desc', - ), - ] diff --git a/base/migrations/0007_alter_task_category_delete_category.py b/base/migrations/0007_alter_task_category_delete_category.py deleted file mode 100644 index 2eea453..0000000 --- a/base/migrations/0007_alter_task_category_delete_category.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-18 20:36 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0006_remove_desc_task_task_date_task_desc_delete_date_and_more'), - ] - - operations = [ - migrations.AlterField( - model_name='task', - name='category', - field=models.CharField(max_length=200, null=True), - ), - migrations.DeleteModel( - name='Category', - ), - ] diff --git a/base/migrations/0008_alter_task_options_task_created_time.py b/base/migrations/0008_alter_task_options_task_created_time.py deleted file mode 100644 index 38fc02a..0000000 --- a/base/migrations/0008_alter_task_options_task_created_time.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-20 06:38 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0007_alter_task_category_delete_category'), - ] - - operations = [ - migrations.AlterModelOptions( - name='task', - options={'ordering': ['-created_time']}, - ), - migrations.AddField( - model_name='task', - name='created_time', - field=models.DateTimeField(auto_now_add=True, null=True), - ), - ] diff --git a/base/migrations/0009_alter_task_options_remove_task_created_time_and_more.py b/base/migrations/0009_alter_task_options_remove_task_created_time_and_more.py deleted file mode 100644 index f0c3ca4..0000000 --- a/base/migrations/0009_alter_task_options_remove_task_created_time_and_more.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 4.1.7 on 2023-04-20 07:04 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('base', '0008_alter_task_options_task_created_time'), - ] - - operations = [ - migrations.AlterModelOptions( - name='task', - options={'ordering': ['-date']}, - ), - migrations.RemoveField( - model_name='task', - name='created_time', - ), - migrations.AlterField( - model_name='task', - name='date', - field=models.DateTimeField(auto_now_add=True, null=True), - ), - ] diff --git a/base/migrations/__pycache__/0001_initial.cpython-39.pyc b/base/migrations/__pycache__/0001_initial.cpython-39.pyc index 15623df..a83e89b 100644 Binary files a/base/migrations/__pycache__/0001_initial.cpython-39.pyc and b/base/migrations/__pycache__/0001_initial.cpython-39.pyc differ diff --git a/base/templates/base/dashboard.html b/base/templates/base/dashboard.html index 032f43b..7de8a93 100644 --- a/base/templates/base/dashboard.html +++ b/base/templates/base/dashboard.html @@ -21,7 +21,7 @@

Dashboard Template

{% block scripts %} {% endblock %} - {% endblock content %} diff --git a/base/views.py b/base/views.py index 6ea321a..12d2349 100644 --- a/base/views.py +++ b/base/views.py @@ -1,7 +1,8 @@ -import api_key +# import api_key import transcribe import openai -import cognitive +import os +# import cognitive from django.http import JsonResponse from .models import Task from django.shortcuts import render @@ -11,34 +12,57 @@ from django.shortcuts import render from django.views.decorators.csrf import csrf_exempt from django.http import HttpResponse -from django.shortcuts import render -from azure.cognitiveservices.speech import AudioDataStream, SpeechConfig, SpeechRecognizer, ResultReason -from azure.cognitiveservices.speech.audio import AudioOutputConfig - +import logging +import traceback sys.path.append('..') +# Create a logger instance +logger = logging.getLogger(__name__) + def commandfn(): - if True: - openai.api_key = api_key.api - input_text = transcribe.from_mic() - tasks = ner(input_text) - print(tasks) - return tasks + try: + logger.debug("Inside commandfn") + if True: + openai.api_key = os.environ.get('api') + input_text = transcribe.from_mic() + tasks = ner(input_text) + print(tasks) + return tasks + except Exception as e: + logger.error("An error occurred in commandfn:") + logger.error(str(e)) + logger.error(traceback.format_exc()) + + +# def call_function(request): +# # Call your desired Python function or perform any other actions +# result = commandfn() + +# # Return the result as a JSON response +# response = {'result': result} +# # print(response) +# task = Task(name=result['name'], desc=result['desc'], +# category=result['category']) +# task.save() +# return JsonResponse(response) +def call_function(request): + try: + logger.debug("Inside call_function") + result = commandfn() + response = {'result': result} + task = Task(name=result['name'], + desc=result['desc'], category=result['category']) + task.save() -def call_function(request): - # Call your desired Python function or perform any other actions - result = commandfn() + return JsonResponse(response) - # Return the result as a JSON response - response = {'result': result} - # print(response) - task = Task(name=result['name'], desc=result['desc'], - category=result['category']) - task.save() - return JsonResponse(response) + except Exception as e: + logger.error("An error occurred in call_function:") + logger.error(str(e)) + logger.error(traceback.format_exc()) def ner(input_text): @@ -70,7 +94,7 @@ def dashboard(request): # task.save() # context = {'tasks': tasks} - return render(request, 'base/Dashboard.html') + return render(request, 'base/dashboard.html') def tab1(request): diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..f08a709 --- /dev/null +++ b/build.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# exit on error +set -o errexit + +poetry install + +python manage.py collectstatic --no-input +python manage.py makemigrations +python manage.py migrate \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 deleted file mode 100644 index efccb22..0000000 Binary files a/db.sqlite3 and /dev/null differ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..afe2451 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,40 @@ +[tool.poetry] +name = "tasktodo" +version = "0.1.0" +description = "" +authors = ["Farzeena P A "] +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.9" +django = "^3.2" +dj-database-url = "^2.0.0" +psycopg2-binary = "^2.9.6" +whitenoise = {extras = ["brotli"], version = "^6.4.0"} +gunicorn = "^20.1.0" + +azure-cognitiveservices-speech = "1.26.0" +openai="0.27.4" + + +requests = "2.28.2" + + +toml = "0.10.2" +toolz = "0.12.0" +tornado = "6.2" +tqdm = "4.64.1" +traitlets = "5.9.0" +typing_extensions = "4.5.0" +tzdata = "2022.7" +tzlocal = "4.3" +urllib3 = "1.26.14" +validators = "0.20.0" +virtualenv = "20.21.0" + +whisper = "1.1.10" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 159aaae..0000000 --- a/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -azure-cognitiveservices-speech==1.23.0 -django==3.2.4 -requests==2.26.0 - diff --git a/smtvideo.mp4 b/smtvideo.mp4 new file mode 100644 index 0000000..9aa5852 Binary files /dev/null and b/smtvideo.mp4 differ diff --git a/tasktodo/__pycache__/settings.cpython-39.pyc b/tasktodo/__pycache__/settings.cpython-39.pyc index 2b70654..9ca455e 100644 Binary files a/tasktodo/__pycache__/settings.cpython-39.pyc and b/tasktodo/__pycache__/settings.cpython-39.pyc differ diff --git a/tasktodo/__pycache__/wsgi.cpython-39.pyc b/tasktodo/__pycache__/wsgi.cpython-39.pyc index cbb63aa..b62a8d5 100644 Binary files a/tasktodo/__pycache__/wsgi.cpython-39.pyc and b/tasktodo/__pycache__/wsgi.cpython-39.pyc differ diff --git a/tasktodo/settings.py b/tasktodo/settings.py index 58a98d2..626c962 100644 --- a/tasktodo/settings.py +++ b/tasktodo/settings.py @@ -11,6 +11,9 @@ """ from pathlib import Path +import dj_database_url + +import os # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -20,15 +23,18 @@ # See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-)l8+h(av2mwgylupk5#x$ia0-p6^j%@ao5%*sv0rg&h6xp+fc1' +SECRET_KEY = os.environ.get('SECRET_KEY', default='your secret key') # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True +DEBUG = 'RENDER' not in os.environ +# DEBUG = True +# https://docs.djangoproject.com/en/3.0/ref/settings/#allowed-hosts ALLOWED_HOSTS = [] - -# Application definition +RENDER_EXTERNAL_HOSTNAME = os.environ.get('RENDER_EXTERNAL_HOSTNAME') +if RENDER_EXTERNAL_HOSTNAME: + ALLOWED_HOSTS.append(RENDER_EXTERNAL_HOSTNAME) INSTALLED_APPS = [ 'django.contrib.admin', @@ -41,6 +47,7 @@ ] MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', + 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -75,11 +82,15 @@ # Database # https://docs.djangoproject.com/en/4.1/ref/settings/#databases +# Database +# https://docs.djangoproject.com/en/3.0/ref/settings/#databases + + DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', - } + 'default': dj_database_url.config( + default='postgres://first_postgresql_2qhy_user:d46cCX1Nxo1vjfkSl5hsNrjCBUSyy1KE@dpg-chuucae7avj345fejf2g-a/first_postgresql_2qhy', + conn_max_age=600, + ) } @@ -118,8 +129,21 @@ # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/4.1/howto/static-files/ +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.0/howto/static-files/ + +# This setting tells Django at which URL static files are going to be served to the user. +# Here, they well be accessible at your-domain.onrender.com/static/... +STATIC_URL = '/static/' + +# Following settings only make sense on production and may break development environments. +if not DEBUG: # Tell Django to copy statics to the `staticfiles` directory + # in your application directory on Render. + STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') + # Turn on WhiteNoise storage backend that takes care of compressing static files + # and creating unique names for each version so they can safely be cached forever. + STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' -STATIC_URL = 'static/' # Default primary key field type # https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field diff --git a/tasktodo/wsgi.py b/tasktodo/wsgi.py index 3d28df8..1866e4a 100644 --- a/tasktodo/wsgi.py +++ b/tasktodo/wsgi.py @@ -14,3 +14,4 @@ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tasktodo.settings') application = get_wsgi_application() +# app = application diff --git a/templates/main.html b/templates/main.html index f74b32c..e36a6b2 100644 --- a/templates/main.html +++ b/templates/main.html @@ -1,3 +1,4 @@ +{% load static %} diff --git a/transcribe.py b/transcribe.py index d97d529..82b5360 100644 --- a/transcribe.py +++ b/transcribe.py @@ -1,10 +1,11 @@ import azure.cognitiveservices.speech as speechsdk -import cognitive +# import cognitive +import os def from_mic(): speech_config = speechsdk.SpeechConfig( - subscription=cognitive.subscription, region=cognitive.region) + subscription=os.environ.get('subscription'), region=os.environ.get('region')) speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config) print("plz command")