-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
105 lines (85 loc) Β· 3.03 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import audio_preprocess
import audio_record
import configparser
from config import request_source
config = configparser.ConfigParser()
config.read('./config/settings.conf')
from pyfiglet import Figlet
import requests
import getpass
from time import gmtime, strftime
## for S3
import boto3
import os
BASE_DIR = os.getcwd()
IMAGE_DIR = os.path.join(BASE_DIR, 'model_image')
AWS_ACCESS_KEY_ID = config['AWS_ACCESS']['AWS_ACCESS_KEY_ID']
AWS_SECRET_ACCESS_KEY = config['AWS_ACCESS']['AWS_SECRET_ACCESS_KEY']
AWS_DEFAULT_REGION = config['AWS_ACCESS']['AWS_DEFAULT_REGION']
AWS_BUCKET_NAME = config['AWS_ACCESS']['AWS_BUCKET_NAME']
######
## for request
import requests
########
## for insert DB
import pymysql.cursors
# connection μ 보
conn = pymysql.connect(
host = config['DB']['HOST'],
user = config['DB']['USER'],
password = config['DB']['PASSWORD'],
db = config['DB']['DB'],
charset = config['DB']['CHARSET']
)
url = request_source.URL
payload = request_source.PAYLOAD
headers = request_source.HEADER
######
client = boto3.client('s3',
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
region_name=AWS_DEFAULT_REGION
)
s3 = boto3.resource('s3')
buckets = s3.Bucket(name=AWS_BUCKET_NAME)
file_path = os.path.join(IMAGE_DIR, 'test.png')
# μ μ₯λ λ°μ΄ν°μ μ΄λ¦ -> keyλ‘ μ¬μ©
key_name = "test.png"
userIdx = 0
def LOGIN():
global userIdx
email = input("β»οΈ Enter Your email : ")
password = getpass.getpass("β»οΈ Enter Your password : ")
data = {'email':email, 'password':password}
result = requests.post("http://13.125.146.172/user/signin",data=data)
if result.status_code == 200:
userIdx = result.json()["data"]["userIdx"] # userIdx
print("\033[1m"+"\033[32m"+"β¦ β§ Login Success-! β§ β¦"+"\033[0m")
return
else:
print("\033[1m"+"\033[31m"+"Login failed... Please check email or password"+"\033[0m")
LOGIN()
if __name__ == "__main__":
f = Figlet(font='small')
print(f.renderText('------------------'))
print(f.renderText(' Hello-! This is '))
print(f.renderText(' * Soundee *\n * Recorder *'))
print(f.renderText('------------------'))
LOGIN()
while True:
audio_preprocess.audio_preprocessing(audio_record.record("test"),"test")
with open(file_path, 'rb') as data:
buckets.upload_file(data.name, key_name)
# request
response = requests.request("POST", url, headers=headers, data = payload)
current_sound_class = response.text
if current_sound_class == 'no_class':
print("Not in class.")
print("This is",current_sound_class,"sound~!")
# insert DB
curs = conn.cursor()
sql = f"insert into sound(class,eventdate,sound_userIdx) values({current_sound_class},NOW(),{userIdx});"
curs.execute(sql)
conn.commit()