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

Python vobject.iCalendar函数代码示例

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

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



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

示例1: test_compare_summary_diff2

def test_compare_summary_diff2():
    first = iCalendar()
    first_vevent = first.add('vevent')
    first_vevent.add('summary').value = "Foo"

    second = iCalendar()
    second.add('vevent')
    second_out = iCalendar()

    compare(first, second, second_out)
    assert len(first.contents) == 1
    assert len(second_out.contents) == 1
开发者ID:Xitian9,项目名称:python-remind,代码行数:12,代码来源:test_compare.py


示例2: test_compare_simple

def test_compare_simple():
    first = iCalendar()
    first.add('vevent')

    second = iCalendar()
    second.add('vevent')

    second_out = iCalendar()

    compare(first, second, second_out)
    assert len(first.contents) == 0
    assert len(second_out.contents) == 0
开发者ID:Xitian9,项目名称:python-remind,代码行数:12,代码来源:test_compare.py


示例3: test_compare_dtend

def test_compare_dtend():
    first = iCalendar()
    first_vevent = first.add('vevent')
    first_vevent.add('dtstart').value = datetime(2001, 1, 1, 10, 0)
    first_vevent.add('dtend').value = datetime(2001, 1, 1, 11, 0)

    second = iCalendar()
    second_vevent = second.add('vevent')
    second_vevent.add('dtstart').value = datetime(2001, 1, 1, 10, 0)
    second_vevent.add('dtend').value = datetime(2001, 1, 1, 11, 0)
    second_out = iCalendar()

    compare(first, second, second_out)
    assert len(first.contents) == 0
    assert len(second_out.contents) == 0
开发者ID:Xitian9,项目名称:python-remind,代码行数:15,代码来源:test_compare.py


示例4: test_compare_dtend_duration_diff

def test_compare_dtend_duration_diff():
    first = iCalendar()
    first_vevent = first.add('vevent')
    first_vevent.add('dtstart').value = datetime(2001, 1, 1, 10, 0)
    first_vevent.add('dtend').value = datetime(2001, 1, 1, 11, 0)

    second = iCalendar()
    second_vevent = second.add('vevent')
    second_vevent.add('dtstart').value = datetime(2001, 1, 1, 10, 0)
    second_vevent.add('duration').value = timedelta(hours=2)
    second_out = iCalendar()

    compare(first, second, second_out)
    assert len(first.contents) == 1
    assert len(second_out.contents) == 1
开发者ID:Xitian9,项目名称:python-remind,代码行数:15,代码来源:test_compare.py


示例5: test0050create_event_attendee

    def test0050create_event_attendee(self):
        'Create event with attendee'
        ical = vobject.iCalendar()
        vevent = ical.add('vevent')
        vevent.add('summary')
        vevent.summary.value = 'Test event with attendee'
        vevent.add('dtstart')
        vevent.dtstart.value = datetime.datetime.now() + relativedelta(days=10)
        vevent.add('dtend')
        vevent.dtend.value = datetime.datetime.now() + relativedelta(days=10,
            hours=4)
        vevent.add('organizer')
        vevent.organizer.value = '%[email protected]' % user
        attendees = []
        for name in ('foo', 'bar'):
            attendee = vobject.base.ContentLine('ATTENDEE', [], '')
            attendee.partstat_param = 'TENTATIVE'
            attendee.value = 'MAILTO:%[email protected]' % name
            attendees.append(attendee)
        vevent.attendee_list = attendees
        caldav.Event(self.client, data=ical.serialize(),
            parent=self.calendar).save()

        Event = Model.get('calendar.event')
        owner_event, = Event.find([
                ('calendar.owner.email', '=', '%[email protected]' % user),
                ('summary', '=', vevent.summary.value),
                ])
        attendee_event, = Event.find([
                ('calendar.owner.email', '=', '[email protected]'),
                ])
        self.assertEqual(attendee_event.uuid, owner_event.uuid)
开发者ID:Sisouvan,项目名称:ogh,代码行数:32,代码来源:scenario_calendar.py


示例6: action_ical

def action_ical(request,username):
	user = get_object_or_404(User,username=username)
	todos = user.actionitem_todo.filter(done=False)
	filename = "JK_Gestor_ActionItems.ics"
	
	import vobject
	import datetime
	
	cal = vobject.iCalendar()
	cal.add('method').value = 'PUBLISH'  # IE/Outlook needs this
	
	for actionitem in todos:
		vtodo = cal.add('vtodo')
		vtodo.add('summary').value = actionitem.title
		
		# TODO: escaping this stuff
		# vtodo.add('description').value = actionitem.description
		
		vtodo.add('due;value=date').value = actionitem.due_date.strftime("%Y%m%d")
		vtodo.add('priority').value = "0"
		
	
	icalstream = cal.serialize()
	response = HttpResponse(icalstream, mimetype='text/calendar')
	response['Filename'] = filename  # IE needs this
	response['Content-Disposition'] = 'attachment; filename='+filename
	return response
开发者ID:jeKnowledge,项目名称:gestor,代码行数:27,代码来源:views.py


示例7: events_calendar

def events_calendar(request, public=True):
    cache_key = "calendar_%s" % ("public" if public else "private")
    cached = cache.get(cache_key)
    if cached:
        return cached
    cal = vobject.iCalendar()
    cal.add("X-WR-CALNAME").value = "Air Mozilla Public Events" if public else "Air Mozilla Private Events"
    now = datetime.datetime.utcnow().replace(tzinfo=utc)
    events = list(
        Event.objects.approved()
        .filter(start_time__lt=now, public=public)
        .order_by("-start_time")[: settings.CALENDAR_SIZE]
    )
    events += list(
        Event.objects.approved()
        .filter(start_time__gte=now, public=public)
        .order_by("start_time")[: settings.CALENDAR_SIZE]
    )
    base_url = "%s://%s/" % (request.is_secure() and "https" or "http", RequestSite(request).domain)
    for event in events:
        vevent = cal.add("vevent")
        vevent.add("summary").value = event.title
        vevent.add("dtstart").value = event.start_time
        vevent.add("dtend").value = event.start_time + datetime.timedelta(hours=1)
        vevent.add("description").value = unhtml(short_desc(event))
        if event.location:
            vevent.add("location").value = event.location.name
        vevent.add("url").value = base_url + event.slug + "/"
    icalstream = cal.serialize()
    response = http.HttpResponse(icalstream, mimetype="text/calendar; charset=utf-8")
    filename = "AirMozillaEvents%s.ics" % ("Public" if public else "Private")
    response["Content-Disposition"] = "inline; filename=%s" % filename
    cache.set(cache_key, response)
    return response
开发者ID:peterbe,项目名称:airmozilla,代码行数:34,代码来源:views.py


示例8: make_ical

def make_ical(data, sources):
    calweek_regex = re.compile(r'^(\d+)\. KW$')
    time_regex = re.compile(r'^(\d+)\.(\d+) - (\d+)\.(\d+)$')
    room_regex = re.compile(r'^(.*) - (.*)$')

    times = {}
    for time in data[0]['order']:
        matches = time_regex.match(time)
        if not matches:
            raise CannotParseTime("String was: %s" % time)
        newtime = {'start': rd.relativedelta(hour=int(matches.group(1)), minute=int(matches.group(2))),
                   'end': rd.relativedelta(hour=int(matches.group(3)), minute=int(matches.group(4)))}
        times[time] = newtime

    calendar = vobject.iCalendar()

    cat_map = {u"V": u"Vorlesung",
               u"Ü": u"Übung",
               u"P": u"Praktikum"}

    begin_date = None
    for week in data:
        if not begin_date:
            calweek = calweek_regex.match(week['week'])
            if not calweek:
                raise CannotParseCalweek("String was: %s" % week['week'])
            calweek = int(calweek.group(1))
            begin_date = datetime.now() + rd.relativedelta(month=1, day=4, weekday=rd.MO(-1), weeks=+(calweek - 1), hour=0, minute=0, second=0, microsecond=0)
        else:
            begin_date = begin_date + rd.relativedelta(weeks=+1)

        for day in range(0,5):
            day_data = week['data'][day]
            day_date = begin_date + rd.relativedelta(days=+day)
            for time in day_data:
                for entry in day_data[time]:
                    event = calendar.add('vevent')
                    event.add('dtstart').value = day_date + times[time]["start"]
                    event.add('dtend').value = day_date + times[time]["end"]
                    cat = ""
                    if entry["typ"][0] in cat_map:
                        event.add('categories').value = ["UNI:" + cat_map[entry["typ"][0]]]
                        cat = " (%s)" % cat_map[entry["typ"][0]]

                    teacher = entry["room"]
                    room_match = room_regex.match(entry["room"])
                    if room_match:
                        event.add('location').value = room_match.group(1).strip()
                        teacher = room_match.group(2)

                    event.add('summary').value = "%s%s" % (entry['name'], cat)
                    event.add('description').value = u"Kürzel: %s\nDozent: %s\nVeranstaltungsdyp: %s\nQuelle:%s" % (entry["short"],
                                                                     teacher,
                                                                     entry["typ"],
                                                                     sources[entry['source']].string)
                    uid = uuid.uuid3(uuid.NAMESPACE_DNS, '%s %s' % (str(event.location.value),
                                                                    str(event.dtstart.value)))
                    event.add("uid").value = str(uid)

    return calendar.serialize()
开发者ID:janLo,项目名称:htw-schedule,代码行数:60,代码来源:stupl.py


示例9: ical_feed2

def ical_feed2(request):
    '''
    Generates an ical sync of all events in the future
    '''
    cal = vobject.iCalendar()

    tz = timezone(TIME_ZONE)
    utc = timezone('GMT')
    # IE/Outlook needs this:
    cal.add('method').value = 'PUBLISH'
    # Only publish events in the future
    for event in filter(lambda e: e.is_in_future(),Event.objects.order_by('start').exclude(displayFrom__gte=datetime.now())):
        total = str(event.signup_total()) if event.signup_total() else u'\u221E'
        signups = u' [%i/%s]' % (event.signup_count(),total) if event.has_signups() else u''
        vevent = cal.add('vevent')
        vevent.add('summary').value = event.type.name + (' - ' + event.shortDescription if event.shortDescription else event.type.name) + signups
        vevent.add('location').value = str(event.location)
        vevent.add('dtstart').value = tz.localize(event.start).astimezone(utc)
        vevent.add('dtend').value = tz.localize(event.finish).astimezone(utc)
        vevent.add('dtstamp').value = tz.localize(event.creation_time()).astimezone(utc) # again, for Outlook
        vevent.add('description').value = event.longDescription
        vevent.add('sequence').value = str(event.update_count()) # for updates
        vevent.add('categories').value = [event.type.get_target_display()]
        url = "http://%s/events/details/%i/" % (Site.objects.get_current() , event.id)
        vevent.add('uid').value = url
        vevent.add('url').value = url
    response = HttpResponse(cal.serialize(), mimetype='text/calendar; charset=UTF-8')
    response['Filename'] = 'compsoc.ics'  # IE needs this
    response['Content-Disposition'] = 'attachment; filename=compsoc.ics'
    return response
开发者ID:esteluk,项目名称:reinhardt,代码行数:30,代码来源:views.py


示例10: calendar_ics

 def calendar_ics(self,**kwargs):
     #Build list of courses.
     courses = []
     for i in range(1,MAX_COURSES +1):
         if kwargs['course%dname' % i] == '':
             continue
         courses.append({
             'name':kwargs['course%dname' %i],
             'location':kwargs['course%dlocation' %i],
             'slot':kwargs['course%dslot' %i],
             'tutlocation':kwargs['tutorial%dlocation' %i],
             'tutslot':kwargs['tutorial%dslot' %i]
             })
     for course in courses:
         if course['slot'] not in self.slots:
             try:
                 self.parseTimes(course['slot'])
             except:
                 return self.invalidSlot(course)
         if course['tutslot'] != '' and course['tutslot'] not in self.slots:
             try:
                 self.parseTimes(course['tutslot'])
             except:
                 return self.invalidSlot(course)
     cal = vobject.iCalendar()
     for course in courses:
         self.addToCalendar(cal,course)
     cherrypy.response.headers['Content-Type']= 'text/calendar'
     return cal.serialize()
开发者ID:hdevalence,项目名称:queenstimetables,代码行数:29,代码来源:scheduler.py


示例11: xacts_cal

def xacts_cal(request, account):
    parameters = ['-F', '%(date)\t%(payee)\t%(amount)\n', '-d', 'd>=[today]-14 & d < [tomorrow]',  '--sort', 'd', 'reg', '^' + account]
    output = runledger(parameters)

    cal = vobject.iCalendar()
    cal.add('method').value = 'PUBLISH'  # IE/Outlook needs this
    cal.add('x-wr-calname').value = prettyname(account) + " Events"
    cal.add('X-WR-TIMEZONE').value = "US/Pacific"
    cal.add('X-WR-CALDESC').value = "Daily events of account " + account

    for line in output.split('\n'):
        if(line == ""):
            continue
        date, payee, amount = line.split('\t')

        vevent = cal.add('vevent')
        vevent.add('summary').value = payee + "\t" + amount
        vevent.add('dtstart').value = datetime.datetime.strptime(date, "%Y/%m/%d").date()

    icalstream = cal.serialize()
    response = HttpResponse(icalstream, mimetype='text/calendar')
    response['Filename'] = 'ledger-events.ics'  # IE needs this
    response['Content-Disposition'] = 'attachment; filename=ledger-events.ics'

    return response
开发者ID:bettse,项目名称:pygl,代码行数:25,代码来源:views.py


示例12: icalFeed

def icalFeed(request, tag):
    cal = vobject.iCalendar()
    cal.add('CALSCALE').value = 'GREGORIAN'
    cal.add('METHOD').value = 'PUBLISH'
    cal.add('X-WR-CALNAME').value = tag + ' Events'
    cal.add('X-WR-TIMEZONE').value = 'America/New_York'
    cal.add('X-WR-CALDESC').value = 'Calendar of campus events. Filter:'+tag
    
    filteredEvents = Event.objects.filter(event_date_time_end__lte=datetime.now()).order_by('event_date_time_start')
    if not tag == "All":
        filteredEvents = filteredEvents.filter(event_cluster__cluster_tags__category_name=tag)
    
    for event in filteredEvents[0:200]:
        vevent = cal.add('VEVENT')
        vevent.add('SUMMARY').value = smart_unicode(str(event))
        vevent.add('DTSTART').value = event.event_date_time_start
        vevent.add('DTEND').value = event.event_date_time_end
        
        vevent.add('LOCATION').value = unicode(event.getGCalLocation())
        vevent.add('DESCRIPTION').value = unicode(event.getGCalClusterDes() + "\n\n" + event.getGCalEventDes())

    icalstream = cal.serialize()
    response = HttpResponse(icalstream, mimetype='text/calendar')
    response['Content-Type'] = 'text/calendar; charset=utf-8'
#     response['Transfer-Encoding'] = 'chunked'
    response['Connection'] = 'close'
    response['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
    response['Pragma'] = 'no-cache'
    return response
开发者ID:bnprks,项目名称:USG-srv-dev,代码行数:29,代码来源:views_events.py


示例13: __init__

	def __init__(self, list):
		if not list:
			raise RuntimeError("You must define at least one GitHubIssue \
				object")


		self.cal = vobject.iCalendar()

		for issues in list:
			if type(issues) != GitHubIssues:
				raise RuntimeError("All arguments have to be GitHubIssues \
					objects")

			for issue in issues.get():
				todo = self.cal.add('vtodo')

				todo.add('summary').value = issue['title']
				todo.add('description').value = issue['body']
				# FIXME: repo name as a location? any better ideas?
				todo.add('location').value = issues.repo

				created = date(issue['created_at'])
				todo.add('dtstart').value = \
				todo.add('dtstamp').value = \
				todo.add('created').value = created

				todo.add('last-modified').value = date(issue['updated_at'])

				# if the issue has a milestone with due on date
				if issue['milestone']:
					if not issue['milestone']['due_on']:
						continue

					todo.add('due').value = date(issue['milestone']['due_on'])
开发者ID:chmielu,项目名称:GHIssues2ics,代码行数:34,代码来源:ghissues2ics.py


示例14: get

 def get(self, request, *args, **kwargs):
     cal = vobject.iCalendar()
     cal.add('x-wr-calname').value = 'Studentenportal Events'
     cal.add('x-wr-timezone').value = 'Europe/Zurich'
     for event in models.Event.objects.all():
         vevent = cal.add('vevent')
         vevent.add('summary').value = event.summary
         vevent.add('description').value = event.description
         if event.start_time:
             dtstart = datetime.datetime.combine(event.start_date,
                                                 event.start_time)
         else:
             dtstart = event.start_date
         vevent.add('dtstart').value = dtstart
         if event.end_date or event.end_time:
             if not event.end_date:
                 dtend = datetime.datetime.combine(event.start_date,
                                                   event.end_time)
             elif event.end_time:
                 dtend = datetime.datetime.combine(event.end_date,
                                                   event.end_time)
             else:
                 dtend = datetime.datetime.combine(
                     event.end_date, datetime.time(23, 59, 59))
             vevent.add('dtend').value = dtend
         if event.author:
             vevent.add(
                 'comment').value = 'Erfasst von %s' % event.author.name()
     return HttpResponse(cal.serialize(), content_type='text/calendar')
开发者ID:studentenportal,项目名称:web,代码行数:29,代码来源:views.py


示例15: create_collection

 def create_collection(cls, href, collection=None, tag=None):
     folder = os.path.expanduser(
         cls.configuration.get("storage", "filesystem_folder"))
     path = path_to_filesystem(folder, href)
     if not os.path.exists(path):
         os.makedirs(path)
     if not tag and collection:
         tag = collection[0].name
     self = cls(href)
     if tag == "VCALENDAR":
         self.set_meta("tag", "VCALENDAR")
         if collection:
             collection, = collection
             for content in ("vevent", "vtodo", "vjournal"):
                 if content in collection.contents:
                     for item in getattr(collection, "%s_list" % content):
                         new_collection = vobject.iCalendar()
                         new_collection.add(item)
                         self.upload(uuid4().hex, new_collection)
     elif tag == "VCARD":
         self.set_meta("tag", "VADDRESSBOOK")
         if collection:
             for card in collection:
                 self.upload(uuid4().hex, card)
     return self
开发者ID:joyghosh,项目名称:Radicale,代码行数:25,代码来源:storage.py


示例16: handler

def handler(request):
    """Handler which outputs an iCal feed."""

    cal = vobject.iCalendar()

    # /ical/<key>
    try:
        # If a key is passed, return just that Event
        unused_ical, key = request.path_info.split('/')

        event = shortcuts.get_object_or_404(models.Event, pk=key)
        self.add_event(request.get_host(), event, cal)
    except IndexError:
        # else whole calendar.
        future_events = event_lists.get_future_events()
        current_events = event_lists.get_current_events()

        for event, _, _ in current_events.events:
            self.add_event(request.get_host(), event, cal)
        for event, _, _ in future_events.events:
            self.add_event(event, cal)

    response = http.HttpResponse()
    response['Content-Type'] = 'text/x-vCalendar'
    response.write(cal.serialize())
    return response
开发者ID:mattoc,项目名称:slug,代码行数:26,代码来源:ical.py


示例17: total_cal

def total_cal(request, account):
    parameters = ['-E', '-p', 'daily', '-J', '-d', 'd>=[today]-14 & d < [tomorrow]',  '--sort', 'd', 'reg', '^' + account]
    output = runledger(parameters)

    cal = vobject.iCalendar()
    cal.add('method').value = 'PUBLISH'  # IE/Outlook needs this
    cal.add('x-wr-calname').value = prettyname(account) + " Balance"
    cal.add('X-WR-TIMEZONE').value = "US/Pacific"
    cal.add('X-WR-CALDESC').value = "Daily Balance of account " + account

    for line in output.split('\n'):
        if(line == ""):
            continue
        date, total = line.split(' ')

        vevent = cal.add('vevent')
        vevent.add('summary').value = moneyFmt(float(total), 0)
        vevent.add('dtstart').value = datetime.datetime.strptime(date, "%Y-%m-%d").date()

    icalstream = cal.serialize()
    response = HttpResponse(icalstream, mimetype='text/calendar')
    response['Filename'] = 'ledger-balance.ics'  # IE needs this
    response['Content-Disposition'] = 'attachment; filename=ledger-balance.ics'

    return response
开发者ID:bettse,项目名称:pygl,代码行数:25,代码来源:views.py


示例18: __call__

    def __call__(self, *args, **kwargs):
        self.args = args
        self.kwargs = kwargs

        cal = vobject.iCalendar()
        tz = pytz.timezone(settings.TIME_ZONE)

        for item in self.items():

            event = cal.add('vevent')

            for vkey, key in EVENT_ITEMS:
                value = getattr(self, 'item_' + key)(item)
                if value:
                    event.add(vkey).value = value

            rule = item.get_rrule_object(tz)
            if rule:
                event.add('rrule').value = reqstr(rule)


        response = HttpResponse(cal.serialize())
        response['Content-Type'] = 'text/calendar'

        return response
开发者ID:jrutila,项目名称:django-schedule,代码行数:25,代码来源:icalendar.py


示例19: send

def send(dbcal, calendar, client):
    n = 0
    for obj in dbcal.event_set.filter(user_modified=True):
        dblogger.info("Gonna send %s", obj)
        n += 1

        mycal = vobject.iCalendar()
        #~ mycal.add('vevent')

        #~ mycal = vobject.iCalendar()
        #~ vevent = vobject.newFromBehavior('vevent', '2.0')
        vevent = mycal.add('vevent')
        vevent.add('uid').value = obj.uid
        vevent.add('dtstamp').value = obj.modified
        if obj.start_time:
            vevent.add('dtstart').value = datetime.datetime.combine(
                obj.start_date, obj.start_time)
        else:
            vevent.add('dtstart').value = obj.start_date
        if obj.end_time:
            vevent.add('dtend').value = datetime.datetime.combine(
                obj.end_date, obj.end_time)
        else:
            vevent.add('dtend').value = obj.end_date
        vevent.add('transp').value = iif(
            obj.transparent, 'TRANSPARENT', 'OPAQUE')
        vevent.add('summary').value = obj.summary
        if obj.place:
            vevent.add('location').value = obj.place.name
        vevent.add('description').value = obj.description
        event = caldav.Event(
            client, data=mycal.serialize(), parent=calendar).save()
    dblogger.info("--> Sent %d events to calendar server.", n)
开发者ID:zhuangyan,项目名称:lino,代码行数:33,代码来源:watch_calendars.py


示例20: event_ical

def event_ical(request):
    event_list = Event.objects.filter(date__gte=datetime.now()-timedelta(weeks=4)).order_by('date')
    cal = vobject.iCalendar()
    cal.add('method').value = 'PUBLISH'  # IE/Outlook needs this
    cal.add('x-wr-calname').value = "Subterrarium intern"
    for event in event_list:
        url = settings.SITE_URL + reverse('event', args=[event.id])
        date = event.date - settings.EVENT_TIMEZONE.utcoffset(event.date)
        vevent = cal.add('vevent')
        if event.date.hour == 0 and event.date.minute == 0:
            vevent.add('X-FUNAMBOL-ALLDAY').value = '1'
            vevent.add('dtstart').value = datetime.date(event.date)
            vevent.add('dtend').value = datetime.date(event.date) + timedelta(days=1)
        else:
            vevent.add('dtstart').value = date
            vevent.add('dtend').value = date + timedelta(hours = 2)
        vevent.add('dtstamp').value = datetime.now()
        vevent.add('summary').value = event.title
        vevent.add('url').value = url
        vevent.add('uid').value = "%s-%s" % (event.id, settings.EVENT_REMINDER_FROM)
        vevent.add('description').value = url + "\n" + event.info
    icalstream = cal.serialize()
    response = HttpResponse(icalstream, mimetype='text/calendar; charset=utf-8')
    response['Filename'] = 'subkoordinator.ics'  # IE needs this
    response['Content-Disposition'] = 'attachment; filename=subkoordinator.ics'
    return response
开发者ID:rangermeier,项目名称:subkoord,代码行数:26,代码来源:views.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python vobject.readComponents函数代码示例发布时间:2022-05-26
下一篇:
Python vtObject.VtBarData类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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