• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python utils.toUnicode函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: textNumEncode

def textNumEncode(st, mode=None, changeSpecialChars=True, changeDot=False):
    if not enableNumLocale:
        mode = 'en'
    if mode==None:
        mode = langSh
    elif isinstance(mode, int):
        if langSh != 'en':
            try:
                mode = calTypes[mode].origLang
            except AttributeError:
                mode = langSh
    dig = getLangDigits(mode)
    res = u''
    for c in toUnicode(st):
        try:
            i = int(c)
        except:
            if enableNumLocale:
                if c in (',', '_', '%'):## FIXME
                    if changeSpecialChars:
                        c = tr(c)
                elif c=='.':## FIXME
                    if changeDot:
                        c = tr(c)
            res += c
        else:
            res += dig[i]
    return res ## .encode('utf8')
开发者ID:Noori,项目名称:starcal,代码行数:28,代码来源:locale_man.py


示例2: numDecode

def numDecode(numSt):
    numSt = numSt.strip()
    try:
        return int(numSt)
    except ValueError:
        pass
    numSt = toUnicode(numSt)
    tryLangs = digits.keys()
    if langSh in digits:
        tryLangs.remove(langSh)
        tryLangs.insert(0, langSh)
    for tryLang in tryLangs:
        tryLangDigits = digits[tryLang]
        numEn = ''
        for dig in numSt:
            if dig=='-':
                numEn += dig
            else:
                try:
                    numEn += str(tryLangDigits.index(dig))
                except ValueError as e:
                    print('error in decoding num char %s'%dig)
                    #raise e
                    break
        else:
            return int(numEn)
    raise ValueError('invalid locale number %s'%numSt)
开发者ID:Noori,项目名称:starcal,代码行数:27,代码来源:locale_man.py


示例3: keyPress

 def keyPress(self, obj, gevent):
     kval = gevent.keyval
     kname = gdk.keyval_name(gevent.keyval).lower()
     #print kval, kname
     if kname in (
         'tab', 'escape', 'backspace', 'delete', 'insert',
         'home', 'end',
         'control_l', 'control_r',
         'iso_next_group',
     ):
         return False
     elif kname == 'return':
         self.validate()
         return False
     elif kname=='up':
         self.numPlus(1)
     elif kname=='down':
         self.numPlus(-1)
     elif kname=='page_up':
         self.numPlus(self.page_inc)
     elif kname=='page_down':
         self.numPlus(-self.page_inc)
     elif kname=='left':
         return False## FIXME
     elif kname=='right':
         return False## FIXME
     #elif kname in ('braceleft', 'bracketleft'):
     #    self.insertText(u'[')
     #elif kname in ('braceright', 'bracketright'):
     #    self.insertText(u']')
     elif kname in ('comma', 'arabic_comma'):
         self.insertText(u', ', False)
     elif kname=='minus':
         pos = self.get_position()
         text = toUnicode(self.get_text())
         n = len(text)
         if pos==n:
             start = numDecode(text.split(',')[-1].strip())
             self.insertText(u'-' + _(start + 2), False)
         else:
             self.insertText(u'-', False)
     elif ord('0') <= kval <= ord('9'):
         self.insertText(self.digs[kval-ord('0')])
     else:
         uniVal = gtk.gdk.keyval_to_unicode(kval)
         #print 'uniVal=%r'%uniVal
         if uniVal!=0:
             ch = unichr(uniVal)
             #print 'ch=%r'%ch
             if ch in self.digs:
                 self.insertText(ch)
             if gevent.state & gdk.CONTROL_MASK:## Shortcuts like Ctrl + [A, C, X, V]
                 return False
         else:
             print kval, kname
     return True
开发者ID:ErfanBagheri,项目名称:starcal,代码行数:56,代码来源:num_ranges_entry.py


示例4: drawBoxText

def drawBoxText(cr, box, x, y, w, h, widget):
    ## now draw the text
    ## how to find the best font size based in the box's width and height,
    ## and font family? FIXME
    ## possibly write in many lines? or just in one line and wrap if needed?
    if box.text:
        #print(box.text)
        textW = 0.9 * w
        textH = 0.9 * h
        textLen = len(toUnicode(box.text))
        #print('textLen=%s'%textLen)
        avgCharW = float(textW if rotateBoxLabel == 0 else max(textW, textH)) / textLen
        if avgCharW > 3:## FIXME
            font = list(ui.getFont())
            layout = widget.create_pango_layout(box.text) ## a pango.Layout object
            layout.set_font_description(pfontEncode(font))
            layoutW, layoutH = layout.get_pixel_size()
            #print('orig font size: %s'%font[3])
            normRatio = min(
                float(textW)/layoutW,
                float(textH)/layoutH,
            )
            rotateRatio = min(
                float(textW)/layoutH,
                float(textH)/layoutW,
            )
            if rotateBoxLabel != 0 and rotateRatio > normRatio:
                font[3] *= max(normRatio, rotateRatio)
                layout.set_font_description(pfontEncode(font))
                layoutW, layoutH = layout.get_pixel_size()
                fillColor(cr, fgColor)## before cr.move_to
                #print('x=%s, y=%s, w=%s, h=%s, layoutW=%s, layoutH=%s'\)
                #   %(x,y,w,h,layoutW,layoutH)
                cr.move_to(
                    x + (w - rotateBoxLabel*layoutH)/2.0,
                    y + (h + rotateBoxLabel*layoutW)/2.0,
                )
                cr.rotate(-rotateBoxLabel*pi/2)
                cr.show_layout(layout)
                try:
                    cr.rotate(rotateBoxLabel*pi/2)
                except:
                    print('counld not rotate by %s*pi/2 = %s'%(
                        rotateBoxLabel,
                        rotateBoxLabel*pi/2,
                    ))
            else:
                font[3] *= normRatio
                layout.set_font_description(pfontEncode(font))
                layoutW, layoutH = layout.get_pixel_size()
                fillColor(cr, fgColor)## before cr.move_to
                cr.move_to(
                    x + (w-layoutW)/2.0,
                    y + (h-layoutH)/2.0,
                )
                cr.show_layout(layout)
开发者ID:Noori,项目名称:starcal,代码行数:56,代码来源:timeline_box.py


示例5: cutText

def cutText(text, n):
    text = toUnicode(text)
    newText = text[:n]
    if len(text) > n:
        if text[n] not in list(string.printable)+[ZWNJ]:
            try:
                newText += ZWJ
            except UnicodeDecodeError:
                pass
    return newText
开发者ID:Noori,项目名称:starcal,代码行数:10,代码来源:locale_man.py


示例6: confStr

 def confStr(self):
     value = getattr(self.module, self.varName)
     if isinstance(value, str):
         value = toUnicode(value)
     valueStr = repr(value)
     ## repr of a utf8 string (by Python 2) is not utf8 and not readable correctly from Python 3
     ## no simple way you can fix that for strings nested inside other structures
     ## yet another reason to switch to JSON for config files
     ## FIXME
     return '%s=%s\n'%(self.varName, valueStr)
开发者ID:amirkarimi,项目名称:starcal,代码行数:10,代码来源:pref_utils.py


示例7: insertText

 def insertText(self, s, clearSeceltion=True):
     selection = self.get_selection_bounds()
     if selection and clearSeceltion:
         start, end = selection
         text = toUnicode(self.get_text())
         text = text[:start] + s + text[end:]
         self.set_text(text)
         self.set_position(start+len(s))
     else:
         pos = self.get_position()
         self.insert_text(s, pos)
         self.set_position(pos + len(s))
开发者ID:ErfanBagheri,项目名称:starcal,代码行数:12,代码来源:num_ranges_entry.py


示例8: exportEvent

def exportEvent(event):
    if not event.changeMode(DATE_GREG):
        return
    icsData = event.getIcsData(True)
    if not icsData:
        return
    gevent = {
        'kind': 'calendar#event',
        'summary': toUnicode(event.summary),
        'description': toUnicode(event.description),
        'attendees': [],
        'status': 'confirmed',
        'visibility': 'default',
        'guestsCanModify': False,
        'reminders': {
            'overrides': {
                'minutes': event.getNotifyBeforeMin(),
                'method': 'popup',## FIXME
            },
        },
        'extendedProperties':{
            'shared': {
                'starcal_type': event.name,
            },
        }
    }
    for key, value in icsData:
        key = key.upper()
        if key=='DTSTART':
            gevent['start'] = decodeIcsStartEnd(value)
        elif key=='DTEND':
            gevent['end'] = decodeIcsStartEnd(value)
        elif key in ('RRULE', 'RDATE', 'EXRULE', 'EXDATE'):
            if not 'recurrence' in gevent:
                gevent['recurrence'] = []
            gevent['recurrence'].append(key + ':' + value)
        elif key=='TRANSP':
            gevent['transparency'] = value.lower()
        #elif key=='CATEGORIES':
    return gevent
开发者ID:seacgroup,项目名称:starcal,代码行数:40,代码来源:google_starcal.py


示例9: textNumDecode

def textNumDecode(text):## converts '۱۲:۰۰, ۱۳' to '12:00, 13'
    text = toUnicode(text)
    textEn = u''
    langDigits = getLangDigits(langSh)
    for ch in text:
        try:
            textEn += unicode(langDigits.index(ch))
        except ValueError:
            for sch in (u',', u'_', u'.'):
                if ch == tr(sch):
                    ch = sch
                    break
            textEn += ch
    return textEn
开发者ID:Noori,项目名称:starcal,代码行数:14,代码来源:locale_man.py


示例10: numPlus

 def numPlus(self, plus):
     pos = self.get_position()
     text = toUnicode(self.get_text())
     n = len(text)
     commaI = text.rfind(u',', 0, pos)
     if commaI == -1:
         startI = 0
     else:
         if text[commaI+1]==' ':
             startI = commaI + 2
         else:
             startI = commaI + 1
     nextCommaI = text.find(u',', pos)
     if nextCommaI == -1:
         endI = n
     else:
         endI = nextCommaI
     dashI = text.find(u'-', startI, endI)
     if dashI != -1:
         #print 'dashI=%r'%dashI
         if pos < dashI:
             endI = dashI
         else:
             startI = dashI + 1
     thisNumStr = text[startI:endI]
     #print startI, endI, thisNumStr
     if thisNumStr:
         thisNum = numDecode(thisNumStr)
         newNum = thisNum + plus
         if not self._min <= newNum <= self._max:
             return
     else:
         if plus > 0:
             newNum = self._max
         else:
             newNum = self._min
     newNumStr = _(newNum)
     newText = text[:startI] + newNumStr + text[endI:]
     self.set_text(newText)
     #print 'new end index', endI - len(thisNumStr) + len(newNumStr)
     self.set_position(pos)
     self.select_region(
         startI,
         endI - len(thisNumStr) + len(newNumStr),
     )
开发者ID:ErfanBagheri,项目名称:starcal,代码行数:45,代码来源:num_ranges_entry.py


示例11: __init__

 def __init__(self, sep, fields, arrow_select=True, page_inc=10):
     gtk.SpinButton.__init__(self)
     ####
     sep = toUnicode(sep)
     self.field = ContainerField(sep, *fields)
     self.arrow_select = arrow_select
     self.set_editable(True)
     ###
     self.digs = locale_man.getDigits()
     ###
     ####
     self.set_direction(gtk.TEXT_DIR_LTR) ## self is a gtk.Entry
     self.set_width_chars(self.field.getMaxWidth())
     self.set_value(0)
     self.set_digits(0)
     gtk.SpinButton.set_range(self, -2, 2)
     self.set_increments(1, page_inc)
     #self.connect('activate', lambda obj: self.update())
     self.connect('activate', self._entry_activate)
     self.connect('key-press-event', self._key_press)
     self.connect('scroll-event', self._scroll)
     self.connect('button-press-event', self._button_press)
     self.connect('button-release-event', self._button_release)
     self.connect('output', lambda obj: True)##Disable auto-numeric-validating(the entry text is not a numebr)
开发者ID:amirkarimi,项目名称:starcal,代码行数:24,代码来源:__init__.py


示例12: set_title

 def set_title(self, title):
     self.setWindowTitle(toUnicode(title))
开发者ID:karoon,项目名称:starcal2,代码行数:2,代码来源:about_dialog.py


示例13: set_authors

 def set_authors(self, authors):
     self.credits[_('Written by')] = [toUnicode(a) for a in authors]
开发者ID:karoon,项目名称:starcal2,代码行数:2,代码来源:about_dialog.py


示例14: set_artists

 def set_artists(artists):
     self.credits[_('Translated by')] = [toUnicode(a) for a in artists]
开发者ID:karoon,项目名称:starcal2,代码行数:2,代码来源:about_dialog.py


示例15: set_documenters

 def set_documenters(documenters):
     self.credits[_('Documented by')] = [toUnicode(a) for a in documenters]
开发者ID:karoon,项目名称:starcal2,代码行数:2,代码来源:about_dialog.py


示例16: set_comments

 def set_comments(self, comments):
     self.comments = toUnicode(comments)
开发者ID:karoon,项目名称:starcal2,代码行数:2,代码来源:about_dialog.py


示例17: drawBox

 def drawBox(self, cr, box):
     d = box.lineW
     x = box.x
     w = box.w
     y = box.y
     h = box.h
     ###
     cr.rectangle(x, y, w, h)
     if d == 0:
         fillColor(cr, box.color)
     else:
         try:
             alpha = box.color[3]
         except IndexError:
             alpha = 255
         try:
             fillColor(cr, (
                 box.color[0],
                 box.color[1],
                 box.color[2],
                 int(alpha*boxInnerAlpha),
             ))
         except cairo.Error:
             return
         ###
         cr.set_line_width(0)
         cr.move_to(x, y)
         cr.line_to(x+w, y)
         cr.line_to(x+w, y+h)
         cr.line_to(x, y+h)
         cr.line_to(x, y)
         cr.line_to(x+d, y)
         cr.line_to(x+d, y+h-d)
         cr.line_to(x+w-d, y+h-d)
         cr.line_to(x+w-d, y+d)
         cr.line_to(x+d, y+d)
         cr.close_path()
         fillColor(cr, box.color)
         ######## Draw Move/Resize Border
         if box.hasBorder:
             if w > boxMoveBorder*2 and h > boxMoveBorder:
                 b = boxMoveBorder
                 bd = boxMoveLineW
                 #cr.set_line_width(bd)
                 cr.move_to(x+b, y+h)
                 cr.line_to(x+b, y+b)
                 cr.line_to(x+w-b, y+b)
                 cr.line_to(x+w-b, y+h)
                 cr.line_to(x+w-b-bd, y+h)
                 cr.line_to(x+w-b-bd, y+b+bd)
                 cr.line_to(x+b+bd, y+b+bd)
                 cr.line_to(x+b+bd, y+h)
                 cr.close_path()
                 fillColor(cr, box.color)
                 ###
                 bds = 0.7*bd
                 cr.move_to(x, y)
                 cr.line_to(x+bds, y)
                 cr.line_to(x+b+bds, y+b)
                 cr.line_to(x+b, y+b+bds)
                 cr.line_to(x, y+bds)
                 cr.close_path()
                 fillColor(cr, box.color)
                 ##
                 cr.move_to(x+w, y)
                 cr.line_to(x+w-bds, y)
                 cr.line_to(x+w-b-bds, y+b)
                 cr.line_to(x+w-b, y+b+bds)
                 cr.line_to(x+w, y+bds)
                 cr.close_path()
                 fillColor(cr, box.color)
             else:
                 box.hasBorder = False
         ########
         ## now draw the text
         ## how to find the best font size based in the box's width and height, and font family? FIXME
         ## possibly write in many lines? or just in one line and wrap if needed?
         if box.text:
             #print box.text
             textW = 0.9*w
             textH = 0.9*h
             textLen = len(toUnicode(box.text))
             #print 'textLen=%s'%textLen
             if rotateBoxLabel == 0:
                 avgCharW = float(textW) / textLen
             else:
                 avgCharW = float(max(textW, textH)) / textLen
             #print 'avgCharW=%s'%avgCharW
             if avgCharW > 3:## FIXME
                 font = list(ui.getFont())
                 layout = self.create_pango_layout(box.text) ## a pango.Layout object
                 layout.set_font_description(pfontEncode(font))
                 layoutW, layoutH = layout.get_pixel_size()
                 #print 'orig font size: %s'%font[3]
                 normRatio = min(
                     float(textW)/layoutW,
                     float(textH)/layoutH,
                 )
                 rotateRatio = min(
                     float(textW)/layoutH,
#.........这里部分代码省略.........
开发者ID:karoon,项目名称:starcal2,代码行数:101,代码来源:timeline.py


示例18: update

 def update(self):
     pos = self.get_position()
     self.field.setText(toUnicode(self.get_text()))
     self.set_text(self.field.getText())
     self.set_position(pos)
开发者ID:seacgroup,项目名称:starcal,代码行数:5,代码来源:multi_spin_button.py


示例19: copy

 def copy(self, item, label):
     bound = label.get_property('selection-bound')
     cursor = label.get_property('cursor-position')
     start = min(bound, cursor)
     end = max(bound, cursor)
     self.clipboard.set_text(toStr(toUnicode(label.get_text())[start:end]))
开发者ID:karoon,项目名称:starcal2,代码行数:6,代码来源:occurrence_view.py


示例20: set_version

 def set_version(self, version):
     self.version = toUnicode(version)
开发者ID:karoon,项目名称:starcal2,代码行数:2,代码来源:about_dialog.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python locale_man._函数代码示例发布时间:2022-05-27
下一篇:
Python multi_spin_button.DateButton类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap