mirror of
https://framagit.org/JonathanMM/sutom.git
synced 2024-05-02 22:13:21 +02:00
Ajout d'un script automatique pour mettre à jour automatiquement la liste des mots à trouver
This commit is contained in:
parent
7fe0b2dffa
commit
5b720a50cf
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,4 +1,4 @@
|
|||
node_modules/
|
||||
js/
|
||||
public/*.txt
|
||||
data/
|
||||
ts/mots/motsATrouver.*.ts
|
||||
|
|
8
cron.sh
Normal file
8
cron.sh
Normal file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
npm install
|
||||
node utils/melangerATrouver.js
|
||||
node utils/majATrouver.js
|
||||
tsc
|
||||
cp -r public/* /var/www/sutom2/
|
||||
cp -r js/ /var/www/sutom2/
|
|
@ -8,7 +8,7 @@ var readlineSync = require("readline-sync");
|
|||
|
||||
function start() {
|
||||
let motsGardes = [];
|
||||
fs.readFile("public/mots.txt", "UTF8", function (erreur, contenu) {
|
||||
fs.readFile("data/mots.txt", "UTF8", function (erreur, contenu) {
|
||||
//console.log(erreur);
|
||||
var dictionnaire = contenu.split("\n");
|
||||
while (true) {
|
||||
|
@ -39,7 +39,7 @@ function start() {
|
|||
let isGarde = reponse.toLowerCase() === "o";
|
||||
if (isGarde) motsGardes.push(mot);
|
||||
}
|
||||
fs.appendFile("public/motsATrouve.txt", motsGardes.join("\n") + "\n", (err) => {
|
||||
fs.appendFile("data/motsATrouve.txt", motsGardes.join("\n") + "\n", (err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
|
|
41
utils/majATrouver.js
Normal file
41
utils/majATrouver.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
"use strict";
|
||||
/**
|
||||
* Petit script qui nettoie le fichier des mots à trouver pour le mettre dans le format attendu par le système
|
||||
*/
|
||||
var fs = require("fs");
|
||||
|
||||
let aujourdhui = new Date().getTime();
|
||||
let origine = new Date(2022, 0, 8).getTime();
|
||||
|
||||
let numeroGrille = Math.floor((aujourdhui - origine) / (24 * 3600 * 1000));
|
||||
|
||||
const maxFige = numeroGrille + 1; // inclus
|
||||
|
||||
fs.readFile("data/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
||||
//console.log(erreur);
|
||||
var dictionnaire = contenu.split("\n");
|
||||
let motsFiges = dictionnaire.slice(0, maxFige + 2);
|
||||
|
||||
contenu = "export default class MotsATrouver {\n";
|
||||
contenu += " public static readonly Liste: Array<string> = [\n";
|
||||
contenu += motsFiges
|
||||
.map(
|
||||
(mot) =>
|
||||
'"' +
|
||||
mot
|
||||
.normalize("NFD")
|
||||
.replace(/\p{Diacritic}/gu, "")
|
||||
.toUpperCase() +
|
||||
'",'
|
||||
)
|
||||
.join("\n");
|
||||
contenu += "\n ]";
|
||||
contenu += "\n}";
|
||||
fs.writeFile("ts/mots/motsATrouver.ts", contenu, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
//file written successfully
|
||||
});
|
||||
});
|
69
utils/melangerATrouver.js
Normal file
69
utils/melangerATrouver.js
Normal file
|
@ -0,0 +1,69 @@
|
|||
"use strict";
|
||||
/**
|
||||
* Petit script qui nettoie le fichier des mots à trouver pour le mettre dans le format attendu par le système
|
||||
*/
|
||||
var fs = require("fs");
|
||||
function shuffle(array) {
|
||||
let currentIndex = array.length,
|
||||
randomIndex;
|
||||
|
||||
// While there remain elements to shuffle...
|
||||
while (currentIndex != 0) {
|
||||
// Pick a remaining element...
|
||||
randomIndex = Math.floor(Math.random() * currentIndex);
|
||||
currentIndex--;
|
||||
|
||||
// And swap it with the current element.
|
||||
[array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
let aujourdhui = new Date().getTime();
|
||||
let origine = new Date(2022, 0, 8).getTime();
|
||||
|
||||
let numeroGrille = Math.floor((aujourdhui - origine) / (24 * 3600 * 1000));
|
||||
|
||||
const maxFige = numeroGrille + 1; // inclus
|
||||
console.log(maxFige);
|
||||
fs.readFile("data/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
||||
//console.log(erreur);
|
||||
var dictionnaire = contenu.split("\n");
|
||||
let motsFiges = dictionnaire.slice(0, maxFige + 1);
|
||||
let motsMelanges = shuffle(dictionnaire.slice(maxFige + 1));
|
||||
|
||||
var contenu = "";
|
||||
contenu += motsFiges.join("\n") + "\n";
|
||||
contenu += motsMelanges
|
||||
.filter(
|
||||
(mot) =>
|
||||
mot &&
|
||||
mot.length >= 6 &&
|
||||
mot.length <= 9 &&
|
||||
!mot.includes("!") &&
|
||||
!mot.includes(" ") &&
|
||||
!mot.includes("-") &&
|
||||
!mot.toUpperCase().startsWith("K") &&
|
||||
!mot.toUpperCase().startsWith("Q") &&
|
||||
!mot.toUpperCase().startsWith("W") &&
|
||||
!mot.toUpperCase().startsWith("X") &&
|
||||
!mot.toUpperCase().startsWith("Y") &&
|
||||
!mot.toUpperCase().startsWith("Z")
|
||||
)
|
||||
.join("\n");
|
||||
fs.writeFile(
|
||||
"data/motsATrouve.txt",
|
||||
contenu,
|
||||
{
|
||||
flag: "w",
|
||||
},
|
||||
function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
//file written successfully
|
||||
}
|
||||
);
|
||||
});
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
var fs = require("fs");
|
||||
|
||||
fs.readFile("public/mots.txt", "UTF8", function (erreur, contenu) {
|
||||
fs.readFile("data/mots.txt", "UTF8", function (erreur, contenu) {
|
||||
//console.log(erreur);
|
||||
var dictionnaire = contenu
|
||||
.split("\n")
|
||||
|
@ -40,7 +40,7 @@ fs.readFile("public/mots.txt", "UTF8", function (erreur, contenu) {
|
|||
})
|
||||
.join("\n");
|
||||
contenu += "\n];";
|
||||
fs.writeFile("public/motsNettoyes.txt", contenu, function (err) {
|
||||
fs.writeFile("data/motsNettoyes.txt", contenu, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
|
|
|
@ -27,7 +27,7 @@ let numeroGrille = Math.floor((aujourdhui - origine) / (24 * 3600 * 1000));
|
|||
|
||||
const maxFige = numeroGrille + 1; // inclus
|
||||
console.log(maxFige);
|
||||
fs.readFile("public/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
||||
fs.readFile("data/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
||||
//console.log(erreur);
|
||||
var dictionnaire = contenu.split("\n");
|
||||
let motsFiges = dictionnaire.slice(0, maxFige + 1);
|
||||
|
@ -68,7 +68,7 @@ fs.readFile("public/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
|||
})
|
||||
.join("\n");
|
||||
contenu += "\n]";
|
||||
fs.writeFile("public/motsATrouveNettoyes.txt", contenu, function (err) {
|
||||
fs.writeFile("data/motsATrouveNettoyes.txt", contenu, function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*/
|
||||
var fs = require("fs");
|
||||
|
||||
fs.readFile("public/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
||||
fs.readFile("data/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
||||
//console.log(erreur);
|
||||
var dictionnaire = contenu.split("\n");
|
||||
let lettres = {};
|
||||
|
|
70
utils/trierATrouver.js
Normal file
70
utils/trierATrouver.js
Normal file
|
@ -0,0 +1,70 @@
|
|||
"use strict";
|
||||
/**
|
||||
* Petit script qui nettoie le fichier des mots à trouver pour le mettre dans le format attendu par le système
|
||||
*/
|
||||
var fs = require("fs");
|
||||
function shuffle(array) {
|
||||
let currentIndex = array.length,
|
||||
randomIndex;
|
||||
|
||||
// While there remain elements to shuffle...
|
||||
while (currentIndex != 0) {
|
||||
// Pick a remaining element...
|
||||
randomIndex = Math.floor(Math.random() * currentIndex);
|
||||
currentIndex--;
|
||||
|
||||
// And swap it with the current element.
|
||||
[array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
let aujourdhui = new Date().getTime();
|
||||
let origine = new Date(2022, 0, 8).getTime();
|
||||
|
||||
let numeroGrille = Math.floor((aujourdhui - origine) / (24 * 3600 * 1000));
|
||||
|
||||
const maxFige = numeroGrille + 1; // inclus
|
||||
console.log(maxFige);
|
||||
fs.readFile("data/motsATrouve.txt", "UTF8", function (erreur, contenu) {
|
||||
//console.log(erreur);
|
||||
var dictionnaire = contenu.split("\n");
|
||||
let motsFiges = dictionnaire.slice(0, maxFige + 1);
|
||||
let motsMelanges = dictionnaire.slice(maxFige + 1);
|
||||
motsMelanges.sort();
|
||||
|
||||
var contenu = "";
|
||||
contenu += motsFiges.join("\n") + "\n";
|
||||
contenu += motsMelanges
|
||||
.filter(
|
||||
(mot) =>
|
||||
mot &&
|
||||
mot.length >= 6 &&
|
||||
mot.length <= 9 &&
|
||||
!mot.includes("!") &&
|
||||
!mot.includes(" ") &&
|
||||
!mot.includes("-") &&
|
||||
!mot.toUpperCase().startsWith("K") &&
|
||||
!mot.toUpperCase().startsWith("Q") &&
|
||||
!mot.toUpperCase().startsWith("W") &&
|
||||
!mot.toUpperCase().startsWith("X") &&
|
||||
!mot.toUpperCase().startsWith("Y") &&
|
||||
!mot.toUpperCase().startsWith("Z")
|
||||
)
|
||||
.join("\n");
|
||||
fs.writeFile(
|
||||
"data/motsATrouveTriee.txt",
|
||||
contenu,
|
||||
{
|
||||
flag: "w",
|
||||
},
|
||||
function (err) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
//file written successfully
|
||||
}
|
||||
);
|
||||
});
|
Loading…
Reference in a new issue