from http.server import BaseHTTPRequestHandler, HTTPServer
import urllib.parse
import json

class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        # Обработка GET запросов
        if self.path == '/':
            self.send_registration_page()
        elif self.path == '/main':
            self.send_main_page()
        elif self.path == '/purchase':
            self.send_purchase_page()
        else:
            self.send_error(404)

    def do_POST(self):
        # Обработка POST запросов
        if self.path == '/register':
            self.register_user()
        elif self.path == '/select_parts':
            self.select_parts()

    def send_registration_page(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        response = '''
            <html>
                <body>
                    <h2>Регистрация</h2>
                    <form method="post" action="/register">
                        Имя: <input type="text" name="name"><br>
                        Email: <input type="text" name="email"><br>
                        <input type="submit" value="Зарегистрироваться">
                    </form>
                </body>
            </html>
        '''
        self.wfile.write(response.encode('utf-8'))

    def send_main_page(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        response = '''
            <html>
                <body>
                    <h2>Главная страница магазина автозапчастей</h2>
                    <form method="post" action="/select_parts">
                        Марка автомобиля: <input type="text" name="brand"><br>
                        Модель автомобиля: <input type="text" name="model"><br>
                        Запчасть: <input type="text" name="part"><br>
                        Количество: <input type="number" name="quantity" min="1"><br>
                        <input type="submit" value="Выбрать запчасти">
                    </form>
                </body>
            </html>
        '''
        self.wfile.write(response.encode('utf-8'))

    def send_purchase_page(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        response = '''
            <html>
                <body>
                    <h2>Страница покупок</h2>
                    <p>Здесь вы сможете завершить покупку.</p>
                </body>
            </html>
        '''
        self.wfile.write(response.encode('utf-8'))

    def register_user(self):
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)
        form = urllib.parse.parse_qs(post_data.decode('utf-8'))
        name = form['name'][0]
        email = form['email'][0]
        # Здесь можно сохранить данные пользователя в файл или базу данных
        
        # Переход на главную страницу
        self.send_response(303)
        self.send_header('Location', '/main')
        self.end_headers()

    def select_parts(self):
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)
        form = urllib.parse.parse_qs(post_data.decode('utf-8'))
        brand = form['brand'][0]
        model = form['model'][0]
        part = form['part'][0]
        quantity = form['quantity'][0]
        # Здесь можно сохранить выбранные детали и их количество
        
        # Переход на страницу покупок
        self.send_response(303)
        self.send_header('Location', '/purchase')
        self.end_headers()

def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler, port=8080):
    server_address = ('', port)
    httpd = server_class(server_address, handler_class)
    print(f'Starting httpd server on port {port}')
    httpd.serve_forever()

if name == "main":
    run(