integration of view_log in home template
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>untitled</title>
|
||||
</head>
|
||||
@@ -1,769 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>untitled</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class=WordSection1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1><b>
|
||||
|
||||
Festival des 3 Continents, Nantes 24.11 - 3.12 2023</b></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2><b>
|
||||
|
||||
Anthologie du cinéma vietnamien</b></h2>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2>19 films vietnamiens
|
||||
|
||||
|
||||
|
||||
de 1974 à 2022</h2>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="yda_anthologie_cinema_viet_fig_3.jpg" alt="We will meet again" width="510" heigth="500"><br><br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>We will meet
|
||||
|
||||
|
||||
|
||||
again</b> / Đến hẹn lại lên - Tran Vu, 1974, 108’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Dimanche 26.11,
|
||||
|
||||
|
||||
|
||||
18:30 - Vendredi 1.12, 13:45</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Premier amour</b>
|
||||
|
||||
/ Mối tình đầu - Hai Ninh, 1977, 112’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Samedi 25.11, 13:45
|
||||
|
||||
|
||||
|
||||
- Jeudi 30.11, 20:30</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>The faces of may</b>
|
||||
|
||||
/ Tháng năm, những gương mặt- Dang Nhat Minh, 1975, 37’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="yda_anthologie_cinema_viet_fig_2.jpg" alt="Nostalgie de la campagne" width="510" heigth="500"><br><br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Nostalgie de la
|
||||
|
||||
|
||||
|
||||
campagne</b> / Thương nhớ đồng quê - Dang Nhat Minh,
|
||||
|
||||
|
||||
|
||||
1995, 116’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Mercredi 29.11,
|
||||
|
||||
|
||||
|
||||
20:30 - Vendredi 1.12, 17:00</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Chom et Sa</b>
|
||||
|
||||
/ Chom và Sa - Pham Ky Nam, 1979, 70’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Dimanche 26.11,
|
||||
|
||||
|
||||
|
||||
10:00 - Lundi 27.11, 16:15</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Hanoi through
|
||||
|
||||
|
||||
|
||||
whose eyes ?</b> / Hà Nội trong mắt ai - Tran Van
|
||||
|
||||
|
||||
|
||||
Thuy, 1982, 45’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>The story of kindness
|
||||
|
||||
|
||||
|
||||
</b>or<b> How to behave</b> / Chuyện tử tế - Tran Van
|
||||
|
||||
|
||||
|
||||
Thuy, 1987, 43’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Mardi 28.11, 16:00 -
|
||||
|
||||
|
||||
|
||||
Dimanche 3.12, 10:30</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Brothers</b>
|
||||
|
||||
/ Anh và em - Nguyen Huu Luyen & Tran Vu, 1986, 87’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Dimanche 26.11, 20:45
|
||||
|
||||
|
||||
|
||||
- Jeudi 30.11, 18:30</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>La fille du
|
||||
|
||||
|
||||
|
||||
fleuve</b> / Cô gái trên sông - Dang Nhat Minh, 1987, 100’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Samedi 25.11, 20:45
|
||||
|
||||
|
||||
|
||||
- Jeudi 30.11, 10:15</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Troupe de cirque
|
||||
|
||||
|
||||
|
||||
ambulant</b> / Gánh xiếc rong - Viet Linh, 1988, 80’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Lundi 27.11, 17:30 -
|
||||
|
||||
|
||||
|
||||
Dimanche 3.12, 17:30</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Fairytale for a
|
||||
|
||||
|
||||
|
||||
17-year-old girl</b> / Chuyện cổ tích cho tuổi 17 -
|
||||
|
||||
|
||||
|
||||
Nguyen Xuan Son, 1988, 77’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Mercredi 29.11,
|
||||
|
||||
|
||||
|
||||
13 :00 - Samedi 2.12, 13 :00</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>La lampe dans le
|
||||
|
||||
|
||||
|
||||
rêve</b> / Ngọn đèn trong mơ - Do Minh Tuan, 1988, 75’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Mardi 28.11, 10:15 -
|
||||
|
||||
|
||||
|
||||
Vendredi 1.12, 18:45</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Money,
|
||||
|
||||
|
||||
|
||||
Money !</b> / Tiền ơi ! - Tran Vu & Nguyen
|
||||
|
||||
|
||||
|
||||
Huu Luyen, 1989, 93’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Dimanche 26.11,
|
||||
|
||||
|
||||
|
||||
15:30 - Samedi 2.12, 15:45</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Enfance orageuse</b>
|
||||
|
||||
/ Tuổi thơ dữ dội - Nguyen Vinh Son, 1990, 135’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Lundi 27.11, 13:30 -
|
||||
|
||||
|
||||
|
||||
Samedi 2.12, 20:30</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>PLease forgive me</b>
|
||||
|
||||
/ Hãy tha thứ cho em - Luu Trong Ninh, 1992, 90’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Lundi 27.11, 18:30 -
|
||||
|
||||
|
||||
|
||||
Mercredi 29.11, 18:15</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Piège d’amour</b>
|
||||
|
||||
/ Cạm bảy tình yêu - Pham Loc, 1992, 82’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Lundi 27.11, 10:30 -
|
||||
|
||||
|
||||
|
||||
Mercredi 29.11, 14:45</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>In the lane</b>
|
||||
|
||||
/ Ngõ hẹp - Bach Diep, 1993, 98’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Samedi 25.11, 10:15
|
||||
|
||||
|
||||
|
||||
- Mardi 28.11, 14:00</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="yda_anthologie_cinema_viet_fig_4.jpg" alt="L’Immeuble" width="510" heigth="500"><br><br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>L’Immeuble</b>
|
||||
|
||||
/ Chung cư - Viet Linh, 1999, 90’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Samedi 25.11, 16:15
|
||||
|
||||
|
||||
|
||||
- Mercredi 29.11, 15:00</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<img src="yda_anthologie_cinema_viet_fig_1.jpg" alt="Dust & metal" width="510" heigth="510"><br><br>
|
||||
|
||||
|
||||
|
||||
<p align="justify"><b>Dust & metal</b>
|
||||
|
||||
/ Cát bụi và kim loại - Esther Johnson, 2022, 83’</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Vendredi 1.12, 20:30
|
||||
|
||||
|
||||
|
||||
- Dimanche 3.12, 18:00</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Anthologie du cinéma vietnamien :</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">
|
||||
|
||||
https://www.3continents.com/fr/programme/2023/anthologie-du-cinema-vietnamien/</a></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">Programme 2023, horaires et lieux :</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify">
|
||||
|
||||
https://www.3continents.com/wp-content/uploads/f3c-prog-2023-40p-net-planche.pdf</a></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="justify"> </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="pDebug">
|
||||
|
||||
<div id="pDebugToolbarHandle">
|
||||
|
||||
<a title="Show Toolbar" id="pShowToolBarButton"
|
||||
>
|
||||
«</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
2023-11-29 17:22:16 [ Nantes_anthologie_cinema_viet.htm ] *** Cleanup réussi. ***
|
||||
2023-11-29 17:23:56 [ Screenshot 2023-11-20 at 12.07.54.png ] Le format du fichier n'est pas valide. Téléchargement refusé.
|
||||
30-11-2023 17:29 [ Nantes_anthologie_cinema_viet.htm ] *** Cleanup réussi. ***
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
<div class="well">
|
||||
<ul>
|
||||
<li>Seuls les fichiers au format <b>HTML</b> seront acceptés.</li>
|
||||
<li>Seuls les fichiers au <b>format HTML</b> seront acceptés.</li>
|
||||
<li>La taille du fichier ne doit pas <b>dépasser 10 Mo</b>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -35,6 +35,11 @@
|
||||
<a class="btn btn-primary" href="{{ file_url }}" download="{{ file_name }}"><span class="glyphicon glyphicon-arrow-down"></span> Télécharger</a>
|
||||
{% endif %}
|
||||
|
||||
<hr>
|
||||
<div class="text-center">
|
||||
<a class="btn btn-link" href="{{ request.route_url('view_log') }}">[ Voir historique ]</a>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +1,48 @@
|
||||
{% extends "layout.jinja2" %}
|
||||
|
||||
{% block content %}
|
||||
{% if message %}
|
||||
<div class="alert alert-danger">
|
||||
{{ message }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<form id="view_log-form" action="{{ request.route_url('view_log') }}" method="post">
|
||||
|
||||
{% if not lines %}
|
||||
<div class="form-group">
|
||||
<input type="text" name="username" class="form-control" placeholder="Identifiant Zidol">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<input type="submit" name="form.submitted" value="Suivant" class="btn btn-primary">
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="well">
|
||||
{% for line in lines %}
|
||||
<div>{{ line }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{%if lines %}
|
||||
<form id="view_log-form" action="{{ request.route_url('view_log') }}" method="post">
|
||||
<div class="form-group">
|
||||
<button id="eraseButton" class="btn btn-link" type="submit" name="form.submitted">[ Xóa log ]</button>
|
||||
<a class="btn btn-default" href="{{ request.route_url('home') }}">
|
||||
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
|
||||
<button id="erase" class="btn btn-danger" type="submit" name="form.erased">
|
||||
<span class="glyphicon glyphicon-remove"></span> Effacer le journal</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<h2 class="font-semi-bold">Contenu du dossier TEMP</h2>
|
||||
<table id="images_list" class="table table-striped table-bordered table-condensed">
|
||||
{% for entry in files_list %}
|
||||
<tr>
|
||||
<td>{{ entry[1] }}</td>
|
||||
<td>{{ entry[0] }}</td>
|
||||
<td class="text-right">{{ entry[2] }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
{% endblock content %}
|
||||
|
||||
@@ -5,6 +5,7 @@ import shutil
|
||||
import magic
|
||||
import sys
|
||||
import datetime
|
||||
import time
|
||||
|
||||
@view_config(route_name='home', renderer='html_cleanup:templates/home.jinja2')
|
||||
def home(request):
|
||||
@@ -34,14 +35,14 @@ def process_file(request, input_file, input_name):
|
||||
# Check file mime type and size
|
||||
# and if OK, process file
|
||||
message = ''
|
||||
ext_allowed = ['text/html']
|
||||
max_size = 5 * (1024 ** 2) # 10 Mb
|
||||
EXT_ALLOWED = ['text/html']
|
||||
MAX_SIZE = 10 * (1024 ** 2) # 10 Mb
|
||||
temp_folder = request.registry.settings['temp_folder']
|
||||
logfile_name = os.path.join(temp_folder, 'errors_log')
|
||||
|
||||
mime = magic.from_buffer(input_file.read(), mime=True)
|
||||
# types de fichiers autorisés ?
|
||||
if mime not in ext_allowed:
|
||||
if mime not in EXT_ALLOWED:
|
||||
message = "Le format du fichier n'est pas valide. Téléchargement refusé."
|
||||
add_error2log(logfile_name, input_name, message)
|
||||
else:
|
||||
@@ -50,7 +51,7 @@ def process_file(request, input_file, input_name):
|
||||
filesize = input_file.tell()
|
||||
input_file.seek(0) # back to original position
|
||||
# controler la taille du fichier
|
||||
if filesize > max_size:
|
||||
if filesize > MAX_SIZE:
|
||||
message = "La taille du fichier dépasse la limite autorisée. Téléchargement refusé."
|
||||
add_error2log(logfile_name, input_name, message)
|
||||
else:
|
||||
@@ -165,7 +166,7 @@ def add_error2log(logfile_name, input_name, message):
|
||||
# Get the current date and time
|
||||
now = datetime.datetime.now()
|
||||
with open(logfile_name, 'a', encoding='utf-8') as file:
|
||||
line = now.strftime("%Y-%m-%d %H:%M:%S") + ' [ ' + input_name + ' ] ' + f'{message}\n'
|
||||
line = now.strftime("%d-%m-%Y %H:%M") + ' [ ' + input_name + ' ] ' + f'{message}\n'
|
||||
file.write(line)
|
||||
|
||||
@view_config(route_name='view_log', renderer='html_cleanup:templates/view_log.jinja2')
|
||||
@@ -174,13 +175,15 @@ def view_log(request):
|
||||
message = ''
|
||||
temp_folder = request.registry.settings['temp_folder']
|
||||
logfile_name = os.path.join(temp_folder, 'errors_log')
|
||||
users = ['minh','hvtien','dinh','giao','ctphuoc','TamCauDePiR','VHN','zidol','sautam']
|
||||
lines = []
|
||||
files_list = []
|
||||
username = ''
|
||||
|
||||
if 'form.submitted' in request.params:
|
||||
if os.path.exists(logfile_name):
|
||||
os.remove(logfile_name)
|
||||
|
||||
# Ouvrir le fichier en lecture seule
|
||||
username = request.POST.get('username')
|
||||
if username in users:
|
||||
# lire et affiche le fichier log
|
||||
try:
|
||||
file = open(logfile_name, "r")
|
||||
lines = file.readlines()
|
||||
@@ -188,8 +191,27 @@ def view_log(request):
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
# lire tous les fichiers du dossier
|
||||
for f in os.scandir(temp_folder):
|
||||
if f.name[0] != '.' and f.name != 'errors_log':
|
||||
f_path = temp_folder + f.name
|
||||
nbs = os.path.getmtime(f_path) # en nombre de secondes
|
||||
|
||||
file = []
|
||||
file.append(time.strftime("%d/%m/%Y %H:%M",time.gmtime(nbs)))
|
||||
file.append(f.name)
|
||||
file.append('%s Ko' % round(os.path.getsize(f_path) / 1024, 1))
|
||||
files_list.append(file)
|
||||
else:
|
||||
message = "Identifiant invalide !"
|
||||
|
||||
if 'form.erased' in request.params:
|
||||
if os.path.exists(logfile_name):
|
||||
os.remove(logfile_name)
|
||||
|
||||
return {
|
||||
'page_title': "HTML cleanup log",
|
||||
'page_title': "Journal de Cleanup",
|
||||
'message': message,
|
||||
'lines': lines,
|
||||
'files_list': files_list,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user