本文整理汇总了Python中theme.Theme.get方法的典型用法代码示例。如果您正苦于以下问题:Python Theme.get方法的具体用法?Python Theme.get怎么用?Python Theme.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类theme.Theme
的用法示例。
在下文中一共展示了Theme.get方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Slide
# 需要导入模块: from theme import Theme [as 别名]
# 或者: from theme.Theme import get [as 别名]
class Slide(object):
"""
Slide object.
"""
@classmethod
def reset(cls):
"""Reset to default state."""
return
def __init__(self, number, position=None, title=None, contents=None):
""""
Paramters
---------
number: int
slide global numeration
position: dict
position dictionary containing {'x': posx, 'y': posy, 'z': posz, 'rotx': rotx, 'roty': roty, 'rotz': rotz, 'scale': scaling}
title: str
contents: str
"""
self.number = number
self.position = None
self.set_position(position)
self.title = title
self.contents = contents
self.overtheme = Theme()
return
def __str__(self):
strings = [str(self.title)]
strings.append(str(self.contents))
return ''.join(strings)
def get_overtheme(self, parser):
"""Get eventaul overtheme definition.
Parameters
----------
parser: Parser
"""
codeblocks = parser.tokenizer(source=self.contents, re_search=parser.regexs['codeblock'])
yamlblocks = parser.tokenizer(source=self.contents, re_search=parser.regexs['yamlblock'], exclude=codeblocks)
if len(yamlblocks) > 0:
self.overtheme.get(source=''.join([block['match'].group().strip('---') for block in yamlblocks]),
name='overtheme',
div_id='slide-' + str(self.number))
purged_contents = self.contents[:yamlblocks[0]['start']]
for b, yamlblock in enumerate(yamlblocks[:-1]):
purged_contents += self.contents[yamlblock['end']:yamlblocks[b + 1]['start']]
purged_contents += self.contents[yamlblocks[-1]['end']:]
self.contents = purged_contents
def set_position(self, position):
"""Set slide position.
Parameters
----------
position: dict
position dictionary containing {'x': posx, 'y': posy, 'z': posz, 'rotx': rotx, 'roty': roty, 'rotz': rotz, 'scale': scaling}
"""
if position is not None:
self.position = {}
for key in position:
self.position[key] = position[key]
def put_html_attributes(self, doc):
"""Put html attibutes of the slide.
Parameters
----------
doc: Doc
"""
doc.attr(('id', 'slide-' + str(self.number)))
# doc.attr(('title', str(self.title)))
doc.attr(('class', 'step slide'))
doc.attr(('data-x', str(self.position['x'])))
doc.attr(('data-y', str(self.position['y'])))
doc.attr(('data-z', str(self.position['z'])))
doc.attr(('data-scale', str(self.position['scale'])))
doc.attr(('data-rotate-x', str(self.position['rotx'])))
doc.attr(('data-rotate-y', str(self.position['roty'])))
doc.attr(('data-rotate-z', str(self.position['rotz'])))
return
def to_html(self, doc, parser, metadata, theme, current):
"""Generate html from self.
Parameters
----------
doc: Doc
parser: Parser
metatadata: dict
presentation metadata
theme: Theme()
presentation theme
current: list
"""
def _parse_env(Env, re_search, source):
codeblocks = parser.tokenizer(source=source, re_search=parser.regexs['codeblock'])
#.........这里部分代码省略.........
示例2: Presentation
# 需要导入模块: from theme import Theme [as 别名]
# 或者: from theme.Theme import get [as 别名]
class Presentation(object):
"""
Presentation object.
Attributes
----------
chapters_number: int
"""
chapters_number = 0
@classmethod
def reset(cls):
"""Reset to default state."""
cls.chapters_number = 0
Theme.reset()
Chapter.reset()
def __init__(self):
"""
Attributes
----------
metadata: dict
presentation metadata; each element of the dictionary if a dict with ['value', 'user'] items: value contains
the metadata value and user indicates if the value comes from user (if True) or from defaults (if False).
"""
self.reset()
self.metadata = {'title': Metadata(name='title', value=''),
'subtitle': Metadata(name='subtitle', value=''),
'authors': Metadata(name='authors', value=[]),
'authors_short': Metadata(name='authors_short', value=[]),
'emails': Metadata(name='emails', value=[]),
'affiliations': Metadata(name='affiliations', value=[]),
'affiliations_short': Metadata(name='affiliations_short', value=[]),
'logo': Metadata(name='logo', value=''),
'timer': Metadata(name='timer', value=''),
'location': Metadata(name='location', value=''),
'location_short': Metadata(name='location_short', value=''),
'date': Metadata(name='date', value=''),
'conference': Metadata(name='conference', value=''),
'conference_short': Metadata(name='conference_short', value=''),
'session': Metadata(name='session', value=''),
'session_short': Metadata(name='session_short', value=''),
'max_time': Metadata(name='max_time', value='25'),
'total_slides_number': Metadata(name='total_slides_number', value=''),
'dirs_to_copy': Metadata(name='dirs_to_copy', value=[]),
'toc': Metadata(name='toc', value=OrderedDict()),
'toc_depth': Metadata(name='toc_depth', value='2'),
'chaptertitle': Metadata(name='chaptertitle', value=''),
'chapternumber': Metadata(name='chapternumber', value=''),
'sectiontitle': Metadata(name='sectiontitle', value=''),
'sectionnumber': Metadata(name='sectionnumber', value=''),
'subsectiontitle': Metadata(name='subsectiontitle', value=''),
'subsectionnumber': Metadata(name='subsectionnumber', value=''),
'slidetitle': Metadata(name='slidetitle', value=''),
'slidenumber': Metadata(name='slidenumber', value=''),
'css_overtheme': Metadata(name='css_overtheme', value=[]),
'custom': Metadata(name='custom-[0-9]*', value='')}
self.theme = Theme()
self.parser = Parser()
self.chapters = []
self.position = Position()
return
def __str__(self):
strings = ['Chapters number ' + str(Presentation.chapters_number)]
strings.append('Sections number ' + str(Chapter.sections_number))
strings.append('Subsections number ' + str(Section.subsections_number))
strings.append('Slides number ' + str(Subsection.slides_number))
for chapter in self.chapters:
strings.append(str(chapter))
return '\n'.join(strings)
def __update_toc(self):
"""Update TOC after a new chapter (the last one) has been added."""
self.metadata['toc'].value[self.chapters[-1].title] = self.chapters[-1].toc
def __get_metadata(self, source):
"""
Get metadata from source stream.
Parameters
----------
source: str
"""
codeblocks = self.parser.tokenizer(source=source, re_search=self.parser.regexs['codeblock'])
yamlblocks = self.parser.tokenizer(source=source, re_search=self.parser.regexs['yamlblock'], exclude=codeblocks)
try:
for block in yamlblocks:
for data in load_all(block['match'].group().strip('---')):
if 'metadata' in data:
for element in data['metadata']:
for key in element:
if key in self.metadata:
self.metadata[key].update_value(value=element[key])
except YAMLError:
print('No valid definition of metadata has been found')
def __get_theme(self, source):
"""
Get theme from source stream.
#.........这里部分代码省略.........