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


Python parser.Contentlines类代码示例

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


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

示例1: testHmm

 def testHmm(self):
     from icalendar.parser import Contentlines, Contentline
     c = Contentlines([Contentline('BEGIN:VEVENT\r\n')])
     c.append(Contentline(''.join(['123456789 ']*10)+'\r\n'))
     output = c.to_ical()
     self.assertEqual(output, 
             'BEGIN:VEVENT\r\n\r\n123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234\r\n 56789 123456789 123456789 \r\n')
开发者ID:novakps,项目名称:icalendar,代码行数:7,代码来源:test_icalendar.py

示例2: content_lines

 def content_lines(self):
     "Converts the Component and subcomponents into content lines"
     contentlines = Contentlines()
     for name, values in self.property_items():
         params = getattr(values, 'params', Parameters())
         contentlines.append(Contentline.from_parts((name, params, values)))
     contentlines.append('') # remember the empty string in the end
     return contentlines
开发者ID:WebActionHero,项目名称:icalendar,代码行数:8,代码来源:cal.py

示例3: XtestLongLine

 def XtestLongLine(self):
     from icalendar.parser import Contentlines, Contentline
     c = Contentlines([Contentline('BEGIN:VEVENT\\r\\n')])
     c.append(Contentline(''.join(['123456789 ']*10)+'\\r\\n'))
     import pdb ; pdb.set_trace()
     output = str(c)
     self.assertEqual(output, 
             "BEGIN:VEVENT\\r\\n\\r\\n123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234\\r\\n 56789 123456789 123456789 \\r\\n")
开发者ID:DFectuoso,项目名称:Calendar-tools,代码行数:8,代码来源:test_icalendar.py

示例4: XtestLongLine

 def XtestLongLine(self):
     from icalendar.parser import Contentlines, Contentline
     c = Contentlines([Contentline('BEGIN:VEVENT\\r\\n')])
     c.append(Contentline(''.join(['123456789 ']*10)+'\\r\\n'))
     output = c.to_ical()
     cmp = ("BEGIN:VEVENT\\r\\n\\r\\n123456789 123456789 123456789 "
            "123456789 123456789 123456789 123456789 1234\\r\\n 56789 "
            "123456789 123456789 \\r\\n")
     self.assertEqual(output, cmp)
开发者ID:barakmich,项目名称:icalendar,代码行数:9,代码来源:test_icalendar.py

示例5: test_long_lines

 def test_long_lines(self):
     from icalendar.parser import Contentlines, Contentline
     c = Contentlines([Contentline('BEGIN:VEVENT\r\n')])
     c.append(Contentline(''.join('123456789 ' * 10) + '\r\n'))
     self.assertEqual(
         c.to_ical(),
         'BEGIN:VEVENT\r\n\r\n123456789 123456789 123456789 123456789 '
         '123456789 123456789 123456789 1234\r\n 56789 123456789 '
         '123456789 \r\n\r\n'
     )
开发者ID:Konubinix,项目名称:icalendar,代码行数:10,代码来源:test_icalendar.py

示例6: testHmm

    def testHmm(self):
        from icalendar.parser import Contentlines, Contentline

        c = Contentlines([Contentline("BEGIN:VEVENT\r\n")])
        c.append(Contentline("".join(["123456789 "] * 10) + "\r\n"))
        output = c.to_ical()
        self.assertEqual(
            output,
            "BEGIN:VEVENT\r\n\r\n123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234\r\n 56789 123456789 123456789 \r\n",
        )
开发者ID:WebActionHero,项目名称:icalendar,代码行数:10,代码来源:test_icalendar.py

示例7: testHmm

 def testHmm(self):
     from icalendar.parser import Contentlines, Contentline
     c = Contentlines([Contentline('BEGIN:VEVENT\r\n')])
     c.append(Contentline(''.join(['123456789 ']*10)+'\r\n'))
     output = c.to_ical()
     # XXX: sure? looks weird in conjunction with generated content above.
     #cmp = ('BEGIN:VEVENT\r\n\r\n123456789 123456789 123456789 123456789 '
     #       '123456789 123456789 123456789 1234\r\n 56789 123456789 '
     #       '123456789 \r\n')
     cmp = ('BEGIN:VEVENT\r\n\r\n123456789 123456789 123456789 123456789 '
            '123456789 123456789 123456789 \r\n 123456789 123456789 '
            '123456789 \r\n\r\n')
     self.assertEqual(output, cmp)
开发者ID:barakmich,项目名称:icalendar,代码行数:13,代码来源:test_icalendar.py

示例8: from_ical

    def from_ical(cls, st, multiple=False):
        """Populates the component recursively from a string.
        """
        stack = []  # a stack of components
        comps = []
        for line in Contentlines.from_ical(st):  # raw parsing
            if not line:
                continue
            name, params, vals = line.parts()
            uname = name.upper()
            # check for start of component
            if uname == 'BEGIN':
                # try and create one of the components defined in the spec,
                # otherwise get a general Components for robustness.
                c_name = vals.upper()
                c_class = component_factory.get(c_name, cls)
                component = c_class()
                if not getattr(component, 'name', ''):  # undefined components
                    component.name = c_name
                stack.append(component)
            # check for end of event
            elif uname == 'END':
                # we are done adding properties to this component
                # so pop it from the stack and add it to the new top.
                component = stack.pop()
                if not stack:  # we are at the end
                    comps.append(component)
                else:
                    if not component.is_broken:
                        stack[-1].add_component(component)
            # we are adding properties to the current top of the stack
            else:
                factory = types_factory.for_property(name)
                component = stack[-1]
                datetime_names = ('DTSTART', 'DTEND', 'RECURRENCE-ID', 'DUE',
                                  'FREEBUSY', 'RDATE', 'EXDATE')
                try:
                    if name in datetime_names and 'TZID' in params:
                        vals = factory(factory.from_ical(vals, params['TZID']))
                    else:
                        vals = factory(factory.from_ical(vals))
                except ValueError:
                    if not component.ignore_exceptions:
                        raise
                    component.is_broken = True
                else:
                    vals.params = params
                    component.add(name, vals, encode=0)

        if multiple:
            return comps
        if len(comps) > 1:
            raise ValueError('Found multiple components where '
                             'only one is allowed: {st!r}'.format(**locals()))
        if len(comps) < 1:
            raise ValueError('Found no components where '
                             'exactly one is required: '
                             '{st!r}'.format(**locals()))
        return comps[0]
开发者ID:arpa2,项目名称:python-icalendar,代码行数:59,代码来源:cal.py

示例9: test_main

    def test_main(self, lines):
        cl = Contentlines()
        for key, params, value in lines:
            params = Parameters(**params)
            cl.append(Contentline.from_parts(key, params, value))
        cl.append('')

        assert Contentlines.from_ical(cl.to_ical()) == cl
开发者ID:collective,项目名称:icalendar,代码行数:8,代码来源:test_fuzzing.py

示例10: from_string

    def from_string(st, multiple=False):
        """
        Populates the component recursively from a string
        """
        stack = []  # a stack of components
        comps = []
        for line in Contentlines.from_string(st):  # raw parsing
            if not line:
                continue
            name, params, vals = line.parts()
            uname = name.upper()
            # check for start of component
            if uname == "BEGIN":
                # try and create one of the components defined in the spec,
                # otherwise get a general Components for robustness.
                component_name = vals.upper()
                component_class = component_factory.get(component_name, Component)
                component = component_class()
                if not getattr(component, "name", ""):  # for undefined components
                    component.name = component_name
                stack.append(component)
            # check for end of event
            elif uname == "END":
                # we are done adding properties to this component
                # so pop it from the stack and add it to the new top.
                component = stack.pop()
                if not stack:  # we are at the end
                    comps.append(component)
                else:
                    if not component.is_broken:
                        stack[-1].add_component(component)
            # we are adding properties to the current top of the stack
            else:
                factory = types_factory.for_property(name)
                component = stack[-1]
                try:
                    vals = factory(factory.from_ical(vals))
                except ValueError:
                    if not component.ignore_exceptions:
                        raise
                    component.is_broken = True
                else:
                    vals.params = params
                    component.add(name, vals, encode=0)

        if multiple:
            return comps
        if len(comps) > 1:
            raise ValueError("Found multiple components where " "only one is allowed: {st!r}".format(**locals()))
        if len(comps) < 1:
            raise ValueError("Found no components where " "exactly one is required: {st!r}".format(**locals()))
        return comps[0]
开发者ID:alswl,项目名称:dbevent2gc,代码行数:52,代码来源:cal.py

示例11: from_string

 def from_string(st, multiple=False):
     """
     Populates the component recursively from a string
     """
     stack = [] # a stack of components
     comps = []
     for line in Contentlines.from_string(st): # raw parsing
         if not line:
             continue
         name, params, vals = line.parts()
         uname = name.upper()
         # check for start of component
         if uname == 'BEGIN':
             # try and create one of the components defined in the spec,
             # otherwise get a general Components for robustness.
             component_name = vals.upper()
             component_class = component_factory.get(component_name, Component)
             component = component_class()
             if not getattr(component, 'name', ''): # for undefined components
                 component.name = component_name
             stack.append(component)
         # check for end of event
         elif uname == 'END':
             # we are done adding properties to this component
             # so pop it from the stack and add it to the new top.
             component = stack.pop()
             if not stack: # we are at the end
                 comps.append(component)
             else:
                 stack[-1].add_component(component)
         # we are adding properties to the current top of the stack
         else:
             factory = types_factory.for_property(name)
             vals = factory(factory.from_ical(vals))
             vals.params = params
             stack[-1].add(name, vals, encode=0)
     if multiple:
         return comps
     if not len(comps) == 1:
         raise ValueError('Found multiple components where '
                          'only one is allowed')
     return comps[0]
开发者ID:Abraham248,项目名称:hd-events,代码行数:42,代码来源:cal.py

示例12: from_ical

    def from_ical(st, multiple=False):
        """
        Populates the component recursively from a string

        RecurrenceIDs may contain a TZID parameter, if so, they should create a tz localized datetime, otherwise, create a naive datetime
        >>> componentStr = 'BEGIN:VEVENT\\nRECURRENCE-ID;TZID=America/Denver:20120404T073000\\nEND:VEVENT'
        >>> component = Component.from_ical(componentStr)
        >>> component['RECURRENCE-ID'].dt.tzinfo
        <DstTzInfo 'America/Denver' MDT-1 day, 18:00:00 DST>

        >>> componentStr = 'BEGIN:VEVENT\\nRECURRENCE-ID:20120404T073000\\nEND:VEVENT'
        >>> component = Component.from_ical(componentStr)
        >>> component['RECURRENCE-ID'].dt.tzinfo == None
        True
        """
        stack = [] # a stack of components
        comps = []
        for line in Contentlines.from_ical(st): # raw parsing
            if not line:
                continue
            name, params, vals = line.parts()
            uname = name.upper()
            # check for start of component
            if uname == 'BEGIN':
                # try and create one of the components defined in the spec,
                # otherwise get a general Components for robustness.
                component_name = vals.upper()
                component_class = component_factory.get(component_name, Component)
                component = component_class()
                if not getattr(component, 'name', ''): # for undefined components
                    component.name = component_name
                stack.append(component)
            # check for end of event
            elif uname == 'END':
                # we are done adding properties to this component
                # so pop it from the stack and add it to the new top.
                component = stack.pop()
                if not stack: # we are at the end
                    comps.append(component)
                else:
                    if not component.is_broken:
                        stack[-1].add_component(component)
            # we are adding properties to the current top of the stack
            else:
                factory = types_factory.for_property(name)
                component = stack[-1]
                try:
                    if name in ('DTSTART', 'DTEND','RECURRENCE-ID') and 'TZID' in params: # TODO: add DUE, FREEBUSY
                        vals = factory(factory.from_ical(vals, params['TZID']))
                    else:
                        vals = factory(factory.from_ical(vals))
                except ValueError:
                    if not component.ignore_exceptions:
                        raise
                    component.is_broken = True
                else:
                    vals.params = params
                    component.add(name, vals, encode=0)

        if multiple:
            return comps
        if len(comps) > 1:
            raise ValueError('Found multiple components where '
                             'only one is allowed: {st!r}'.format(**locals()))
        if len(comps) < 1:
            raise ValueError('Found no components where '
                             'exactly one is required: {st!r}'.format(**locals()))
        return comps[0]
开发者ID:WebActionHero,项目名称:icalendar,代码行数:68,代码来源:cal.py

示例13: XtestTrailingNewline

 def XtestTrailingNewline(self):
     from icalendar.parser import Contentlines, Contentline
     c = Contentlines([Contentline('BEGIN:VEVENT\\r\\n')])
     output = c.to_ical()
     self.assertEqual(output, 'BEGIN:VEVENT\\r\\n')
开发者ID:novakps,项目名称:icalendar,代码行数:5,代码来源:test_icalendar.py

示例14: from_ical

    def from_ical(cls, st, multiple=False):
        """Populates the component recursively from a string.
        """
        stack = []  # a stack of components
        comps = []
        previous_line = None
        for line in Contentlines.from_ical(st):  # raw parsing
            if not line:
                continue

            try:
                name, params, vals = line.parts()
                previous_line = line
            except ValueError as err:
                # if unable to parse a line within a component
                # that ignores exceptions, mark the component
                # as broken and skip the line. otherwise raise.
                try:
                    if previous_line and name in NEWLINE_FIX_NAMES:
                        try:
                            #Try to generate line from last name key (fix malformed line breaks)
                            new_line = Contentline.from_ical(
                                previous_line + escape_char('\n') + line)
                            name, params, vals = new_line.parts()
                            component = stack[-1]
                            component.pop(name)
                            previous_line = new_line
                        except:
                            raise
                    else:
                        raise
                except ValueError as err: 
                    component = stack[-1] if stack else None
                    if not component or not component.ignore_exceptions:
                        raise
                    component.is_broken = True
                    print "Broken: " + str(component)
                    continue

            uname = name.upper()
            # check for start of component
            if uname == 'BEGIN':
                # try and create one of the components defined in the spec,
                # otherwise get a general Components for robustness.
                c_name = vals.upper()
                c_class = component_factory.get(c_name, cls)
                component = c_class()
                if not getattr(component, 'name', ''):  # undefined components
                    component.name = c_name
                stack.append(component)
            # check for end of event
            elif uname == 'END':
                # we are done adding properties to this component
                # so pop it from the stack and add it to the new top.
                component = stack.pop()
                if not stack:  # we are at the end
                    comps.append(component)
                else:
                    if not component.is_broken:
                        stack[-1].add_component(component)
            # we are adding properties to the current top of the stack
            else:
                factory = types_factory.for_property(name)
                component = stack[-1]
                datetime_names = ('DTSTART', 'DTEND', 'RECURRENCE-ID', 'DUE',
                                  'FREEBUSY', 'RDATE', 'EXDATE')
                try:
                    if name in datetime_names and 'TZID' in params:
                        vals = factory(factory.from_ical(vals, params['TZID']))
                    else:
                        vals = factory(factory.from_ical(vals))
                except ValueError:
                    if not component.ignore_exceptions:
                        raise
                    component.is_broken = True
                else:
                    vals.params = params
                    component.add(name, vals, encode=0)

        if multiple:
            return comps
        if len(comps) > 1:
            raise ValueError('Found multiple components where '
                             'only one is allowed: {st!r}'.format(**locals()))
        if len(comps) < 1:
            #Fix missing END:VCALENDAR flag problem
            if len(stack)==1 and stack[-1].name == u'VCALENDAR':
                component = stack.pop()
                comps.append(component)
            else:
                raise ValueError('Found no components where '
                                 'exactly one is required: '
                                 '{st!r}'.format(**locals()))
        return comps[0]
开发者ID:goconnectome,项目名称:icalendar,代码行数:94,代码来源:cal.py


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