当前位置: 首页>>代码示例>>Python>>正文


Python utils.unit_get函数代码示例

本文整理汇总了Python中utils.unit_get函数的典型用法代码示例。如果您正苦于以下问题:Python unit_get函数的具体用法?Python unit_get怎么用?Python unit_get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了unit_get函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

 def __init__(self, out, node, doc):
     if not node.hasAttribute('pageSize'):
         pageSize = (utils.unit_get('21cm'), utils.unit_get('29.7cm'))
     else:
         ps = map(lambda x:x.strip(), node.getAttribute('pageSize').replace(')', '').replace('(', '').split(','))
         pageSize = ( utils.unit_get(ps[0]),utils.unit_get(ps[1]) )
     cm = reportlab.lib.units.cm
     self.doc_tmpl = platypus.BaseDocTemplate(out, pagesize=pageSize, **utils.attr_get(node, ['leftMargin','rightMargin','topMargin','bottomMargin'], {'allowSplitting':'int','showBoundary':'bool','title':'str','author':'str'}))
     self.page_templates = []
     self.styles = doc.styles
     self.doc_tmpl.styles = doc.styles	# hack
     self.doc = doc
     pts = node.getElementsByTagName('pageTemplate')
     for pt in pts:
         frames = []
         for frame_el in pt.getElementsByTagName('frame'):
             frame = platypus.Frame( **(utils.attr_get(frame_el, ['x1','y1', 'width','height', 'leftPadding', 'rightPadding', 'bottomPadding', 'topPadding'], {'id':'text', 'showBoundary':'bool'})) )
             frames.append( frame )
         gr = pt.getElementsByTagName('pageGraphics')
         if len(gr):
             drw = _rml_draw(gr[0])
             self.page_templates.append( platypus.PageTemplate(frames=frames, onPage=drw.render, **utils.attr_get(pt, [], {'id':'str'}) ))
         else:
             self.page_templates.append( platypus.PageTemplate(frames=frames, **utils.attr_get(pt, [], {'id':'str'}) ))
     self.doc_tmpl.addPageTemplates(self.page_templates)
开发者ID:tieugene,项目名称:rml2pdf,代码行数:25,代码来源:trml2pdf.py

示例2: _textual

	def _textual(self, node):
		rc = ''
		for n in node.childNodes:
			if n.nodeType == n.ELEMENT_NODE:
                                if n.localName.startswith('seq'):
                                        rc += str(_rml_sequence(n))
                                elif n.localName == 'name':
                                        x, y = n.getAttribute('x'), n.getAttribute('y')
                                        fontName, fontSize, fontColor = n.getAttribute('fontName'), n.getAttribute('fontSize'), n.getAttribute('fontColor')
                                        if not fontName:
                                            fontName = self.canvas._fontname
                                        if not fontSize:
                                            fontSize = self.canvas._fontsize
                                        global named_string_styles
                                        named_string_styles[n.getAttribute('id')] = (
                                            fontName, fontSize, fontColor
                                        )
                                        if x and y:
                                            x, y = utils.unit_get(x), utils.unit_get(y)
                                            self.canvas.translate(x, y)
                                        self.canvas.doForm(n.getAttribute('id'))
                                        if x and y:
                                            self.canvas.translate(-x, -y)
				elif n.localName=='pageNumber':
					rc += str(self.canvas.getPageNumber())
                                elif n.localName == 'evalString':
                                        rc += _eval_string(n, textual=self)
			elif (n.nodeType == node.CDATA_SECTION_NODE):
				rc += n.data
			elif (n.nodeType == node.TEXT_NODE):
				rc += n.data
		return rc.encode(self.encoding)
开发者ID:clach04,项目名称:trml2pdf,代码行数:32,代码来源:trml2pdf.py

示例3: _ellipse

    def _ellipse(self, node):
        x1 = utils.unit_get(node.get("x"))
        x2 = utils.unit_get(node.get("width"))
        y1 = utils.unit_get(node.get("y"))
        y2 = utils.unit_get(node.get("height"))

        self.canvas.ellipse(x1, y1, x2, y2, **utils.attr_get(node, [], {"fill": "bool", "stroke": "bool"}))
开发者ID:guzzi235,项目名称:saas3,代码行数:7,代码来源:trml2pdf.py

示例4: _image

    def _image(self, node):
        import urllib
        from reportlab.lib.utils import ImageReader
        u = urllib.urlopen(str(node.getAttribute('file')))
        s = StringIO.StringIO()
        s.write(u.read())
        s.seek(0)
        img = ImageReader(s)
        (sx,sy) = img.getSize()

        args = {}
        for tag in ('width','height','x','y'):
            if node.hasAttribute(tag):
                if not utils.unit_get(node.getAttribute(tag)):
                    continue
                args[tag] = utils.unit_get(node.getAttribute(tag))
        if ('width' in args) and (not 'height' in args):
            args['height'] = sy * args['width'] / sx
        elif ('height' in args) and (not 'width' in args):
            args['width'] = sx * args['height'] / sy
        elif ('width' in args) and ('height' in args):
            if (float(args['width'])/args['height'])>(float(sx)>sy):
                args['width'] = sx * args['height'] / sy
            else:
                args['height'] = sy * args['width'] / sx
        self.canvas.drawImage(img, **args)
开发者ID:joeyates,项目名称:trml2pdf,代码行数:26,代码来源:trml2pdf.py

示例5: __init__

    def __init__(self, localcontext, out, node, doc, images={}, path='.', title=None):
        self.localcontext = localcontext
        self.images= images
        self.path = path
        self.title = title
        if not node.get('pageSize'):
            pageSize = (utils.unit_get('21cm'), utils.unit_get('29.7cm'))
        else:
            ps = map(lambda x:x.strip(), node.get('pageSize').replace(')', '').replace('(', '').split(','))
            pageSize = ( utils.unit_get(ps[0]),utils.unit_get(ps[1]) )

        self.doc_tmpl = TinyDocTemplate(out, pagesize=pageSize, **utils.attr_get(node, ['leftMargin','rightMargin','topMargin','bottomMargin'], {'allowSplitting':'int','showBoundary':'bool','title':'str','author':'str'}))
        self.page_templates = []
        self.styles = doc.styles
        self.doc = doc
        pts = node.findall('pageTemplate')
        for pt in pts:
            frames = []
            for frame_el in pt.findall('frame'):
                frame = platypus.Frame( **(utils.attr_get(frame_el, ['x1','y1', 'width','height', 'leftPadding', 'rightPadding', 'bottomPadding', 'topPadding'], {'id':'str', 'showBoundary':'bool'})) )
                if utils.attr_get(frame_el, ['last']):
                    frame.lastFrame = True
                frames.append( frame )
            try :
                gr = pt.findall('pageGraphics')\
                    or pt[1].findall('pageGraphics')
            except Exception: # FIXME: be even more specific, perhaps?
                gr=''
            if len(gr):
                drw = _rml_draw(self.localcontext,gr[0], self.doc, images=images, path=self.path, title=self.title)
                self.page_templates.append( platypus.PageTemplate(frames=frames, onPage=drw.render, **utils.attr_get(pt, [], {'id':'str'}) ))
            else:
                drw = _rml_draw(self.localcontext,node,self.doc,title=self.title)
                self.page_templates.append( platypus.PageTemplate(frames=frames,onPage=drw.render, **utils.attr_get(pt, [], {'id':'str'}) ))
        self.doc_tmpl.addPageTemplates(self.page_templates)
开发者ID:Buyanbat,项目名称:XacCRM,代码行数:35,代码来源:trml2pdf.py

示例6: _table

 def _table(self, node):
     length = 0
     colwidths = None
     rowheights = None
     data = []
     for tr in _child_get(node,'tr'):
         data2 = []
         for td in _child_get(tr, 'td'):
             flow = []
             for n in td.childNodes:
                 if n.nodeType==node.ELEMENT_NODE:
                     flow.append( self._flowable(n) )
             if not len(flow):
                 flow = self._textual(td)
             data2.append( flow )
         if len(data2)>length:
             length=len(data2)
             for ab in data:
                 while len(ab)<length:
                     ab.append('')
         while len(data2)<length:
             data2.append('')
         data.append( data2 )
     if node.hasAttribute('colWidths'):
         assert length == len(node.getAttribute('colWidths').split(','))
         colwidths = [utils.unit_get(f.strip()) for f in node.getAttribute('colWidths').split(',')]
     if node.hasAttribute('rowHeights'):
         rowheights = [utils.unit_get(f.strip()) for f in node.getAttribute('rowHeights').split(',')]
     table = platypus.Table(data = data, colWidths=colwidths, rowHeights=rowheights, **(utils.attr_get(node, ['splitByRow'] ,{'repeatRows':'int','repeatCols':'int'})))
     if node.hasAttribute('style'):
         table.setStyle(self.styles.table_styles[node.getAttribute('style')])
     return table
开发者ID:FashtimeDotCom,项目名称:trml2pdf,代码行数:32,代码来源:trml2pdf.py

示例7: _ellipse

    def _ellipse(self, node):
        x1 = utils.unit_get(node.get('x'))
        x2 = utils.unit_get(node.get('width'))
        y1 = utils.unit_get(node.get('y'))
        y2 = utils.unit_get(node.get('height'))

        self.canvas.ellipse(x1,y1,x2,y2, **utils.attr_get(node, [], {'fill':'bool','stroke':'bool'}))
开发者ID:AbdAllah-Ahmed,项目名称:openerp-env,代码行数:7,代码来源:trml2pdf.py

示例8: _circle

 def _circle(self, node):
     self.canvas.circle(
         x_cen=utils.unit_get(node.getAttribute("x")),
         y_cen=utils.unit_get(node.getAttribute("y")),
         r=utils.unit_get(node.getAttribute("radius")),
         **utils.attr_get(node, [], {"fill": "bool", "stroke": "bool"})
     )
开发者ID:jordotech,项目名称:trml2pdf,代码行数:7,代码来源:trml2pdf.py

示例9: __init__

 def __init__(self, node, localcontext, styles, self2):
     self.localcontext = (localcontext or {}).copy()
     self.node = node
     self.styles = styles
     self.width = utils.unit_get(node.get('width'))
     self.height = utils.unit_get(node.get('height'))
     self.self2 = self2
开发者ID:AbdAllah-Ahmed,项目名称:openerp-env,代码行数:7,代码来源:trml2pdf.py

示例10: _flowable

 def _flowable(self, node):
     # FIXME: speedup
     if node.localName=='para':
         style = self.styles.para_style_get(node)	# ERROR
         return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
     elif node.localName=='name':
         self.styles.names[ node.getAttribute('id')] = node.getAttribute('value')
         return None
     elif node.localName=='xpre':
         style = self.styles.para_style_get(node)
         return platypus.XPreformatted(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str','dedent':'int','frags':'int'})))
     elif node.localName=='pre':
         style = self.styles.para_style_get(node)
         return platypus.Preformatted(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str','dedent':'int'})))
     elif node.localName=='illustration':
         return  self._illustration(node)
     elif node.localName=='blockTable':
         return  self._table(node)
     elif node.localName=='title':
         styles = reportlab.lib.styles.getSampleStyleSheet()
         style = styles['Title']
         return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
     elif node.localName=='h1':
         styles = reportlab.lib.styles.getSampleStyleSheet()
         style = styles['Heading1']
         return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
     elif node.localName=='h2':
         styles = reportlab.lib.styles.getSampleStyleSheet()
         style = styles['Heading2']
         return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
     elif node.localName=='h3':
         styles = reportlab.lib.styles.getSampleStyleSheet()
         style = styles['Heading3']
         return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
     elif node.localName=='image':
         return platypus.Image(node.getAttribute('file'), mask=(250,255,250,255,250,255), **(utils.attr_get(node, ['width','height'])))
     elif node.localName=='spacer':
         if node.hasAttribute('width'):
             width = utils.unit_get(node.getAttribute('width'))
         else:
             width = utils.unit_get('1cm')
         length = utils.unit_get(node.getAttribute('length'))
         return platypus.Spacer(width=width, height=length)
     elif node.localName=='pageBreak':
         return platypus.PageBreak()
     elif node.localName=='condPageBreak':
         return platypus.CondPageBreak(**(utils.attr_get(node, ['height'])))
     elif node.localName=='setNextTemplate':
         return platypus.NextPageTemplate(str(node.getAttribute('name')))
     elif node.localName=='nextFrame':
         return platypus.CondPageBreak(1000)           # TODO: change the 1000 !
     elif barcode_codes and node.localName=='barCodeFlowable':
         code = barcode_codes.get(node.getAttribute('code'), Code128)
         return code(
                 self._textual(node),
                 **utils.attr_get(node, ['barWidth', 'barHeight'], {'fontName': 'str', 'humanReadable': 'bool'}))
     else:
         sys.stderr.write('Warning: flowable not yet implemented: %s !\n' % (node.localName,))
         return None
开发者ID:tieugene,项目名称:rml2pdf,代码行数:59,代码来源:trml2pdf.py

示例11: _translate

 def _translate(self, node):
     dx = 0
     dy = 0
     if node.hasAttribute("dx"):
         dx = utils.unit_get(node.getAttribute("dx"))
     if node.hasAttribute("dy"):
         dy = utils.unit_get(node.getAttribute("dy"))
     self.canvas.translate(dx, dy)
开发者ID:jordotech,项目名称:trml2pdf,代码行数:8,代码来源:trml2pdf.py

示例12: __init__

 def __init__(self, node, style):
     self.posx = utils.unit_get(node.get('x'))
     self.posy =  utils.unit_get(node.get('y'))
     aligns = {
         'drawString': 'left',
         'drawRightString': 'right',
         'drawCentredString': 'center'
     }
     align = aligns[node.localName]
     self.pos = [(self.posx, self.posy, align, utils.text_get(node), style.get('td'), style.font_size_get('td'))]
开发者ID:0k,项目名称:OpenUpgrade,代码行数:10,代码来源:rml2txt.py

示例13: __init__

    def __init__(self, node, style,localcontext = {}):
        self.localcontext = localcontext
        self.posx = utils.unit_get(node.get('x'))
        self.posy =  utils.unit_get(node.get('y'))

        aligns = {
            'drawString': 'left',
            'drawRightString': 'right',
            'drawCentredString': 'center'
        }
        align = aligns[node.tag]
        self.pos = [(self.posx, self.posy, align, utils._process_text(self, node.text), style.get('td'), style.font_size_get('td'))]
开发者ID:Aravinthu,项目名称:openerp-server-6.1,代码行数:12,代码来源:rml2html.py

示例14: __init__

 def __init__(self, out, node, doc):
     if not node.hasAttribute("pageSize"):
         pageSize = (utils.unit_get("21cm"), utils.unit_get("29.7cm"))
     else:
         ps = map(lambda x: x.strip(), node.getAttribute("pageSize").replace(")", "").replace("(", "").split(","))
         pageSize = (utils.unit_get(ps[0]), utils.unit_get(ps[1]))
     cm = reportlab.lib.units.cm
     self.doc_tmpl = platypus.BaseDocTemplate(
         out,
         pagesize=pageSize,
         **utils.attr_get(
             node,
             ["leftMargin", "rightMargin", "topMargin", "bottomMargin"],
             {"allowSplitting": "int", "showBoundary": "bool", "title": "str", "author": "str"},
         )
     )
     self.page_templates = []
     self.styles = doc.styles
     self.doc = doc
     pts = node.getElementsByTagName("pageTemplate")
     for pt in pts:
         frames = []
         for frame_el in pt.getElementsByTagName("frame"):
             frame = platypus.Frame(
                 **(
                     utils.attr_get(
                         frame_el,
                         [
                             "x1",
                             "y1",
                             "width",
                             "height",
                             "leftPadding",
                             "rightPadding",
                             "bottomPadding",
                             "topPadding",
                         ],
                         {"id": "text", "showBoundary": "bool"},
                     )
                 )
             )
             frames.append(frame)
         gr = pt.getElementsByTagName("pageGraphics")
         if len(gr):
             drw = _rml_draw(gr[0], self.doc)
             self.page_templates.append(
                 platypus.PageTemplate(frames=frames, onPage=drw.render, **utils.attr_get(pt, [], {"id": "str"}))
             )
         else:
             self.page_templates.append(
                 platypus.PageTemplate(frames=frames, **utils.attr_get(pt, [], {"id": "str"}))
             )
     self.doc_tmpl.addPageTemplates(self.page_templates)
开发者ID:jordotech,项目名称:trml2pdf,代码行数:53,代码来源:trml2pdf.py

示例15: _image

 def _image(self, node):
     #add attribute 'src' to tag 'image' by xiandong.xie
     s = StringIO.StringIO()
     if node.hasAttribute('src'):
         import base64
         imgdata = base64.b64decode(node.getAttribute('src'))
         s.write(imgdata)
     else:
         import urllib
         u = urllib.urlopen(str(node.getAttribute('file')))
         s.write(u.read())
     from reportlab.lib.utils import ImageReader
     s.seek(0)
     img = ImageReader(s)
     
     (sx,sy) = img.getSize()
     
     args = {}
     for tag in ('width','height','x','y'):
         if node.hasAttribute(tag):
             args[tag] = utils.unit_get(node.getAttribute(tag))
     if ('width' in args) and (not 'height' in args):
         args['height'] = sy * args['width'] / sx
     elif ('height' in args) and (not 'width' in args):
         args['width'] = sx * args['height'] / sy
     elif ('width' in args) and ('height' in args):
         if (float(args['width'])/args['height'])>(float(sx)>sy):
             args['width'] = sx * args['height'] / sy
         else:
             args['height'] = sy * args['width'] / sx
     self.canvas.drawImage(img, **args)
开发者ID:jbetsinger,项目名称:mes,代码行数:31,代码来源:trml2pdf.py


注:本文中的utils.unit_get函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。