From f702f99b3b75717e687a4cddfad9c61446995c5d Mon Sep 17 00:00:00 2001 From: edipretoro Date: Wed, 15 Jul 2026 21:09:02 +0200 Subject: [PATCH] First working implementation of _n2xdig method --- noid.py | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/noid.py b/noid.py index 2a27f9b..01388ba 100644 --- a/noid.py +++ b/noid.py @@ -123,7 +123,38 @@ class Minter(Persistent): # - s = self.legalstring[remainder] + s # 7. if mask contains a 'k' then add a '+' at the end of s # 8. return s - return "" + s = "" + varwidth = 0 + xdig = list(self.legalstring) + rmask = list(self.template) + rmask.reverse() + while num != 0 or not varwidth: + if not varwidth: + try: + c = rmask.pop(0) + except IndexError: + print(self) + break + match c: + case "r": + break + case "s": + break + case "e": + div = self.alphacount + case "d": + div = self.digitcount + case "z": + varwidth = 1 + continue + case "k": + continue + remainder = num % div + num = int(num / div) + s = xdig[remainder] + s + if self.template[-1] == "k": + s += "+" + return s def _checkbar(self, id): pass