📄 test_calendar.py
字号:
#
# test_calendar.py
#
# Copyright (c) 2006-2007 Nokia Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# PLEASE TRY THIS WITH A MOBILE DEDICATED TO TESTING PURPOSES ONLY.
#
import calendar
import time
import e32
# script1, show default db.
def script1():
db=calendar.open()
for entry_id in db:
ent=db[entry_id]
print 'id:%i'%ent.id
print 'content:%s'%ent.content
print 'originating:%d'%ent.originating
print 'location:%s'%ent.location
print 'start_time:%s'%time.ctime(ent.start_time)
print 'end_time:%s'%time.ctime(ent.end_time)
print 'repeat:'
print ent.get_repeat()
print '--------'
print 'number of entries:%i'%len(db)
# script2, create new database and entry etc.
def script2():
# open (create if does not exist) the database.
db=calendar.open('c:cal_test_db.cdb','c')
week=7*24*60*60
hour=60*60
minute=60
now=time.time()
print 'entries in db:%i'%len(db)
print 'add an appointment..'
new_entry=db.add_appointment() # new appointment.
new_entry.set_time(now+week,now+week+hour)
new_entry.alarm=now+week-5*minute
new_entry.content='the meeting'
new_entry.location='conference room 01'
new_entry.replication='private'
if e32.s60_version_info[0]>=2:
new_entry.priority=1 # high priority.
new_entry.commit()
print 'entries in db now:%i'%len(db)
print '**entry\'s data**'
print 'id:%i'%new_entry.id
print 'content:%s'%new_entry.content
print 'location:%s'%new_entry.location
print 'start_time:%s'%time.ctime(new_entry.start_time)
print 'end_time:%s'%time.ctime(new_entry.end_time)
print 'last modified:%s'%time.ctime(new_entry.last_modified)
print 'alarm datetime:%s'%time.ctime(new_entry.alarm)
print 'replication:%s'%new_entry.replication
if e32.s60_version_info[0]>=2:
print 'priority:%d'%new_entry.priority
#print 'crossed out:%s'%new_entry.crossed_out
print '--------'
print 'now we\'ll delete the entry..'
del db[new_entry.id]
print 'entries in db now:%i'%len(db)
print ''
# add todo entry.
print 'add a todo..'
new_entry=db.add_todo() # new todo.
new_entry.set_time(now+week)
new_entry.alarm=now+week-5*minute
new_entry.content='the things todo'
new_entry.location='work'
new_entry.replication='private'
new_entry.priority=3 # low priority.
new_entry.commit()
print 'entries in db now:%i'%len(db)
print '**entry\'s data**'
print 'id:%i'%new_entry.id
print 'content:%s'%new_entry.content
print 'location:%s'%new_entry.location
print 'start_time:%s'%time.ctime(new_entry.start_time)
print 'end_time:%s'%time.ctime(new_entry.end_time)
print 'last modified:%s'%time.ctime(new_entry.last_modified)
print 'alarm datetime:%s'%time.ctime(new_entry.alarm)
print 'replication:%s'%new_entry.replication
print 'priority:%d'%new_entry.priority
print 'crossed out:%s'%new_entry.crossed_out
print '--------'
# cross out the entry.
new_entry.cross_out_time=time.time()
print 'after crossing out:'
print new_entry.crossed_out
print 'crossed out:%s'%new_entry.crossed_out
print 'cross out time:%s'%time.ctime(new_entry.cross_out_time)
print 'alarm:%s'%str(new_entry.alarm)
print ''
print 'now we\'ll delete the entry..'
del db[new_entry.id]
print 'entries in db now:%i'%len(db)
# script3, open db (not the default db) and create an entry.
def script3():
week=7*24*60*60
hour=60*60
minute=60
day=24*60*60
now=time.time()
# create and open new database.
db=calendar.open('d:cal_test_db.cdb','n')
print 'entries in db:%i'%len(db)
print 'add a todo..'
new_entry=db.add_todo() # new todo.
new_entry.set_time(now+week,now+week+hour)
new_entry.content='things to do'
new_entry.location='--'
new_entry.commit()
print 'entries in db now:%i'%len(db)
print 'entry\'s data'
print 'id:%i'%new_entry.id
print 'content:%s'%new_entry.content
print 'location:%s'%new_entry.location
print 'start_time:%s'%time.ctime(new_entry.start_time)
print 'end_time:%s'%time.ctime(new_entry.end_time)
print 'last modified:%s'%time.ctime(new_entry.last_modified)
print '--------'
print 'now we\'ll delete the entry..'
del db[new_entry.id]
print 'entries in db now:%i'%len(db)
# script4, simple repeat test.
def script4():
week=7*24*60*60
day=24*60*60
hour=60*60
minute=60
now=time.time()
db=calendar.open()
# create an appointment.
new_entry=db.add_appointment() # new appointment.
new_entry.set_time(now+2*week,now+2*week+hour)
new_entry.alarm=now+week-5*minute
new_entry.content='repeat test'
new_entry.location='somewhere'
# make it repeat weekly for 4 weeks.
repeat={'type':'weekly',
"days":[0,1], #which days in a week (monday,tuesday)
'start':new_entry.start_time,
'end':new_entry.start_time+4*week-day}
new_entry.set_repeat(repeat)
new_entry.commit()
# print the repeat information.
print new_entry.get_repeat()
# script5, another repeat example.
def script5():
week=7*24*60*60
day=24*60*60
hour=60*60
minute=60
now=time.time()
db=calendar.open()
# create an appointment.
new_entry=db.add_appointment()
new_entry.set_time(now+week,now+week+hour)
new_entry.alarm=now+week-5*minute
new_entry.content='rep debug test'
new_entry.location='somewhere'
# repeat on tuesdays and thursdays every second week except on the exception dates ('exceptions').
repeat={'type':'weekly',
'start':new_entry.start_time,
'end':new_entry.start_time+10*week,
'days':[1,3], # repeat on tuesday and thursday.
'exceptions':list([new_entry.start_time+week+i*day for i in range(7)]), # no repeats on these days.
'interval':2 # repeat every second week.
}
new_entry.set_repeat(repeat)
new_entry.commit()
# print the repeat information.
print new_entry.get_repeat()
# script6, various repeat types.
def script6():
week=7*24*60*60
day=24*60*60
hour=60*60
minute=60
now=time.time()
db=calendar.open()
# create an appointment.
new_entry=db.add_appointment()
new_entry.set_time(now+week,now+week+hour)
new_entry.alarm=now+week-5*minute
new_entry.content='daily rep'
new_entry.location='somewhere'
repeat={'type':'daily',
'start':new_entry.start_time,
'end':new_entry.start_time+week-day,
'interval':2} # on every second day.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -