diff options
Diffstat (limited to 'tablib/packages/openpyxl/writer/theme.py')
| -rw-r--r-- | tablib/packages/openpyxl/writer/theme.py | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/tablib/packages/openpyxl/writer/theme.py b/tablib/packages/openpyxl/writer/theme.py new file mode 100644 index 0000000..4b1723b --- /dev/null +++ b/tablib/packages/openpyxl/writer/theme.py @@ -0,0 +1,202 @@ +# -*- coding: utf-8 -*- +# file openpyxl/writer/theme.py + +# Copyright (c) 2010 openpyxl +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +# @license: http://www.opensource.org/licenses/mit-license.php +# @author: Eric Gazoni + +"""Write the theme xml based on a fixed string.""" + +# package imports +from openpyxl.shared.xmltools import fromstring, get_document_content + + +def write_theme(): + """Write the theme xml.""" + xml_node = fromstring( + '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n' + + '<a:theme xmlns:a="http://schemas.openxmlformats.org/' + 'drawingml/2006/main" name="Office Theme">' + '<a:themeElements>' + + '<a:clrScheme name="Office">' + '<a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1>' + '<a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1>' + '<a:dk2><a:srgbClr val="1F497D"/></a:dk2>' + '<a:lt2><a:srgbClr val="EEECE1"/></a:lt2>' + '<a:accent1><a:srgbClr val="4F81BD"/></a:accent1>' + '<a:accent2><a:srgbClr val="C0504D"/></a:accent2>' + '<a:accent3><a:srgbClr val="9BBB59"/></a:accent3>' + '<a:accent4><a:srgbClr val="8064A2"/></a:accent4>' + '<a:accent5><a:srgbClr val="4BACC6"/></a:accent5>' + '<a:accent6><a:srgbClr val="F79646"/></a:accent6>' + '<a:hlink><a:srgbClr val="0000FF"/></a:hlink>' + '<a:folHlink><a:srgbClr val="800080"/></a:folHlink>' + '</a:clrScheme>' + + '<a:fontScheme name="Office">' + '<a:majorFont>' + '<a:latin typeface="Cambria"/>' + '<a:ea typeface=""/>' + '<a:cs typeface=""/>' + '<a:font script="Jpan" typeface="MS Pゴシック"/>' + '<a:font script="Hang" typeface="맑은 고딕"/>' + '<a:font script="Hans" typeface="宋体"/>' + '<a:font script="Hant" typeface="新細明體"/>' + '<a:font script="Arab" typeface="Times New Roman"/>' + '<a:font script="Hebr" typeface="Times New Roman"/>' + '<a:font script="Thai" typeface="Tahoma"/>' + '<a:font script="Ethi" typeface="Nyala"/>' + '<a:font script="Beng" typeface="Vrinda"/>' + '<a:font script="Gujr" typeface="Shruti"/>' + '<a:font script="Khmr" typeface="MoolBoran"/>' + '<a:font script="Knda" typeface="Tunga"/>' + '<a:font script="Guru" typeface="Raavi"/>' + '<a:font script="Cans" typeface="Euphemia"/>' + '<a:font script="Cher" typeface="Plantagenet Cherokee"/>' + '<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>' + '<a:font script="Tibt" typeface="Microsoft Himalaya"/>' + '<a:font script="Thaa" typeface="MV Boli"/>' + '<a:font script="Deva" typeface="Mangal"/>' + '<a:font script="Telu" typeface="Gautami"/>' + '<a:font script="Taml" typeface="Latha"/>' + '<a:font script="Syrc" typeface="Estrangelo Edessa"/>' + '<a:font script="Orya" typeface="Kalinga"/>' + '<a:font script="Mlym" typeface="Kartika"/>' + '<a:font script="Laoo" typeface="DokChampa"/>' + '<a:font script="Sinh" typeface="Iskoola Pota"/>' + '<a:font script="Mong" typeface="Mongolian Baiti"/>' + '<a:font script="Viet" typeface="Times New Roman"/>' + '<a:font script="Uigh" typeface="Microsoft Uighur"/>' + '</a:majorFont>' + '<a:minorFont>' + '<a:latin typeface="Calibri"/>' + '<a:ea typeface=""/>' + '<a:cs typeface=""/>' + '<a:font script="Jpan" typeface="MS Pゴシック"/>' + '<a:font script="Hang" typeface="맑은 고딕"/>' + '<a:font script="Hans" typeface="宋体"/>' + '<a:font script="Hant" typeface="新細明體"/>' + '<a:font script="Arab" typeface="Arial"/>' + '<a:font script="Hebr" typeface="Arial"/>' + '<a:font script="Thai" typeface="Tahoma"/>' + '<a:font script="Ethi" typeface="Nyala"/>' + '<a:font script="Beng" typeface="Vrinda"/>' + '<a:font script="Gujr" typeface="Shruti"/>' + '<a:font script="Khmr" typeface="DaunPenh"/>' + '<a:font script="Knda" typeface="Tunga"/>' + '<a:font script="Guru" typeface="Raavi"/>' + '<a:font script="Cans" typeface="Euphemia"/>' + '<a:font script="Cher" typeface="Plantagenet Cherokee"/>' + '<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>' + '<a:font script="Tibt" typeface="Microsoft Himalaya"/>' + '<a:font script="Thaa" typeface="MV Boli"/>' + '<a:font script="Deva" typeface="Mangal"/>' + '<a:font script="Telu" typeface="Gautami"/>' + '<a:font script="Taml" typeface="Latha"/>' + '<a:font script="Syrc" typeface="Estrangelo Edessa"/>' + '<a:font script="Orya" typeface="Kalinga"/>' + '<a:font script="Mlym" typeface="Kartika"/>' + '<a:font script="Laoo" typeface="DokChampa"/>' + '<a:font script="Sinh" typeface="Iskoola Pota"/>' + '<a:font script="Mong" typeface="Mongolian Baiti"/>' + '<a:font script="Viet" typeface="Arial"/>' + '<a:font script="Uigh" typeface="Microsoft Uighur"/>' + '</a:minorFont>' + '</a:fontScheme>' + + '<a:fmtScheme name="Office">' + '<a:fillStyleLst>' + '<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>' + '<a:gradFill rotWithShape="1"><a:gsLst>' + '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="50000"/>' + '<a:satMod val="300000"/></a:schemeClr></a:gs>' + '<a:gs pos="35000"><a:schemeClr val="phClr"><a:tint val="37000"/>' + '<a:satMod val="300000"/></a:schemeClr></a:gs>' + '<a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="15000"/>' + '<a:satMod val="350000"/></a:schemeClr></a:gs></a:gsLst>' + '<a:lin ang="16200000" scaled="1"/></a:gradFill>' + '<a:gradFill rotWithShape="1"><a:gsLst>' + '<a:gs pos="0"><a:schemeClr val="phClr"><a:shade val="51000"/>' + '<a:satMod val="130000"/></a:schemeClr></a:gs>' + '<a:gs pos="80000"><a:schemeClr val="phClr"><a:shade val="93000"/>' + '<a:satMod val="130000"/></a:schemeClr></a:gs>' + '<a:gs pos="100000"><a:schemeClr val="phClr">' + '<a:shade val="94000"/>' + '<a:satMod val="135000"/></a:schemeClr></a:gs></a:gsLst>' + '<a:lin ang="16200000" scaled="0"/></a:gradFill></a:fillStyleLst>' + '<a:lnStyleLst>' + '<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">' + '<a:solidFill><a:schemeClr val="phClr"><a:shade val="95000"/>' + '<a:satMod val="105000"/></a:schemeClr></a:solidFill>' + '<a:prstDash val="solid"/></a:ln>' + '<a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"><a:solidFill>' + '<a:schemeClr val="phClr"/></a:solidFill>' + '<a:prstDash val="solid"/></a:ln>' + '<a:ln w="38100" cap="flat" cmpd="sng" algn="ctr"><a:solidFill>' + '<a:schemeClr val="phClr"/></a:solidFill>' + '<a:prstDash val="solid"/></a:ln></a:lnStyleLst>' + '<a:effectStyleLst><a:effectStyle><a:effectLst>' + '<a:outerShdw blurRad="40000" dist="20000" dir="5400000" ' + 'rotWithShape="0"><a:srgbClr val="000000">' + '<a:alpha val="38000"/></a:srgbClr></a:outerShdw></a:effectLst>' + '</a:effectStyle><a:effectStyle><a:effectLst>' + '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" ' + 'rotWithShape="0"><a:srgbClr val="000000">' + '<a:alpha val="35000"/></a:srgbClr></a:outerShdw></a:effectLst>' + '</a:effectStyle><a:effectStyle><a:effectLst>' + '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" ' + 'rotWithShape="0"><a:srgbClr val="000000">' + '<a:alpha val="35000"/></a:srgbClr></a:outerShdw></a:effectLst>' + '<a:scene3d><a:camera prst="orthographicFront">' + '<a:rot lat="0" lon="0" rev="0"/></a:camera>' + '<a:lightRig rig="threePt" dir="t">' + '<a:rot lat="0" lon="0" rev="1200000"/></a:lightRig>' + '</a:scene3d><a:sp3d><a:bevelT w="63500" h="25400"/>' + '</a:sp3d></a:effectStyle></a:effectStyleLst>' + '<a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/>' + '</a:solidFill><a:gradFill rotWithShape="1"><a:gsLst>' + '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="40000"/>' + '<a:satMod val="350000"/></a:schemeClr></a:gs>' + '<a:gs pos="40000"><a:schemeClr val="phClr"><a:tint val="45000"/>' + '<a:shade val="99000"/><a:satMod val="350000"/>' + '</a:schemeClr></a:gs>' + '<a:gs pos="100000"><a:schemeClr val="phClr">' + '<a:shade val="20000"/><a:satMod val="255000"/>' + '</a:schemeClr></a:gs></a:gsLst>' + '<a:path path="circle">' + '<a:fillToRect l="50000" t="-80000" r="50000" b="180000"/>' + '</a:path>' + '</a:gradFill><a:gradFill rotWithShape="1"><a:gsLst>' + '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="80000"/>' + '<a:satMod val="300000"/></a:schemeClr></a:gs>' + '<a:gs pos="100000"><a:schemeClr val="phClr">' + '<a:shade val="30000"/><a:satMod val="200000"/>' + '</a:schemeClr></a:gs></a:gsLst>' + '<a:path path="circle">' + '<a:fillToRect l="50000" t="50000" r="50000" b="50000"/></a:path>' + '</a:gradFill></a:bgFillStyleLst></a:fmtScheme>' + '</a:themeElements>' + '<a:objectDefaults/><a:extraClrSchemeLst/>' + '</a:theme>') + return get_document_content(xml_node) |
