From 845438960bd5621dae89e90cb8a035c9fb076511 Mon Sep 17 00:00:00 2001 From: HamodiGit Date: Sat, 23 Nov 2024 12:01:28 -0700 Subject: [PATCH] Docker testing --- ConversionToExcel.py | 71 ++++++++++++++------------------- composetest/Dockerfile | 8 ++++ composetest/app.py | 33 +++++++++++++++ composetest/docker-compose.yaml | 8 ++++ composetest/requirements.txt | 0 5 files changed, 79 insertions(+), 41 deletions(-) create mode 100644 composetest/Dockerfile create mode 100644 composetest/app.py create mode 100644 composetest/docker-compose.yaml create mode 100644 composetest/requirements.txt diff --git a/ConversionToExcel.py b/ConversionToExcel.py index 2b6e9e9..69e5c83 100644 --- a/ConversionToExcel.py +++ b/ConversionToExcel.py @@ -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') - - 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') - - # 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 get_hit_count(): + global hit_count + hit_count += 1 + return hit_count -# 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.") +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() diff --git a/composetest/Dockerfile b/composetest/Dockerfile new file mode 100644 index 0000000..8505363 --- /dev/null +++ b/composetest/Dockerfile @@ -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"] \ No newline at end of file diff --git a/composetest/app.py b/composetest/app.py new file mode 100644 index 0000000..69e5c83 --- /dev/null +++ b/composetest/app.py @@ -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() diff --git a/composetest/docker-compose.yaml b/composetest/docker-compose.yaml new file mode 100644 index 0000000..c24417b --- /dev/null +++ b/composetest/docker-compose.yaml @@ -0,0 +1,8 @@ +services: + web: + container_name: test + build: . + ports: + - "8000:8000" + volumes: + - ./:/code diff --git a/composetest/requirements.txt b/composetest/requirements.txt new file mode 100644 index 0000000..e69de29