Commit graph

19 commits

Author SHA1 Message Date
f2ba74fd59 [IMP] format : un formateur par contexte, ruff pour l'outillage
« make format » donnait isort et black à tout fichier Python : la cible py37,
plus petit dénominateur commun de six dépôts d'addons, imposait son style au
code de ce dépôt. Le contexte décide désormais — les modules Odoo gardent isort
et black, le reste passe par ruff, réglé dans .ruff.toml, comme la norme OCA
depuis qu'elle a quitté black. Les dépôts rapatriés sous script/ en sont
écartés, chemin nommé compris. La cible y reste py310 : dès 3.14 ruff écrit
« except A, B: » sans parenthèses, que le python3 des hooks ne sait pas lire.
Vérifié : un fichier reçoit deux normes selon son chemin, et aucun dépôt
rapatrié n'est touché.

--- EN ---

"make format" gave isort and black to every Python file: the py37 target,
lowest common denominator of six addons repositories, imposed its style on this
repository's code. Context now decides — Odoo modules keep isort and black,
everything else goes through ruff, set in .ruff.toml, as the OCA standard does
since it left black. The repositories checked out under script/ are excluded, a
named path included. The target stays py310 there: from 3.14 on, ruff writes
"except A, B:" unparenthesised, which the python3 of the hooks cannot read.
Checked: one file gets two standards by its path, and no checked-out
repository is touched.

Assisted-by: Claude Opus 5
2026-09-24 13:30:08 -04:00
cd2b8266d4 [FIX] requirement erplibre : déclarer openpyxl, sauter sans lui
Three Transform data tests wrote an Excel workbook with openpyxl, which the
.venv.erplibre requirements never declared, so the unit suite reported three
errors on every install. openpyxl is now declared there. The tests skip when it
cannot be imported in their own interpreter, since a venv built before this
line still lacks it; the dedicated engine venv is not the right probe, as the
tests write their workbook in-process. Checked: 707 Transform tests pass, and
with openpyxl made unimportable the three are skipped, not errors.

--- FR ---

Trois tests de Transform data écrivaient un classeur Excel avec openpyxl, que
les dépendances de .venv.erplibre ne déclaraient pas : la suite unitaire
rendait trois erreurs sur toute installation. openpyxl y est désormais
déclaré. Les tests se sautent quand il ne s'importe pas dans leur interpréteur,
un venv bâti avant cette ligne ne l'ayant toujours pas ; le venv dédié du
moteur n'est pas la bonne sonde, les tests écrivant leur classeur sur place.
Vérifié : 707 tests de Transform passent, et openpyxl rendu inimportable, les
trois sont sautés et non en erreur.

Assisted-by: Claude Opus 5
2026-09-16 05:36:13 -04:00
01a55c0679 [REM] requirement : retirer sshconf, déclaré et jamais importé
Le paquet était déclaré, donc installé dans chaque environnement, et aucun
fichier ne l'importe. Il est aussi le mauvais outil pour ce dépôt : la
configuration SSH s'y lit soit par `ssh -G`, qui connaît les `Include`, les
`Match` et l'héritage des jokers, soit par le lecteur de lignes du paquet,
et une bibliothèque tierce n'apporte ni l'un ni l'autre.

Un test de la découverte affirme déjà qu'il n'est pas importé là où il
tenterait : cette assertion garde tout son sens, elle n'a plus de paquet
derrière elle.

--- EN ---

The package was declared, so installed into every environment, and no file
imports it. It is also the wrong tool for this repository: SSH configuration
is read here either through `ssh -G`, which knows about `Include`, `Match` and
wildcard inheritance, or through the package's own line reader, and a
third-party library brings neither.

A discovery test already asserts it is not imported where it would be
tempting: that assertion keeps all its meaning, it simply no longer has a
package behind it.

Assisted-by: Claude Opus 5
2026-09-09 07:35:15 -04:00
0f0f853be4 [ADD] migration state: colour the commands, and know when not to
A list of commands in flat text blends into its own headings the moment it
outgrows the screen — which is exactly when it gets read. Commands are now
cyan, steps bold blue, failed ones red, and each verdict wears the colour
of its meaning: 1 is amber, because « there is something to look at » is
not a crash and painting it red worries for nothing.

Colour is refused three times over, and each refusal has cost someone: a
log file full of escape codes, a grep that finds nothing, a terminal that
prints them as text. A pipe is not a screen, and NO_COLOR is honoured.

The full screen goes through Text.from_ansi, which does two things: it
renders the colours, and it takes the rest literally. Textual parses Rich
markup, so a command containing « [1] » was being eaten as a tag and
vanished from the pane without a word. That was true before the colour.

--- FR ---

[ADD] état de migration : colorer les commandes, et savoir s'en abstenir

Une liste de commandes en texte plat se confond avec ses titres dès
qu'elle dépasse l'écran — et c'est justement quand elle le dépasse qu'on
la lit. Les commandes sont en cyan, les étapes en bleu gras, celles qui
ont échoué en rouge, et chaque verdict porte la couleur de son sens : 1
est ambre, car « il y a quelque chose à regarder » n'est pas une panne.

La couleur se refuse trois fois, et chaque refus a coûté à quelqu'un : un
fichier de journal truffé de codes d'échappement, un grep qui ne trouve
plus rien, un terminal qui les affiche en clair.

Le plein écran passe par Text.from_ansi, qui rend les couleurs ET prend le
reste au pied de la lettre : une commande contenant « [1] » était avalée
comme du balisage Rich et disparaissait sans un mot.

Assisted-by: Claude Opus 5
2026-08-22 07:23:59 -04:00
16aecc2d33 [ADD] mail: read and send email from the TODO CLI
An IMAP/SMTP client in the menu, with its tests against real servers. Most
of the work went into refusals: an application password is named only when
the server actually refuses, an accented password is reported as never
having left the machine, and a refusal is recognised by what the server
SAYS rather than by matching its wording. A malformed date no longer takes
the whole folder down, and a received email is never read as markup.

--- FR ---

Un client IMAP/SMTP dans le menu, avec ses tests contre de vrais serveurs.
L'essentiel du travail porte sur les refus : le mot de passe d'application
n'est nommé que lorsque le serveur refuse vraiment, un mot de passe accentué
est signalé comme n'ayant jamais quitté la machine, et un refus se reconnaît
à ce que le serveur DIT plutôt qu'à ses mots. Une date illisible n'emporte
plus le dossier entier, et un courriel reçu n'est jamais lu comme du balisage.

Assisted-by: Claude Opus 5
2026-08-16 03:56:34 -04:00
5e7391252b [ADD] todo: install Textual on demand
The TUI screens need Textual. Rather than naming it, the CLI offers to
install it for the running interpreter, bounded to the major the screens
are written for.

--- FR ---

Les écrans TUI ont besoin de Textual. Plutôt que de le nommer, le CLI
propose de l'installer pour l'interpréteur courant, borné à la majeure pour
laquelle les écrans sont écrits.

Assisted-by: Claude Opus 4.8
Assisted-by: Claude Opus 5
2026-08-07 03:22:26 -04:00
203678b9e2 [ADD] requirement erplibre python-magic to support detect extension 2026-08-07 02:10:56 -04:00
3d80d1df75 [UPD] erplibre pip requirement missing tldextract and PyYAML
- Update selenium and comment about it
2026-03-08 18:59:00 -04:00
a0b9a93bb1 [IMP] script todo: support security check python environment 2026-03-08 16:09:44 -04:00
154f9aa03b [FIX] erplibre requirement install mmg for traduction markdown 2026-03-07 00:46:05 -05:00
60824a4cba [UPD] erplibre requirement virtualenv 2026-02-05 02:07:47 -05:00
a2155facc6 [UPD] mobile rename repo for erplibre_home_mobile 2025-12-28 00:48:38 -05:00
9122244aee [IMP] script kill_process_by_port: script to kill odoo execution with TODO
- implement todo process kill by process, read config port
2025-12-22 04:03:42 -05:00
0b0ee69730 [ADD] todo: implement run for mobile compilation and question env
- can modify env file to  adapt the mobile for the project
2025-11-11 05:19:56 -05:00
4739615ca4 [IMP] script deployment DNS with cloudflare 2025-11-02 02:14:15 -05:00
41de57d2df [ADD] requirement erplibre support ssh config 2025-10-31 17:29:33 -04:00
ac3b78634e [FIX] requirement erplibre: error with dateutil 2025-10-31 02:29:52 -04:00
93617b1a65 [IMP] support multi version odoo on same workspace
- oficially support odoo 18 instead of odoo 16
- support postgis/postgresql 18 into docker
- change version erplibre 1.6.0
- support private environment and support local git repo manifest
- support switch odoo version
- support docker for each version
- update os installation
- upgrade python requirement
- separate virtual environment for erplibre and odoo
2025-10-31 01:36:26 -04:00
991863e2b2 [IMP] requirement: erplibre separate from odoo
- Update all version
2025-10-31 01:33:07 -04:00