-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsimple2.py
42 lines (32 loc) · 1.22 KB
/
simple2.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
from http.server import SimpleHTTPRequestHandler, HTTPServer
from pathlib import Path
import socket
def create_media_folder():
home_dir = Path.home()
downloads_dir = home_dir / "Downloads"
media_dir = downloads_dir / "media"
if not media_dir.exists():
media_dir.mkdir(parents=True)
return media_dir
# Créer le dossier media
media_dir = create_media_folder()
# Définir le répertoire de base pour le serveur HTTP
class CustomHandler(SimpleHTTPRequestHandler):
def translate_path(self, path):
# Définir le chemin racine pour servir les fichiers
path = super().translate_path(path)
relpath = Path(path).relative_to(Path.cwd())
return str(media_dir / relpath)
def end_headers(self):
if not self.path.endswith('/'):
self.send_header('Content-Disposition', 'attachment')
super().end_headers()
# Configuration du serveur
server_address = ('', 8000) # Écoute sur le port 8000
httpd = HTTPServer(server_address, CustomHandler)
# Obtenir l'adresse IP locale
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
print(f"Serving HTTP on http://{local_ip}:8000 from {media_dir}...")
# Démarrer le serveur
httpd.serve_forever()