mirror of
https://github.com/UofCBaja/BajaCloud.git
synced 2025-06-15 13:14:17 -06:00
Docker testing
This commit is contained in:
parent
58f913d3ed
commit
845438960b
@ -1,44 +1,33 @@
|
||||
import pandas as pd
|
||||
import yaml
|
||||
import time
|
||||
from http.server import BaseHTTPRequestHandler, HTTPServer
|
||||
|
||||
# Load the YAML file
|
||||
with open("./interview_database.yaml", 'r') as file:
|
||||
interview_data = yaml.safe_load(file)
|
||||
hit_count = 0 # In-memory counter
|
||||
|
||||
# Access the nested structure within 'Data'
|
||||
flattened_data = []
|
||||
for date, date_info in interview_data['Data'].items():
|
||||
meeting_duration = date_info.get('Meeting Duration')
|
||||
def get_hit_count():
|
||||
global hit_count
|
||||
hit_count += 1
|
||||
return hit_count
|
||||
|
||||
for start_time_info in date_info.get('Meeting Start Times', []):
|
||||
for start_time, meeting_info in start_time_info.items():
|
||||
interviewer_name = meeting_info['Interviewer'][0].get('Name')
|
||||
interviewer_email = meeting_info['Interviewer'][1].get('Email')
|
||||
interviewee_name = meeting_info['Interviewee'][0].get('Name')
|
||||
interviewee_email = meeting_info['Interviewee'][1].get('Email')
|
||||
category = meeting_info.get('Category')
|
||||
status = meeting_info.get('Status')
|
||||
slot = meeting_info.get('Slot')
|
||||
class RequestHandler(BaseHTTPRequestHandler):
|
||||
def do_GET(self):
|
||||
if self.path == '/':
|
||||
count = get_hit_count()
|
||||
response = f'Hello World! I have been seen {count} times.\n'
|
||||
self.send_response(200)
|
||||
self.send_header('Content-type', 'text/plain')
|
||||
self.end_headers()
|
||||
self.wfile.write(response.encode('utf-8'))
|
||||
else:
|
||||
self.send_response(404)
|
||||
self.send_header('Content-type', 'text/plain')
|
||||
self.end_headers()
|
||||
self.wfile.write(b'Not Found\n')
|
||||
|
||||
# Add flattened row to list
|
||||
flattened_data.append({
|
||||
'Date': date,
|
||||
'Meeting Duration': meeting_duration,
|
||||
'Start Time': start_time,
|
||||
'Interviewer Name': interviewer_name,
|
||||
'Interviewer Email': interviewer_email,
|
||||
'Interviewee Name': interviewee_name,
|
||||
'Interviewee Email': interviewee_email,
|
||||
'Category': category,
|
||||
'Status': status,
|
||||
'Slot': slot
|
||||
})
|
||||
def run(server_class=HTTPServer, handler_class=RequestHandler, port=8000):
|
||||
server_address = ('', port)
|
||||
httpd = server_class(server_address, handler_class)
|
||||
print(f'Starting server on port {port}...')
|
||||
httpd.serve_forever()
|
||||
|
||||
# Convert to DataFrame if flattened data is not empty
|
||||
if flattened_data:
|
||||
df = pd.DataFrame(flattened_data)
|
||||
# Write the DataFrame to an Excel file
|
||||
df.to_excel("interview_database.xlsx", index=False)
|
||||
print("Data has been written to interview_database.xlsx")
|
||||
else:
|
||||
print("No data found to write.")
|
||||
if __name__ == '__main__':
|
||||
run()
|
||||
|
8
composetest/Dockerfile
Normal file
8
composetest/Dockerfile
Normal file
@ -0,0 +1,8 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM python:3.10-slim
|
||||
WORKDIR /code
|
||||
COPY requirements.txt requirements.txt
|
||||
RUN pip install -r requirements.txt
|
||||
EXPOSE 5000
|
||||
COPY . .
|
||||
CMD ["python", "app.py"]
|
33
composetest/app.py
Normal file
33
composetest/app.py
Normal file
@ -0,0 +1,33 @@
|
||||
import time
|
||||
from http.server import BaseHTTPRequestHandler, HTTPServer
|
||||
|
||||
hit_count = 0 # In-memory counter
|
||||
|
||||
def get_hit_count():
|
||||
global hit_count
|
||||
hit_count += 1
|
||||
return hit_count
|
||||
|
||||
class RequestHandler(BaseHTTPRequestHandler):
|
||||
def do_GET(self):
|
||||
if self.path == '/':
|
||||
count = get_hit_count()
|
||||
response = f'Hello World! I have been seen {count} times.\n'
|
||||
self.send_response(200)
|
||||
self.send_header('Content-type', 'text/plain')
|
||||
self.end_headers()
|
||||
self.wfile.write(response.encode('utf-8'))
|
||||
else:
|
||||
self.send_response(404)
|
||||
self.send_header('Content-type', 'text/plain')
|
||||
self.end_headers()
|
||||
self.wfile.write(b'Not Found\n')
|
||||
|
||||
def run(server_class=HTTPServer, handler_class=RequestHandler, port=8000):
|
||||
server_address = ('', port)
|
||||
httpd = server_class(server_address, handler_class)
|
||||
print(f'Starting server on port {port}...')
|
||||
httpd.serve_forever()
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
8
composetest/docker-compose.yaml
Normal file
8
composetest/docker-compose.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
services:
|
||||
web:
|
||||
container_name: test
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- ./:/code
|
0
composetest/requirements.txt
Normal file
0
composetest/requirements.txt
Normal file
Loading…
x
Reference in New Issue
Block a user