چگونه با پایتون برای لینوکس ابزار اعلانات ایجاد کنیم؟ – راهنمای گامبهگام



اعلانات یا نوتیفیکیشن دسکتاپ چیست؟
واژه نوتیفیکیشن (Notification) به معنای اعلانات است و در دسکتاپ ابزاری است که رویدادهای خاص و مهم را به کاربران اعلان میکند. به بیانی دیگر، یک نرمافزار ساده است که پیام و اعلانات را در قالب پاپآپهای گرافیکی بر روی صفحه، نمایش میدهد.
چرا از نوتیفیکیشن استفاده میشود؟
نمایش اعلانات میتواند دلایل بسیاری داشته باشد، که از جمله آنها میتوان به انتشار یک بهروزرسانی جدید، نمایش یک پیام اضطراری، اتمام فرآیند چاپ یک فایل متنی، هشدار اتمام باتری و موارد دیگری از این دست اشاره کرد. برخی از این اعلانات در کادری همراه با صدای هشدار ظاهر میشوند تا نظر کاربر را به خود جلب کنند. این اعلانات میتوانند نیازمند یک واکنش سریع از سوی کاربر یا صرفاً جهت اطلاعرسانی وی باشند. بهتر است برخی از اعلانات را کاربر فوراً بخواند، اما بهترین مکانیسم برای آنها فقدان گزینهای برای واکنش سریع است؛ چرا که با یک کلیک اشتباه ممکن است اطلاعات یا هر چیز مهم دیگری در معرض خطر قرار گیرد.
روش نصب
برای ساخت نوتیفایر یا اعلان کننده برای لینوکس، ابتدا باید ماژول پایتون notify2 را نصب کنید. نصب این ماژول به سادگی و از طریق دستور pip که در زیر آمده، امکان پذیر است.
بهعنوانمثال میخواهیم یک نوتیفایری بسازیم که قیمت لحظهای ارز دیجیتال بیتکوین را نمایش دهد.
نحوه بهکارگیری این ابزار اعلانات طبق مراحل زیر است:
- محتویات جهت نمایش را بدست بیاوریم.
- نوتیفایر را ایجاد کنیم.
- محتویات را در قالب یک نوتیفیکیشن به نمایش بگذاریم.
پیدا کردن محتویات
برای اطلاع از ارزش فعلی بیت کوین در INR، میتوانیم قیمت لحظهای آن را از وبسایتهای مختلف تهیه کنیم. اکنون ما با استفاده از توابع BeautifulSoup، آن را از محتوای یک وبسایت پیدا میکنیم. ساختار و اطلاعات استخراجشده وبسایت در اسنیپت (snippet) زیر نمایش داده شده است.
در اینجا ما بهسادگی یک تابع را اجرا کردیم تا جزئیات بیتکوین در INR بهصورت یک لیست بهدست آید.
ایجاد نوتیفایر
پس از آنکه محتویات لازم برای نمایش را پیدا کردیم، باید به سراغ ایجاد یک ابزار نوتیفیکیشن برویم. کدهای مذکور در اسنیپت زیر، فرآیند ایجاد این ابزار را نشان میدهند.
بیایید کدها را مرحلهبهمرحله تجزیهوتحلیل کنیم:
- پیش از آنکه بتوانیم اعلانی ارسال کنیم، لازم است که یک ارتباط D-Bus ایجاد کنیم. D-Bus یک سیستم گذرگاهی پیام است که بهوسیله آن برنامهها بهسادگی با یکدیگر ارتباط برقرار میکنند. بنابراین، ارتباط D-Bus برای notify2 با استفاده از کد زیر در پایتون ایجاد خواهد شد.
- با استفاده از کد زیر شکل اعلان را ایجاد میکنیم.
کد تنظیم ساختار کلی اعلان نیز بدین شکل است.
- میتوانیم بهصورت اختیاری سطح ضرورت اعلانات را با استفاده از روش set_urgency تنظیم کنیم.
Constantهای دیگری که میتوانید استفاده کنید، notify2.URGENCY_LOW و notify2.URGENCY_HIGH هستند.
- همچنین میتوانیم مدتزمان نمایش را با استفاده از کد زیر زمانبندی کنیم.
نمایش محتوا در قالب نوتیفیکیشن
با نصب نوتیفایر، میتوانیم اعلانات را در قالب نوتیفیکیشن به کاربر نشان دهیم. کدهای زیر نمونۀ مختصری از کدهای لازم جهت انجام این کار است.
بیایید در این بخش هم کدها را مرحلهبهمرحله تجزیهوتحلیل کنیم.
- در مرحله اول، ما محتوای لازم برای نمایش را با استفاده از تابع fetch_bitcoin ایجاد میکنیم.
- در مرحله بعد، نوتیفایر را با محتوای موردنظر بهروز میکنیم.
- و در آخر، با استفاده از n.show() اعلان را به نمایش میگذاریم.
مخزن نرمافزاری گیتهاب برای نرمافزار نوتیفایر دسکتاپ: Crypto-Notifier
اگر مطلب بالا برای شما مفید بوده است و تمایل دارید در رابطه با مباحث آن مطالعه بیشتری داشته باشید، شاید آموزشهایی که در زیر آمدهاند برایتان مفید باشند.
^^
سلام
می شود با یک مثال ساده تر اموزش بدهید؟
من خوب درک نکردم. مثلا ارسال یک نوتیکیفیشن ساده برای ویندوز.
با تشکر