Commit a9558498 authored by Manoj Kumar's avatar Manoj Kumar

Merge branch 'master' of http://gitlab.sliit.lk/2020_077/2020_077 into manoj_dev

parents 52eb7220 24ef025c
This diff is collapsed.
import shutil
from flask import send_file
from reveng.processInput import checkCommon, processInput
from flask import Flask, render_template, request, redirect
import json
import sys
import os
# sys.path.append('../reveng')
REVENG_DIR = os.path.dirname(os.path.abspath(__file__))
TEMPLATE = os.path.join(REVENG_DIR, "\\templates")
STATIC = os.path.join(REVENG_DIR, "\\static")
# from reveng.test_json import printTest
app = Flask(__name__)
app.config["DEBUG"] = True
......@@ -20,6 +20,7 @@ def testApi():
##DATAQ
# route to redirect Home page
@app.route('/')
def home():
return render_template('homePage.html')
......@@ -30,13 +31,19 @@ def openCam():
## END DATAQ
# REVENG
# route to redirect About Us page
@app.route('/about')
def about():
return render_template('about.html')
# route to redirect Text Translation page
@app.route('/tts')
def textToSignLanguage():
return render_template('index.html')
from flask import send_file
# route to display GIF image to the user
@app.route('/tts/response/', methods=['POST'])
def response():
clearoutputfolder()
......@@ -45,9 +52,9 @@ def response():
return send_file(responseGIF, mimetype='image/gif')
import os, shutil
# clear the OUTPUT folder after displaying the GIF image
def clearoutputfolder():
folder = os.path.join(os.path.dirname(__file__),'reveng\output')
folder = os.path.join(os.path.dirname(__file__), 'reveng\output')
for filename in os.listdir(folder):
file_path = os.path.join(folder, filename)
try:
......@@ -59,34 +66,22 @@ def clearoutputfolder():
print('Failed to delete %s. Reason: %s' % (file_path, e))
# END REVENG
#pages
@app.route('/')
def index():
return render_template('homePage.html')
@app.route('/about')
def about():
return render_template('about.html')
@app.route('/signToText')
def signToTextEngine():
return render_template('signToText.html')
# route to redirect Sign Translation page
@app.route('/textToSign')
def textToSignEngine():
return render_template('textToSign.html')
# route to redirect Contact Us page
@app.route('/contact')
def contactUs():
return render_template('contactUs.html')
# end pages
# for testing purpose
@app.route('/signToText')
def signToTextEngine():
return render_template('signToText.html')
host = "localhost"
......
# IT17143950 16-05-2020
#1, Created
# for testing purposes... Do not edit without permission
import io
import PIL.Image as pigm
import requests
import datetime
from firebase_admin import storage
from firebase_admin import credentials
import firebase_admin
import pandas as pd
import numpy as np
import nltk
import nltk.corpus
import json
import re
import os
#import imageio
from flask import Flask, render_template, request, jsonify, redirect, url_for, send_from_directory
from processInput import processInput
from nltk.tokenize import sent_tokenize, word_tokenize
import nltk
nltk.download('punkt')
app = Flask(__name__)
REVENG = os.path.dirname(os.path.abspath(__file__))
jsonPath = os.path.join(REVENG, 'common.json')
PATH = os.path.dirname(os.path.abspath(__file__))
JSON = os.path.join(PATH, 'credentials.json')
cred = credentials.Certificate(JSON)
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route("/")
def home():
return render_template("index.html")
@app.route('/response/', methods=['POST'])
def response():
message = request.get_json()
# print(message['message'])
processInput(message['message'])
return redirect('/')
# def processInput(message):
# msg_split = message.split(" ")
# print(msg_split)
# if(len(msg_split) <= 1):
# print("This is a word")
# processWord(message)
# return True
# else:
# print("This is a sentence")
# processSentence(message)
# return True
# return False
# def processWord(message):
# message = message.lower()
# with open(jsonPath) as jsonfile:
# data = json.load(jsonfile)
# words = data['words']
# common = words['common_words']
# english = common['english']
# if message in english:
# print('Word is in the json file')
# translateCommonWord(message)
# # displayOutput()
# else:
# print('hi')
# wordArr = []
# for word in message:
# lower_case_word = word.lower()
# wordArr.append(lower_case_word)
# print(wordArr)
def processSentence(message):
message = message.lower()
with open(jsonPath) as jsonfile:
data = json.load(jsonfile)
sentences = data['sentences']
common = sentences['common_sentences']
english = common['english']
if message in english:
print('Sentence is in the json file')
sentenceImages(message)
else:
print('hi')
sentenceArr = []
for sentence in message:
lower_case_sentence = sentence.lower()
sentenceArr.append(lower_case_sentence)
print(sentenceArr)
sentenceImages(message)
def sentenceImages(sentenceArray):
imageSet = []
# storage = firebase_admin.storage
# # storage.storage.Bucket.get_blob()
# for x in range(len(sentenceArray)):
# app = firebase_admin.initialize_app(
# cred,
# {
# 'storageBucket': 'storage-9eed9.appspot.com',
# },
# name='storage')
# bucket = storage.bucket(app=app)
# blob = bucket.blob(sentenceArray[x] + "0" + x + ".jpg")
# url = blob.generate_signed_url(
# datetime.timedelta(seconds=300), method='GET')
# response = requests.get(url)
# image_bytes = io.BytesIO(response.content)
# imageSet.append(image_bytes)
# for x in imageSet:
# img = pigm.open(x)
# img.show()
def translateCommonWord(message):
# Fetch the service account key JSON file contents
# Initialize the app with a service account, granting admin privileges
app = firebase_admin.initialize_app(
cred,
{
'storageBucket': 'storage-9eed9.appspot.com',
},
name='storage')
bucket = storage.bucket(app=app)
blob = bucket.blob(message + ".jpg")
url = blob.generate_signed_url(
datetime.timedelta(seconds=300), method='GET')
response = requests.get(url)
image_bytes = io.BytesIO(response.content)
img = pigm.open(image_bytes)
img.show()
PEOPLE_FOLDER = os.path.join('static', 'people_folder')
app.config['UPLOAD_FOLDER'] = PEOPLE_FOLDER
def displayOutput():
full_filename = os.path.join(
app.config['UPLOAD_FOLDER'], 'babyPenguine.jpg')
return render_template("index.html", user_image=full_filename)
if __name__ == "__main__":
app.run(debug=True)
import json, os, firebase_admin, datetime, requests,io
from firebase_admin import credentials
from firebase_admin import storage
import pyrebase
PATH = os.path.dirname(os.path.abspath(__file__))
JSON = os.path.join(PATH, 'credentials.json')
cred = credentials.Certificate(JSON)
......@@ -13,8 +13,6 @@ app = firebase_admin.initialize_app(
name='storage')
bucket = storage.bucket(app=app)
import pyrebase
config = {
"apiKey": "AIzaSyBEV4qObNECL9Lz-_RTOM2YLEMo5Ux7Yhk",
"authDomain": "storage-9eed9.firebaseapp.com",
......
import json, os, firebase_admin, datetime, requests,io
from firebase_admin import credentials
import json, os, datetime, requests,io
from firebase_admin import storage
from reveng.firebaseConfig import getStorageInstance
import PIL.Image as pigm
from reveng.gifMaker import generateGIF
# PATH = os.path.dirname(os.path.abspath(__file__))
# JSON = os.path.join(PATH, 'credentials.json')
# cred = credentials.Certificate(JSON)
# app = firebase_admin.initialize_app(
# cred,
# {
# 'storageBucket': 'storage-9eed9.appspot.com',
# },
# name='storage')
# bucket = storage.bucket(app=app)
# import pyrebase
# config = {
# "apiKey": "AIzaSyBEV4qObNECL9Lz-_RTOM2YLEMo5Ux7Yhk",
# "authDomain": "storage-9eed9.firebaseapp.com",
# "databaseURL": "https://storage-9eed9.firebaseio.com",
# "projectId": "storage-9eed9",
# "storageBucket": "storage-9eed9.appspot.com",
# "messagingSenderId": "613478230434",
# "serviceAccount": JSON
# }
# firebase = pyrebase.initialize_app(config)
# store = firebase.storage()
from gcloud.storage.blob import Blob
Blob.generate_signed_url
......
......@@ -23,7 +23,7 @@ from reveng.firebaseConfig import getStorageInstance
def checkCommon(message):
return checkInJson(message)
################## FIREBASE CONFIG ##################
################## FIREBASE CONFIG ##########################
store = getStorageInstance()
###############################################################
......@@ -56,7 +56,6 @@ def checkInCommonWord(word):
def processInput(message):
message = message.lower()
print(len(message.split(" ")))
if len(message.split(" ")) >= 2:
if checkInCommonSentence(message):
return processCommonSentence(message)
......@@ -77,16 +76,13 @@ def processInput(message):
break
else:
count = 0
for letter in list(item):
print ("Length ", len(i.name))
if i.name.startswith(letter) and len(i.name) < 9:
print ("image name =" + i.name)
imageArray.append(i)
break
#break
for i in imageArray:
url = i.generate_signed_url(datetime.timedelta(300), method = 'GET')
response = requests.get(url)
......@@ -94,10 +90,3 @@ def processInput(message):
img = pigm.open(imagesfromFirebase)
sendingToGIF.append(img)
return generateGIF(sendingToGIF)
def getImagesForWords(word):
if checkInCommonWord(word):
return getImagesForCommonWord(word)
else:
return getImagesForRareWord(word)
import json,os
from reveng.getImages import getImagesCommonWord
from reveng.getImages import getImagesRareWord
from reveng.gifMaker import generateGIF
REVENG = os.path.dirname(os.path.abspath(__file__))
jsonPath = os.path.join(REVENG, 'common.json')
def processWord(message):
message = message.lower()
return getImagesCommonWord(message)
# print('Word is not in json file')
# wordArr = []
# for letter in message:
# lower_case_word = letter.lower()
# wordArr.append(lower_case_word)
# imageSetArray = []
# for item in wordArr:
# imageSetArray.append(getImagesRareWord(item))
# print(type(imageSetArray[0]))
# generateGIF(imageSetArray)
# import json
# import os
# REVENG = os.path.dirname(os.path.abspath(__file__))
# jsonPath = os.path.join(REVENG, 'common.json')
# with open(jsonPath) as jsonfile:
# data = json.load(jsonfile)
# sentences = data['sentences']
# common = sentences['common_sentences']
# english = common['english']
# for i in english:
# print(i)
def printTest():
return "poda punda"
\ No newline at end of file
......@@ -167,5 +167,11 @@
<!-- Main Script -->
<script src="static/js/script.js"></script>
<script>
$("#inlineFormInput").keypress(function(e){
})
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment