corpus_web/content/apercu_jsonl.html

90 lines
No EOL
3.1 KiB
HTML

[(#REM)
affichage en boucle DATA des premières et dernières lignes des fichiers JSONL stockés dans un répertoire corpus
on fait tout un tas de traitements en fonction du type de donnée par champ pour essayer d'afficher qq chose de "lisible par un humain"
]
<h1>Aperçu d'un lot de fichiers JSONL</h1>
<p>Chargement des fichiers Jsonl après leur décompaction et affichage du contenu de leur 1ère et dernière ligne</p>
<div class="la_une">
<ul>
<BOUCLE_corpus(DATA){source ls, #CHEMIN{tmp}/#CONFIG{corpus_web/repertoire_apercu,apercu_jsonl}/*}{par basename}>
<li>
#SET{liste_lignes,#LISTE{1}} #SET{trop_gros,#CONFIG{corpus_web/taille_max}|mult{1000000}} [(#REM) trop gros = 100Mo ]
#SET{nb_lignes, #FILE|nombre_ligne} [(#GET{nb_lignes}|!={1}|oui) #SET{liste_lignes,#LISTE{1,#GET{nb_lignes}}}]
<h3 class="spip[ (#SIZE|>{#GET{trop_gros}}|oui)non_traite]">
[(#FILE|basename)] : [(#GET{nb_lignes}) [(#GET{nb_lignes}|singulier_ou_pluriel{page,pages})]] <small>([(#SIZE|human_filesize)o])</small>
[ (#SIZE|>{#GET{trop_gros}}|oui)<div>fichier trop gros pour traitement basique</div>]
</h3>
<BOUCLE_2lignes(DATA){liste #GET{liste_lignes}}{si #SIZE|<{#GET{trop_gros}}}>
[(#SET{num_ligne,[(#COMPTEUR_BOUCLE|=={1}|?{1,#GET{nb_lignes}})]})]
<div>
<h4 class="aff_masq">Page #VALEUR :</h4>
<div class="details">
[(#SET{content,[(#FILE|affiche_ligne{#GET{num_ligne}}|json_decode{true})]})]
<ul>
<li>
<div class="aff_masq">Contenu brut :</div>
<textarea class="details">[(#FILE|affiche_ligne{#GET{num_ligne}})]</textarea>
</li>
<BOUCLE_content(DATA){source table, #GET{content}}>
[(#CLE|=={htmlBytes}|oui)
<li>
<div class="aff_masq">[(#CLE)] = HTML de la page : </div>
<div class="details js-hidden">
<textarea class="details">[(#VALEUR|base64_decode|replace{<,&lt;}|replace{>,&gt;})]</textarea>
</div>
</li>
<li>
<div class="aff_masq">Titraille :</div>
<textarea class="details">[(#VALEUR|base64_decode|affiche_titraille)]</textarea>
</li>
]
[(#CLE|=={htmlBytes}|non)
<li>
<div class="aff_masq">[(#CLE)] : </div>
<div class="details">
[(#VALEUR|print|replace{<br />,§§}|replace{<,&lt;}|replace{>,&gt;}|replace{§§,<br>})]
</div>
</li>
]
</BOUCLE_content>
</ul>
</div>
</div>
</BOUCLE_2lignes>
</li>
</BOUCLE_corpus>
</ul>
</div>
<script type="text/javascript">
jQuery(function () {
$('.aff_masq').each(function() {
$(this).siblings('.details').toggleClass('js-hidden');
});
$('.aff_masq').on('click', function() {
$(this).siblings('.details').toggleClass('js-hidden');
});
});
</script>
<style type="text/css" media="screen">
.aff_masq {
cursor: pointer;
font-weight: bold;
}
.aff_masq:hover {
background-color: #DDD;
}
.details br:first-of-type {
display: none;
}
textarea {
width: 100%;
height: 200px;
}
.non_traite {
color: #777;
}
</style>