12 กันยายน 2560

Published กันยายน 12, 2560 by with 0 comment

iCalendar กับ Python

iCalendar กับ Pythonเคยไหม หากโปรแกรมที่คุณทำอยู่มีปฏิทิน แต่การนำปฏิทินไปใช้งานกับโปรแกรมอื่น ๆ กลับเป็นเรื่องยุ่งยาก ? สาเหตุเกิดจากคุณไม่ทำตามมาตรฐาน iCalendar

iCalendar คืออะไร ?


iCalendar เป็นมาตรฐานการถ่ายโอนข้อมูลปฏิทินระหว่างระบบคอมพิวเตอร์ (RFC 5545) มีนามสกุลไฟล์ .ical, .ics, .ifb, .icalenda โดยโปรแกรมที่รองรับมาตรฐาน iCalendar มีอยู่มากมาย เช่น Microsoft Outlook, Google Calendar, Apple Calenda และอื่น ๆ เป็นต้น

สำหรับตัวอย่างการใช้งาน iCalendar ประเทศไทย เช่น มีการนำ iCalendar ไปใช้งานในโปรแกรมระบบทะเบียนนักศึกษาของมหาวิทยาลัยต่าง ๆ ในไทย เป็นต้น




ในภาษา Python คุณสามารถใช้มาตรฐาน iCalendar ใน Python ได้ด้วยโมดูล ics.py

โมดูล ics.py เป็นโมดูลสำหรับอ่าน/เขียนมาตรฐาน iCalendar ใน Python รองรับทั้ง Python 2 , Python 3 และเป็น Apache Software License

สามารถติดตั้งได้ด้วยคำสั่ง pip install ics

ตัวอย่างการใช้งาน
หากคุณต้องการสร้างกำหนดการขึ้นมา
สมมุติ ในวันที่ 12 กันยายน 2560 นี้ เวลา 12:00 น. คุณมีงานกลุ่มต้องทำ
สามารถสร้างไฟล์ .ica ทำได้โดย

>>> import arrow
>>> from ics import Calendar, Event
>>> c = Calendar()
>>> e = Event()
>>> e.name = "ทำงานกลุ่ม" # ชื่อเหตุการ์
>>> e.begin = arrow.get(datetime(2017,9,12,12,0),"Asia/Bangkok") # ปี เดือน วัน ชั่วโมง นาที ในเขตเวลาของไทย
>>> e.begin.humanize() # นับถอยหลัง
'in 9 hours'
>>> c.events.append(e)
>>> c.events
[<Event 'ทำงานกลุ่ม' begin:2017-09-12T12:00:00+07:00 end:2017-09-12T12:00:01+07:00>]
>>> with open('my.ics', 'w') as f:
...  f.writelines(c)
...


ผลลัพธ์
จะได้ไฟล์ my.ics ไว้เอาไปใช้งานกับโปรแกรมต่าง ๆ

อ่านเอกสารเพิ่มเติมได้ที่ https://icspy.readthedocs.io/en/latest/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ


0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)