about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/openpyxl/chartsheet
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/openpyxl/chartsheet
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/openpyxl/chartsheet')
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/__init__.py3
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/chartsheet.py107
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/custom.py61
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/properties.py28
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/protection.py41
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/publish.py58
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/relation.py97
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chartsheet/views.py51
8 files changed, 446 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/__init__.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/__init__.py
new file mode 100644
index 00000000..17266761
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/__init__.py
@@ -0,0 +1,3 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from .chartsheet import Chartsheet
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/chartsheet.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/chartsheet.py
new file mode 100644
index 00000000..21adbb43
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/chartsheet.py
@@ -0,0 +1,107 @@
+# Copyright (c) 2010-2024 openpyxl
+
+
+from openpyxl.descriptors import Typed, Set, Alias
+from openpyxl.descriptors.excel import ExtensionList
+from openpyxl.descriptors.serialisable import Serialisable
+from openpyxl.drawing.spreadsheet_drawing import (
+    AbsoluteAnchor,
+    SpreadsheetDrawing,
+)
+from openpyxl.worksheet.page import (
+    PageMargins,
+    PrintPageSetup
+)
+from openpyxl.worksheet.drawing import Drawing
+from openpyxl.worksheet.header_footer import HeaderFooter
+from openpyxl.workbook.child import _WorkbookChild
+from openpyxl.xml.constants import SHEET_MAIN_NS, REL_NS
+
+from .relation import DrawingHF, SheetBackgroundPicture
+from .properties import ChartsheetProperties
+from .protection import ChartsheetProtection
+from .views import ChartsheetViewList
+from .custom import CustomChartsheetViews
+from .publish import WebPublishItems
+
+
+class Chartsheet(_WorkbookChild, Serialisable):
+
+    tagname = "chartsheet"
+    _default_title = "Chart"
+    _rel_type = "chartsheet"
+    _path = "/xl/chartsheets/sheet{0}.xml"
+    mime_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml"
+
+    sheetPr = Typed(expected_type=ChartsheetProperties, allow_none=True)
+    sheetViews = Typed(expected_type=ChartsheetViewList)
+    sheetProtection = Typed(expected_type=ChartsheetProtection, allow_none=True)
+    customSheetViews = Typed(expected_type=CustomChartsheetViews, allow_none=True)
+    pageMargins = Typed(expected_type=PageMargins, allow_none=True)
+    pageSetup = Typed(expected_type=PrintPageSetup, allow_none=True)
+    drawing = Typed(expected_type=Drawing, allow_none=True)
+    drawingHF = Typed(expected_type=DrawingHF, allow_none=True)
+    picture = Typed(expected_type=SheetBackgroundPicture, allow_none=True)
+    webPublishItems = Typed(expected_type=WebPublishItems, allow_none=True)
+    extLst = Typed(expected_type=ExtensionList, allow_none=True)
+    sheet_state = Set(values=('visible', 'hidden', 'veryHidden'))
+    headerFooter = Typed(expected_type=HeaderFooter)
+    HeaderFooter = Alias('headerFooter')
+
+    __elements__ = (
+        'sheetPr', 'sheetViews', 'sheetProtection', 'customSheetViews',
+        'pageMargins', 'pageSetup', 'headerFooter', 'drawing', 'drawingHF',
+        'picture', 'webPublishItems')
+
+    __attrs__ = ()
+
+    def __init__(self,
+                 sheetPr=None,
+                 sheetViews=None,
+                 sheetProtection=None,
+                 customSheetViews=None,
+                 pageMargins=None,
+                 pageSetup=None,
+                 headerFooter=None,
+                 drawing=None,
+                 drawingHF=None,
+                 picture=None,
+                 webPublishItems=None,
+                 extLst=None,
+                 parent=None,
+                 title="",
+                 sheet_state='visible',
+                 ):
+        super().__init__(parent, title)
+        self._charts = []
+        self.sheetPr = sheetPr
+        if sheetViews is None:
+            sheetViews = ChartsheetViewList()
+        self.sheetViews = sheetViews
+        self.sheetProtection = sheetProtection
+        self.customSheetViews = customSheetViews
+        self.pageMargins = pageMargins
+        self.pageSetup = pageSetup
+        if headerFooter is not None:
+            self.headerFooter = headerFooter
+        self.drawing = Drawing("rId1")
+        self.drawingHF = drawingHF
+        self.picture = picture
+        self.webPublishItems = webPublishItems
+        self.sheet_state = sheet_state
+
+
+    def add_chart(self, chart):
+        chart.anchor = AbsoluteAnchor()
+        self._charts.append(chart)
+
+
+    def to_tree(self):
+        self._drawing = SpreadsheetDrawing()
+        self._drawing.charts = self._charts
+        tree = super().to_tree()
+        if not self.headerFooter:
+            el = tree.find('headerFooter')
+            tree.remove(el)
+        tree.set("xmlns", SHEET_MAIN_NS)
+        return tree
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/custom.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/custom.py
new file mode 100644
index 00000000..01fcd254
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/custom.py
@@ -0,0 +1,61 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.worksheet.header_footer import HeaderFooter
+
+from openpyxl.descriptors import (
+    Bool,
+    Integer,
+    Set,
+    Typed,
+    Sequence
+)
+from openpyxl.descriptors.excel import Guid
+from openpyxl.descriptors.serialisable import Serialisable
+from openpyxl.worksheet.page import (
+    PageMargins,
+    PrintPageSetup
+)
+
+
+class CustomChartsheetView(Serialisable):
+    tagname = "customSheetView"
+
+    guid = Guid()
+    scale = Integer()
+    state = Set(values=(['visible', 'hidden', 'veryHidden']))
+    zoomToFit = Bool(allow_none=True)
+    pageMargins = Typed(expected_type=PageMargins, allow_none=True)
+    pageSetup = Typed(expected_type=PrintPageSetup, allow_none=True)
+    headerFooter = Typed(expected_type=HeaderFooter, allow_none=True)
+
+    __elements__ = ('pageMargins', 'pageSetup', 'headerFooter')
+
+    def __init__(self,
+                 guid=None,
+                 scale=None,
+                 state='visible',
+                 zoomToFit=None,
+                 pageMargins=None,
+                 pageSetup=None,
+                 headerFooter=None,
+                 ):
+        self.guid = guid
+        self.scale = scale
+        self.state = state
+        self.zoomToFit = zoomToFit
+        self.pageMargins = pageMargins
+        self.pageSetup = pageSetup
+        self.headerFooter = headerFooter
+
+
+class CustomChartsheetViews(Serialisable):
+    tagname = "customSheetViews"
+
+    customSheetView = Sequence(expected_type=CustomChartsheetView, allow_none=True)
+
+    __elements__ = ('customSheetView',)
+
+    def __init__(self,
+                 customSheetView=None,
+                 ):
+        self.customSheetView = customSheetView
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/properties.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/properties.py
new file mode 100644
index 00000000..bff6b3b3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/properties.py
@@ -0,0 +1,28 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors import (
+    Bool,
+    String,
+    Typed
+)
+from openpyxl.descriptors.serialisable import Serialisable
+from openpyxl.styles import Color
+
+
+class ChartsheetProperties(Serialisable):
+    tagname = "sheetPr"
+
+    published = Bool(allow_none=True)
+    codeName = String(allow_none=True)
+    tabColor = Typed(expected_type=Color, allow_none=True)
+
+    __elements__ = ('tabColor',)
+
+    def __init__(self,
+                 published=None,
+                 codeName=None,
+                 tabColor=None,
+                 ):
+        self.published = published
+        self.codeName = codeName
+        self.tabColor = tabColor
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/protection.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/protection.py
new file mode 100644
index 00000000..f76a306b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/protection.py
@@ -0,0 +1,41 @@
+import hashlib
+
+from openpyxl.descriptors import (Bool, Integer, String)
+from openpyxl.descriptors.excel import Base64Binary
+from openpyxl.descriptors.serialisable import Serialisable
+
+from openpyxl.worksheet.protection import (
+    hash_password,
+    _Protected
+)
+
+
+class ChartsheetProtection(Serialisable, _Protected):
+    tagname = "sheetProtection"
+
+    algorithmName = String(allow_none=True)
+    hashValue = Base64Binary(allow_none=True)
+    saltValue = Base64Binary(allow_none=True)
+    spinCount = Integer(allow_none=True)
+    content = Bool(allow_none=True)
+    objects = Bool(allow_none=True)
+
+    __attrs__ = ("content", "objects", "password", "hashValue", "spinCount", "saltValue", "algorithmName")
+
+    def __init__(self,
+                 content=None,
+                 objects=None,
+                 hashValue=None,
+                 spinCount=None,
+                 saltValue=None,
+                 algorithmName=None,
+                 password=None,
+                 ):
+        self.content = content
+        self.objects = objects
+        self.hashValue = hashValue
+        self.spinCount = spinCount
+        self.saltValue = saltValue
+        self.algorithmName = algorithmName
+        if password is not None:
+            self.password = password
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/publish.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/publish.py
new file mode 100644
index 00000000..4f5714e8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/publish.py
@@ -0,0 +1,58 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors import (
+    Bool,
+    Integer,
+    String,
+    Set,
+    Sequence
+)
+from openpyxl.descriptors.serialisable import Serialisable
+
+
+class WebPublishItem(Serialisable):
+    tagname = "webPublishItem"
+
+    id = Integer()
+    divId = String()
+    sourceType = Set(values=(['sheet', 'printArea', 'autoFilter', 'range', 'chart', 'pivotTable', 'query', 'label']))
+    sourceRef = String()
+    sourceObject = String(allow_none=True)
+    destinationFile = String()
+    title = String(allow_none=True)
+    autoRepublish = Bool(allow_none=True)
+
+    def __init__(self,
+                 id=None,
+                 divId=None,
+                 sourceType=None,
+                 sourceRef=None,
+                 sourceObject=None,
+                 destinationFile=None,
+                 title=None,
+                 autoRepublish=None,
+                 ):
+        self.id = id
+        self.divId = divId
+        self.sourceType = sourceType
+        self.sourceRef = sourceRef
+        self.sourceObject = sourceObject
+        self.destinationFile = destinationFile
+        self.title = title
+        self.autoRepublish = autoRepublish
+
+
+class WebPublishItems(Serialisable):
+    tagname = "WebPublishItems"
+
+    count = Integer(allow_none=True)
+    webPublishItem = Sequence(expected_type=WebPublishItem, )
+
+    __elements__ = ('webPublishItem',)
+
+    def __init__(self,
+                 count=None,
+                 webPublishItem=None,
+                 ):
+        self.count = len(webPublishItem)
+        self.webPublishItem = webPublishItem
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/relation.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/relation.py
new file mode 100644
index 00000000..47f5f3d9
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/relation.py
@@ -0,0 +1,97 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors import (
+    Integer,
+    Alias
+)
+from openpyxl.descriptors.excel import Relation
+from openpyxl.descriptors.serialisable import Serialisable
+
+
+class SheetBackgroundPicture(Serialisable):
+    tagname = "picture"
+    id = Relation()
+
+    def __init__(self, id):
+        self.id = id
+
+
+class DrawingHF(Serialisable):
+    id = Relation()
+    lho = Integer(allow_none=True)
+    leftHeaderOddPages = Alias('lho')
+    lhe = Integer(allow_none=True)
+    leftHeaderEvenPages = Alias('lhe')
+    lhf = Integer(allow_none=True)
+    leftHeaderFirstPage = Alias('lhf')
+    cho = Integer(allow_none=True)
+    centerHeaderOddPages = Alias('cho')
+    che = Integer(allow_none=True)
+    centerHeaderEvenPages = Alias('che')
+    chf = Integer(allow_none=True)
+    centerHeaderFirstPage = Alias('chf')
+    rho = Integer(allow_none=True)
+    rightHeaderOddPages = Alias('rho')
+    rhe = Integer(allow_none=True)
+    rightHeaderEvenPages = Alias('rhe')
+    rhf = Integer(allow_none=True)
+    rightHeaderFirstPage = Alias('rhf')
+    lfo = Integer(allow_none=True)
+    leftFooterOddPages = Alias('lfo')
+    lfe = Integer(allow_none=True)
+    leftFooterEvenPages = Alias('lfe')
+    lff = Integer(allow_none=True)
+    leftFooterFirstPage = Alias('lff')
+    cfo = Integer(allow_none=True)
+    centerFooterOddPages = Alias('cfo')
+    cfe = Integer(allow_none=True)
+    centerFooterEvenPages = Alias('cfe')
+    cff = Integer(allow_none=True)
+    centerFooterFirstPage = Alias('cff')
+    rfo = Integer(allow_none=True)
+    rightFooterOddPages = Alias('rfo')
+    rfe = Integer(allow_none=True)
+    rightFooterEvenPages = Alias('rfe')
+    rff = Integer(allow_none=True)
+    rightFooterFirstPage = Alias('rff')
+
+    def __init__(self,
+                 id=None,
+                 lho=None,
+                 lhe=None,
+                 lhf=None,
+                 cho=None,
+                 che=None,
+                 chf=None,
+                 rho=None,
+                 rhe=None,
+                 rhf=None,
+                 lfo=None,
+                 lfe=None,
+                 lff=None,
+                 cfo=None,
+                 cfe=None,
+                 cff=None,
+                 rfo=None,
+                 rfe=None,
+                 rff=None,
+                 ):
+        self.id = id
+        self.lho = lho
+        self.lhe = lhe
+        self.lhf = lhf
+        self.cho = cho
+        self.che = che
+        self.chf = chf
+        self.rho = rho
+        self.rhe = rhe
+        self.rhf = rhf
+        self.lfo = lfo
+        self.lfe = lfe
+        self.lff = lff
+        self.cfo = cfo
+        self.cfe = cfe
+        self.cff = cff
+        self.rfo = rfo
+        self.rfe = rfe
+        self.rff = rff
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/views.py b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/views.py
new file mode 100644
index 00000000..59289222
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chartsheet/views.py
@@ -0,0 +1,51 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors import (
+    Bool,
+    Integer,
+    Typed,
+    Sequence
+)
+from openpyxl.descriptors.excel import ExtensionList
+from openpyxl.descriptors.serialisable import Serialisable
+
+
+class ChartsheetView(Serialisable):
+    tagname = "sheetView"
+
+    tabSelected = Bool(allow_none=True)
+    zoomScale = Integer(allow_none=True)
+    workbookViewId = Integer()
+    zoomToFit = Bool(allow_none=True)
+    extLst = Typed(expected_type=ExtensionList, allow_none=True)
+
+    __elements__ = ()
+
+    def __init__(self,
+                 tabSelected=None,
+                 zoomScale=None,
+                 workbookViewId=0,
+                 zoomToFit=True,
+                 extLst=None,
+                 ):
+        self.tabSelected = tabSelected
+        self.zoomScale = zoomScale
+        self.workbookViewId = workbookViewId
+        self.zoomToFit = zoomToFit
+
+
+class ChartsheetViewList(Serialisable):
+    tagname = "sheetViews"
+
+    sheetView = Sequence(expected_type=ChartsheetView, )
+    extLst = Typed(expected_type=ExtensionList, allow_none=True)
+
+    __elements__ = ('sheetView',)
+
+    def __init__(self,
+                 sheetView=None,
+                 extLst=None,
+                 ):
+        if sheetView is None:
+            sheetView = [ChartsheetView()]
+        self.sheetView = sheetView