Comments (4)
Respecter l'ordre alphanumérique avec les noms de dossier est malheureusement vraiment compliqué à assurer. Plusieurs idées différentes avaient été explorées ici https://pad.lqdn.fr/p/gitlaw
La plupart reposaient sur le nom préfixé par quelque chose de peu intelligible, ou risquaient de rater des cas particuliers.
Une solution de repli consisterait à insérer à la racine de chaque dossier de section un fichier de type "order" listant chaque sous élément dans l'ordre à raison d'un par ligne par exemple.
from archeo-lex.
J’avais effectivement souvenir que ça avait été discuté, merci du résumé et du pad.
Après, si on veut créer ce type de sortie pour des machines uniquement en s’affranchissant de la contrainte "lisible par un humain", ce type de question est grandement simplifié.
Dans l’immédiat, ce type de sortie serait pour effectivement faire réutiliser le résultat par une machine, cf le projet esquissé sur Legilibre/salon#6 (comment).
from archeo-lex.
Dans la restructuration en cours du code, j’abstrais (entre autres) ce type d’organisation, étant donné que j’ai pris mon parti qu’on ne trouvera pas un unique format qui conviendrait à tout le monde mais qu’il faut être flexible pour s’adapter aux besoin des réutilisateurs.
La restructuration en cours sont les fichiers FabriqueArticle.py, FabriqueSection.py et le dossier exports
où j’ai fait une "interface" Organisations
(j’ai l’impression que ça n’est pas l’habitude dans le monde Python, mais ça m’aide à structurer et documenter le code). Cette structure a besoin d’une autre interface Syntaxes
qui représente la syntaxe du texte (actuellement Markdown uniquement). Actuellement, il y a deux implémentations de cette interface Organisations
:
FichierUnique
: tout le texte dans un même fichier, la forme historique de Archéo Lex (et celle que je préfère pour ma part en tant qu’humain)UnArticleParFichierSansHierarchie
: un fichier par article, chacun nommé avec la forme "Article_L35-1.md", rangé à la racine du repository sans arborescence. Ce format est utilisé par Amenda.
Le format proposé dans cette issue pourrait être implémenté, ou pas, selon les demandes, ou en test bonus pour s’amuser. En revanche, si un réutilisateur veut un format spécifique, il suffit de proposer une pull request et je l’accepterai sans problème (tant que c’est bien écrit). Je laisse cette issue ouverte mais il n’est pas sûr que je la résolve, éventuellement je la fermerai.
from archeo-lex.
Cette issue est fonctionnelle depuis longtemps pour les organisations /article1.md, /article2.md, et avec la réorganisation que je viens de (quasiment) terminer, le code est suffisamment clair. Je viens de créer (assez facilement) l’organisation /chapitre1/section1/article1.md, /chapitre1/section1/article2.md. Les trois organisations actuellement possibles sont :
--organisation=texte
(par défaut), la version historique "tout le texte dans un fichier", classe FichierUnique--organisation=articles
(pour DuraLex), version "un article par fichier, à plat, sans hiérarchie", classe UnArticleParFichierSansHierarchie--organisation=sections
, version "un article par fichier, avec la hiérarchie des sections", classe UnArticleParFichierAvecHierarchie
Pour ajouter une organisation de fichiers (au moins une organisation qui agit sur les articles, même si une organisation qui agit au niveau des sections devrait aussi fonctionner), il faut recopier un de ces fichiers et, dans la fonction obtenir_nom_fichier, renvoyer une string lorsqu’on veut enregistrer le contenu sous-jacent, avec le nom du fichier tel qu’on le souhaite (le paramètre parent
est utile pour savoir où on se situe dans la hiérarchie des sections).
from archeo-lex.
Related Issues (20)
- Mettre les commits futurs dans une autre branche HOT 1
- UNIQUE constraint failed HOT 2
- dépôt git avec la constitution HOT 11
- Affichage des dates inférieure à 1970 erroné HOT 20
- Site web d’affichage HOT 8
- Pas de texte avec cet ID ou CID HOT 2
- en-têtes markdown HOT 10
- Exporter directement au format Git-pack HOT 5
- Ajouter les en-têtes et pieds-de-page HOT 4
- [nuitducodecitoyen2018] Plantage si données maquantes
- Formatage Markdown des tableaux HOT 9
- Certificat HTTPS expiré HOT 1
- Code rural HOT 3
- Articles sans date de début
- Limiter les noms de fichiers à 255 caractères HOT 1
- Traiter différemment les codes abrogés HOT 2
- Ajouter les lois et ordonnances
- Export Git de tout les textes dans un seul dépôt HOT 3
- Refondre Archéo Lex et le format sous-jacent
- Mise à jour des données HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from archeo-lex.