예제 #1
0
    def createToken(self, parent, info, page):

        # Build the JSON data for plotting
        data = self.settings['data']
        if data is None:
            raise common.exceptions.MooseDocsException(
                "The 'data' setting is required.")
        data = eval(data)

        # Use Postprocessor file for data
        filename = self.settings['filename']
        if filename is not None:
            filename = common.check_filenames(filename)
            reader = mooseutils.PostprocessorReader(filename)

            for i, line in enumerate(data):
                data[i]['x'] = reader(line['x']).tolist()
                data[i]['y'] = reader(line['y']).tolist()

        flt = floats.create_float(parent, self.extension, self.reader, page,
                                  self.settings)
        ScatterToken(flt, data=data, layout=eval(self.settings['layout']))
        if flt.children[0].name == 'Caption':
            cap = flt.children[0]
            cap.parent = None
            cap.parent = flt

        return parent
예제 #2
0
    def createToken(self, parent, info, page):

        content = info['block'] if 'block' in info else info['inline']
        flt = floats.create_float(parent, self.extension, self.reader, page,
                                  self.settings)
        self.reader.tokenize(flt, content, page, MooseDocs.BLOCK)
        return parent
예제 #3
0
파일: devel.py 프로젝트: aashiquear/moose
    def createToken(self, parent, info, page):
        if self.settings['module'] is None:
            raise exceptions.MooseDocsException("The 'module' setting is required.")

        if self.settings['object'] is None:
            raise exceptions.MooseDocsException("The 'object' setting is required.")

        master = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                     **self.attributes)
        try:
            mod = importlib.import_module(self.settings['module'])
        except ImportError:
            msg = "Unable to load the '{}' module."
            raise exceptions.MooseDocsException(msg, self.settings['module'])

        try:
            obj = getattr(mod, self.settings['object'])
        except AttributeError:
            msg = "Unable to load the '{}' attribute from the '{}' module."
            raise exceptions.MooseDocsException(msg, self.settings['object'],
                                                self.settings['module'])

        if hasattr(obj, 'defaultSettings'):
            settings = obj.defaultSettings()
        elif hasattr(obj, 'defaultConfig'):
            settings = obj.defaultConfig()
        else:
            msg = "The '{}' object in the '{}' module does not have a 'defaultSettings' or "\
                  "'defaultConfig' method."
            raise exceptions.MooseDocsException(msg, mod, obj)

        rows = [[key, value[0], value[1]] for key, value in settings.iteritems()]
        tbl = table.builder(rows, headings=[u'Key', u'Default', u'Description'])
        tbl.parent = master
        return master
예제 #4
0
파일: graph.py 프로젝트: lszeng-hnu/moose
    def createToken(self, parent, info, page):

        # Build the JSON data for plotting
        data = self.settings['data']
        if data is None:
            raise common.exceptions.MooseDocsException("The 'data' setting is required.")
        data = eval(data)

        # Use Postprocessor file for data
        filename = self.settings['filename']
        if filename is not None:
            filename = common.check_filenames(filename)
            reader = mooseutils.PostprocessorReader(filename)

            for i, line in enumerate(data):
                data[i]['x'] = reader[line['x']].tolist()
                data[i]['y'] = reader[line['y']].tolist()

        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  bottom=True)
        scatter = ScatterToken(flt, data=data, layout=eval(self.settings['layout']))

        if flt is parent:
            scatter.attributes.update(**self.attributes)

        return parent
예제 #5
0
파일: plotly.py 프로젝트: aashiquear/moose
    def createToken(self, parent, info, page):

        # Build the JSON data for plotting
        data = self.settings['data']
        if data is None:
            raise common.exceptions.MooseDocsException("The 'data' setting is required.")
        data = eval(data)

        # Use Postprocessor file for data
        filename = self.settings['filename']
        if filename is not None:
            filename = common.check_filenames(filename)
            reader = mooseutils.PostprocessorReader(filename)

            for i, line in enumerate(data):
                data[i]['x'] = reader(line['x']).tolist()
                data[i]['y'] = reader(line['y']).tolist()

        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings)
        ScatterToken(flt, data=data, layout=eval(self.settings['layout']))
        if flt.children[0].name == 'Caption':
            cap = flt.children[0]
            cap.parent = None
            cap.parent = flt

        return parent
예제 #6
0
 def createToken(self, parent, info, page):
     flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                               **self.attributes)
     AcronymListToken(flt,
                      complete=self.settings['complete'],
                      heading=self.settings['heading'])
     return parent
예제 #7
0
    def createToken(self, parent, info, page):

        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  bottom=True, **self.attributes)
        img = Image(flt, src=info['subcommand'], tex=self.settings['latex_src'])
        if flt is parent:
            img.attributes.update(**self.attributes)
        return parent
예제 #8
0
 def createToken(self, parent, info, page):
     flt = floats.create_float(parent, self.extension, self.reader, page,
                               self.settings)
     content = info['inline'] if 'inline' in info else info['block']
     core.Code(flt,
               style="max-height:{};".format(self.settings['max-height']),
               language=self.settings['language'],
               content=content)
     return parent
예제 #9
0
파일: devel.py 프로젝트: jwpeterson/moose
    def createToken(self, parent, info, page):
        master = floats.create_float(parent, self.extension, self.reader, page,
                                     self.settings, token_type=ExampleFloat)
        data = info['block'] if 'block' in info else info['inline']
        code = core.Code(master, content=data)

        if master is parent:
            code.attributes.update(**self.attributes)

        return master
예제 #10
0
파일: table.py 프로젝트: jwpeterson/moose
    def createToken(self, parent, info, page):

        content = info['block'] if 'block' in info else info['inline']
        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  token_type=TableFloat)
        self.reader.tokenize(flt, content, page, MooseDocs.BLOCK)

        if flt is parent:
            parent(0).attributes.update(**self.attributes)

        return parent
예제 #11
0
    def createToken(self, parent, info, page):

        content = info['block'] if 'block' in info else info['inline']
        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  token_type=TableFloat)
        self.reader.tokenize(flt, content, page, MooseDocs.BLOCK)

        if flt is parent:
            parent(0).attributes.update(**self.attributes)

        return parent
예제 #12
0
    def createToken(self, parent, info, page):
        """
        Build the tokens needed for displaying code listing.
        """

        filename = common.check_filenames(info['subcommand'])
        flt = floats.create_float(parent,
                                  self.extension,
                                  self.reader,
                                  page,
                                  self.settings,
                                  token_type=Listing)
        # Create code token
        lang = self.settings.get('language')
        content = self.extractContent(filename)
        lang = lang if lang else common.get_language(filename)

        code = core.Code(flt,
                         style="max-height:{};".format(
                             self.settings['max-height']),
                         content=content,
                         language=lang)
        if flt is parent:
            code.attributes.update(**self.attributes)

        if flt is not parent:
            code.name = 'ListingCode'

        # Add bottom modal
        link = self.settings['link']
        link = link if link is not None else self.extension['modal-link']
        if link:
            rel_filename = os.path.relpath(filename, MooseDocs.ROOT_DIR)

            # Get the complete file
            content = common.read(filename)
            settings = common.get_settings_as_dict(
                common.extractContentSettings())
            settings['strip-header'] = False
            content, _ = common.extractContent(content, settings)

            # Create modal for display the files a popup
            code = core.Code(None, language=lang, content=content)
            link = floats.create_modal_link(
                flt,
                url=unicode(rel_filename),
                content=code,
                title=unicode(filename),
                string=u'({})'.format(rel_filename))
            link.name = 'ListingLink'
            link['data-tooltip'] = unicode(rel_filename)

        return parent
예제 #13
0
파일: listing.py 프로젝트: jwpeterson/moose
    def createToken(self, parent, info, page):
        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  token_type=Listing)
        content = info['inline'] if 'inline' in info else info['block']
        code = core.Code(flt, style="max-height:{};".format(self.settings['max-height']),
                         language=self.settings['language'], content=content)

        if flt is parent:
            code.attributes.update(**self.attributes)

        if flt is not parent:
            code.name = 'ListingCode'

        return parent
예제 #14
0
파일: devel.py 프로젝트: lszeng-hnu/moose
    def createToken(self, parent, info, page):
        master = floats.create_float(parent,
                                     self.extension,
                                     self.reader,
                                     page,
                                     self.settings,
                                     token_type=ExampleFloat)
        data = info['block'] if 'block' in info else info['inline']
        code = core.Code(master, content=data)

        if master is parent:
            code.attributes.update(**self.attributes)

        return master
예제 #15
0
파일: media.py 프로젝트: liuzipenguk/moose
    def createToken(self, parent, info, page):

        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  bottom=True, img=True)
        vid = Video(flt,
                    src=info['subcommand'],
                    tex=self.settings['latex_src'],
                    controls=self.settings['controls'],
                    loop=self.settings['loop'],
                    autoplay=self.settings['autoplay'])

        if flt is parent:
            vid.attributes.update(**self.attributes)

        return parent
예제 #16
0
    def createToken(self, parent, info, page):
        if self.settings['module'] is None:
            raise exceptions.MooseDocsException(
                "The 'module' setting is required.")

        if self.settings['object'] is None:
            raise exceptions.MooseDocsException(
                "The 'object' setting is required.")

        master = floats.create_float(parent,
                                     self.extension,
                                     self.reader,
                                     page,
                                     self.settings,
                                     token_type=table.TableFloat)
        try:
            mod = importlib.import_module(self.settings['module'])
        except ImportError:
            msg = "Unable to load the '{}' module."
            raise exceptions.MooseDocsException(msg, self.settings['module'])

        try:
            obj = getattr(mod, self.settings['object'])
        except AttributeError:
            msg = "Unable to load the '{}' attribute from the '{}' module."
            raise exceptions.MooseDocsException(msg, self.settings['object'],
                                                self.settings['module'])

        if hasattr(obj, 'defaultSettings'):
            settings = obj.defaultSettings()
        elif hasattr(obj, 'defaultConfig'):
            settings = obj.defaultConfig()
        else:
            msg = "The '{}' object in the '{}' module does not have a 'defaultSettings' or "\
                  "'defaultConfig' method."
            raise exceptions.MooseDocsException(msg, mod, obj)

        rows = [[key, value[0], value[1]]
                for key, value in settings.iteritems()]
        tbl = table.builder(rows,
                            headings=[u'Key', u'Default', u'Description'])
        tbl.parent = master

        if master is parent:
            tbl.attributes.update(**self.attributes)

        return parent
예제 #17
0
파일: media.py 프로젝트: marinasessim/moose
    def createToken(self, parent, info, page):

        # Determine the location of the media
        src = info['subcommand']
        if src.startswith('http'):
            location = src
        else:
            node = self.translator.findPage(src)
            location = unicode(node.relativeSource(page))

        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings)
        self.createMedia(flt, info, page, location, **self.attributes)
        if flt.children[0].name == 'Caption':
            cap = flt.children[0]
            cap.parent = None
            cap.parent = flt
        return parent
예제 #18
0
파일: media.py 프로젝트: jwpeterson/moose
    def createToken(self, parent, info, page):

        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  bottom=True, img=True)
        vid = Video(flt,
                    src=info['subcommand'],
                    tex=self.settings['latex_src'],
                    controls=self.settings['controls'],
                    loop=self.settings['loop'],
                    autoplay=self.settings['autoplay'],
                    tstart=self.settings['tstart'],
                    tstop=self.settings['tstop'])

        if flt is parent:
            vid.attributes.update(**self.attributes)

        return parent
예제 #19
0
    def createToken(self, parent, info, page):

        # Determine the location of the media
        src = info['subcommand']
        if src.startswith('http'):
            location = src
        else:
            node = self.translator.findPage(src)
            location = unicode(node.relativeSource(page))

        flt = floats.create_float(parent, self.extension, self.reader, page,
                                  self.settings)
        self.createMedia(flt, info, page, location, **self.attributes)
        if flt.children[0].name == 'Caption':
            cap = flt.children[0]
            cap.parent = None
            cap.parent = flt
        return parent
예제 #20
0
파일: listing.py 프로젝트: jwpeterson/moose
    def createToken(self, parent, info, page):
        """
        Build the tokens needed for displaying code listing.
        """

        filename = common.check_filenames(info['subcommand'])
        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings,
                                  token_type=Listing)
        # Create code token
        lang = self.settings.get('language')
        content = self.extractContent(filename)
        lang = lang if lang else common.get_language(filename)

        code = core.Code(flt, style="max-height:{};".format(self.settings['max-height']),
                         content=content, language=lang)
        if flt is parent:
            code.attributes.update(**self.attributes)

        if flt is not parent:
            code.name = 'ListingCode'

        # Add bottom modal
        link = self.settings['link']
        link = link if link is not None else self.extension['modal-link']
        if link:
            rel_filename = os.path.relpath(filename, MooseDocs.ROOT_DIR)

            # Get the complete file
            content = common.read(filename)
            settings = common.get_settings_as_dict(common.extractContentSettings())
            settings['strip-header'] = False
            content, _ = common.extractContent(content, settings)

            # Create modal for display the files a popup
            code = core.Code(None, language=lang, content=content)
            link = floats.create_modal_link(flt,
                                            url=unicode(rel_filename),
                                            content=code,
                                            title=unicode(filename),
                                            string=u'({})'.format(rel_filename))
            link.name = 'ListingLink'
            link['data-tooltip'] = unicode(rel_filename)

        return parent
예제 #21
0
    def createToken(self, parent, info, page):
        flt = floats.create_float(parent,
                                  self.extension,
                                  self.reader,
                                  page,
                                  self.settings,
                                  token_type=Listing)
        content = info['inline'] if 'inline' in info else info['block']
        code = core.Code(flt,
                         style="max-height:{};".format(
                             self.settings['max-height']),
                         language=self.settings['language'],
                         content=content)

        if flt is parent:
            code.attributes.update(**self.attributes)

        if flt is not parent:
            code.name = 'ListingCode'  #TODO: Find a better way

        return parent
예제 #22
0
파일: devel.py 프로젝트: aashiquear/moose
 def createToken(self, parent, info, page):
     master = floats.create_float(parent, self.extension, self.reader, page,
                                  self.settings, **self.attributes)
     data = info['block'] if 'block' in info else info['inline']
     core.Code(master, content=data)
     return master
예제 #23
0
파일: devel.py 프로젝트: chrisjsewell/moose
 def createToken(self, parent, info, page):
     master = floats.create_float(parent, self.extension, self.reader, page,
                                  self.settings, **self.attributes)
     data = info['block'] if 'block' in info else info['inline']
     core.Code(master, content=data)
     return master
예제 #24
0
파일: table.py 프로젝트: aashiquear/moose
    def createToken(self, parent, info, page):

        content = info['block'] if 'block' in info else info['inline']
        flt = floats.create_float(parent, self.extension, self.reader, page, self.settings)
        self.reader.tokenize(flt, content, page, MooseDocs.BLOCK)
        return parent
예제 #25
0
파일: listing.py 프로젝트: aashiquear/moose
 def createToken(self, parent, info, page):
     flt = floats.create_float(parent, self.extension, self.reader, page, self.settings)
     content = info['inline'] if 'inline' in info else info['block']
     core.Code(flt, style="max-height:{};".format(self.settings['max-height']),
               language=self.settings['language'], content=content)
     return parent