Phần này sẽ thấy cách tạo ứng dụng nhắc nhở sinh nhật sử dụng Python.
Đề bài
Tạo ứng dụng bằng Python, kiểm tra xem hôm nay có phải sinh nhật của người nào trong danh sách hay không. Nếu hôm nay là sinh nhật của người nào đó được liệt kê, gửi thông báo (notification) đến hệ thống kèm tên người đó.
Cần một file để lưu trữ ngày, tháng và tên người làm file tra cứu (lookup file). File sẽ trông như sau:
Ở đây, chúng ta sẽ chuyển ứng dụng này thành ứng dụng khởi động cùng hệ thống (start-up application).
Các bước tạo ứng dụng Nhắc nhở Sinh nhật
- Đọc file tra cứu sinh nhật.
- Kiểm tra ngày và tháng có khớp với ngày/tháng hiện tại không.
- Nếu khớp, gửi thông báo đến hệ thống với tất cả tên có sinh nhật hôm nay.
- Kết thúc.
Mã ví dụ
import os, time
# Lấy file lookup sinh nhật từ thư mục home
file_path = os.getenv('HOME') + '/birth_day_lookup.txt'
def check_birthday():
lookup_file = open(file_path, 'r') # mở file lookup ở chế độ đọc
today = time.strftime('%d-%B') # lấy ngày hôm nay dạng dd-Month
bday_flag = 0
# Duyệt từng dòng trong file sinh nhật, kiểm tra ngày có xuất hiện không
for entry in lookup_file:
if today in entry:
line = entry.split(' ') # tách dòng theo khoảng trắng để lấy tên, họ
bday_flag = 1
os.system('notify-send "Hôm nay là sinh nhật của ' + line[1] + ' ' + line[2] + '"')
if bday_flag == 0:
os.system('notify-send "Hôm nay không có sinh nhật nào được liệt kê"')
check_birthday()
Kết quả
Các bước thiết lập Birthday Reminder làm ứng dụng khởi động (Startup)
Bước 1 – Chuyển file script thành file thực thi bằng lệnh chmod:
sudo chmod +x file_name.py
Bước 2 – Di chuyển file script vào thư mục /usr/bin:
sudo cp file_name.py /usr/bin
Bước 3 – Tìm kiếm "Startup Applications" và mở nó.
Sau khi mở ứng dụng, vào Add, đặt tên mong muốn, rồi tên chương trình vào trường Command. Thêm làm ứng dụng khởi động.