Updated script that can be controled by Nodejs web app
This commit is contained in:
105
lib/python3.13/site-packages/openpyxl/worksheet/scenario.py
Normal file
105
lib/python3.13/site-packages/openpyxl/worksheet/scenario.py
Normal 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)
|
||||
|
Reference in New Issue
Block a user