Updated script that can be controled by Nodejs web app

This commit is contained in:
mac OS
2024-11-25 12:24:18 +07:00
parent c440eda1f4
commit 8b0ab2bd3a
8662 changed files with 1803808 additions and 34 deletions

View File

@ -0,0 +1,105 @@
# Copyright (c) 2010-2024 openpyxl
from openpyxl.descriptors.serialisable import Serialisable
from openpyxl.descriptors import (
String,
Integer,
Bool,
Sequence,
Convertible,
)
from .cell_range import MultiCellRange
class InputCells(Serialisable):
tagname = "inputCells"
r = String()
deleted = Bool(allow_none=True)
undone = Bool(allow_none=True)
val = String()
numFmtId = Integer(allow_none=True)
def __init__(self,
r=None,
deleted=False,
undone=False,
val=None,
numFmtId=None,
):
self.r = r
self.deleted = deleted
self.undone = undone
self.val = val
self.numFmtId = numFmtId
class Scenario(Serialisable):
tagname = "scenario"
inputCells = Sequence(expected_type=InputCells)
name = String()
locked = Bool(allow_none=True)
hidden = Bool(allow_none=True)
user = String(allow_none=True)
comment = String(allow_none=True)
__elements__ = ('inputCells',)
__attrs__ = ('name', 'locked', 'hidden', 'user', 'comment', 'count')
def __init__(self,
inputCells=(),
name=None,
locked=False,
hidden=False,
count=None,
user=None,
comment=None,
):
self.inputCells = inputCells
self.name = name
self.locked = locked
self.hidden = hidden
self.user = user
self.comment = comment
@property
def count(self):
return len(self.inputCells)
class ScenarioList(Serialisable):
tagname = "scenarios"
scenario = Sequence(expected_type=Scenario)
current = Integer(allow_none=True)
show = Integer(allow_none=True)
sqref = Convertible(expected_type=MultiCellRange, allow_none=True)
__elements__ = ('scenario',)
def __init__(self,
scenario=(),
current=None,
show=None,
sqref=None,
):
self.scenario = scenario
self.current = current
self.show = show
self.sqref = sqref
def append(self, scenario):
s = self.scenario
s.append(scenario)
self.scenario = s
def __bool__(self):
return bool(self.scenario)