From 5cd21da7b12fc81d44b5648f2f181e1f27620c99 Mon Sep 17 00:00:00 2001 From: BlueShanks Date: Fri, 16 Feb 2018 00:19:56 +1000 Subject: [PATCH] Character Editor: accept skill plans in Roman numerals too --- gui/characterEditor.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 4a02d5994..cce28e495 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -38,8 +38,18 @@ from logbook import Logger from gui.utils.clipboard import toClipboard, fromClipboard -pyfalog = Logger(__name__) +import roman +import re +def arabicOrRomanToInt(s): + m = re.match(r'\d+$', s) + if m: + i = int(s) + else: + i = roman.fromRoman(s) + return i + +pyfalog = Logger(__name__) class CharacterTextValidor(BaseValidator): def __init__(self): @@ -407,7 +417,8 @@ class SkillTreeView(wx.Panel): lines = text.splitlines() for l in lines: - skill, level = l.strip()[:-1].strip(), int(l.strip()[-1]) + s = l.strip() + skill, level = s.rsplit(None,1)[0], arabicOrRomanToInt(s.rsplit(None,1)[1]) skill = char.getSkill(skill) if skill: skill.setLevel(level, ignoreRestrict=True)