كالستاتس
يسترد البيانات من تقويم Google أو Apple الخاص بك وينشئ بعض الإحصائيات التي قد تكون مفيدة لك (أو لرئيسك في العمل؛)) يتم تشغيل الإحصائيات الخاصة بي مباشرة على https://mickekring.se/stats/time2/ (باللغة السويدية)
الصورة أعلاه تظهر الواجهة الأمامية
ما هذا؟ وماذا يفعل؟
أخطط لكل ما يتعلق بالعمل في التقويم الخاص بي وأسمي أحداث التقويم ببادئات مثل؛ ' ADM: الجدول' (ADM = الإدارة)، ' WEB: المدونات' وما إلى ذلك. يقوم البرنامج النصي بعد ذلك بتجميع كل "ADM:" و"WEB:" والفئات الأخرى (المشفرة بشكل ثابت في البرنامج النصي)، ويحسب الوقت ويقسمه على إجمالي الوقت للحصول على بعض النسب المئوية والأشياء الأخرى المفيدة بالنسبة لي. ببساطة، إنها أداة بالنسبة لي للتأكد من أنني أقضي وقتي بشكل جيد.
لدي أيضًا تقويم ثانٍ أخصص فيه 8 ساعات يوميًا حتى يتمكن النص الخاص بي من مقارنة مقدار العمل الذي كان يجب أن أعمله والمقدار الذي عملت فيه بالفعل.
يعمل برنامج Python النصي على Raspberry Pi ويقوم بجلب الإحصائيات وتحديثها كل 10 دقائق، ويقوم بتحميل ملفات php إلى خادم الويب الخاص بي عبر sftp.
تنصل
أنا لست المبرمج . أنا فقط أحب إنشاء الأشياء. :)
بنيت مع
- بايثون 3.x https://www.python.org/
- بوتستراب 5.x https://getbootstrap.com/
- الرسم البياني JS https://www.chartjs.org/
- الخط رائع https://fontawesome.com/
هل تريد تشغيله بنفسك؟
تم تصميم هذا البرنامج النصي ليناسب احتياجاتي، لذا إذا كنت ترغب في تشغيله، فسيتعين عليك تغيير بعض الأشياء. بشكل أساسي أسماء الفئات التي ترغب في تتبعها، وفي هذه الحالة، بعض الشروط. نظرًا لأنني لست مبرمجًا، لم أتمكن (حتى الآن) من تعيين كل الأشياء التي يتعين عليك تغييرها كمتغيرات أو قوائم ثابتة، لكنني سأبذل قصارى جهدي لإرشادك.
ما تحتاجه
- جهاز يمكنه تشغيل Python 3.x
- خادم ويب يدعم لغة php
- خادم sftp (على خادم الويب الخاص بك) يستخدمه البرنامج النصي لتحميل الملفات إلى خادم الويب الخاص بك
- تقويم Google عام (أو تقويم Apple)
يثبت
- قم بتنزيل جميع الملفات إلى مجلد من اختيارك
- افتح credentials.yml وقم بتغيير معلومات حساب sftp والمسارات - كل من عنوان url المحلي (حيث تقوم بتشغيل البرنامج النصي) والبعيد (على خادم الويب الخاص بك) وعنوان url لملف .ics للتقويم العام الخاص بك
- افتح ملف Index.php وقم بتحرير العنوان والعناوين التي تريد عرضها على الواجهة الأمامية
- قم بتحميل ملف Index.php وstyle.css إلى خادم الويب الخاص بك
- افتح main.py وقم بتغيير ما يلي:
- السطر 36 | لغة
- سطر 41 | تاريخ البدء من الوقت الذي يجب أن يبدأ فيه البرنامج النصي في المسار
- السطر 100-123 | أدخل بادئات الفئات الخاصة بك وأسماء الفئات التي تريد تتبعها
- سطر 129 | استبعاد أحداث التقويم مثل الغداء وغير معروف
- سطر 208 | اسم حدث التقويم في التقويم الثاني (ساعات العمل "الرسمية" لعملك
- سطر 307 | قم بتعديل الفئات التي تريد تتبعها
- سطر 623 | قم بتعديل الفئات التي تريد إحصائياتها لمدة 7 أسابيع وقم بتغيير/إنشاء أسماء القوائم
- خط 789 – 813 | التغيير إلى الفئات الخاصة بك
- خط 827 – 840 | التغيير إلى الفئات الخاصة بك
- خط 889 - 912 | التغيير إلى الفئات الخاصة بك
- سطر 632 – 640 | التغيير إلى الفئات الخاصة بك
- خط 1027 | قم بتعديل عدد المرات التي تريد تشغيل الحلقة الرئيسية فيها بالثواني
- ربما فاتني شيء أو شيئين... آسف مقدما...
تثبيت وحدات بايثون
- iCalevents - تثبيت pip3 على iCalevents
- بيتز - تثبيت pip3 بيتز
- Paramiko - تثبيت pip3 paramiko
- YAML - تثبيت pip3 pyyaml
- TinyDB - تثبيت pip3 tinydb
- Datetime - تثبيت pip3 datetime
- الباندا - pip3 تثبيت الباندا
يجري
تاريخ الإصدار
- 1.0 تمت إعادة تسمية بعض الملفات والتخلص من الكثير من الانتفاخ.
- 0.6.1 تمت إضافة رابط التنزيل لقاعدة بيانات JSON على الواجهة الأمامية التي تم إنشاؤها بواسطة calstats.py
- 0.6 تمت إضافة تحميل ملف قاعدة بيانات json إلى خادم الويب وإصلاح الخلل الذي يحدث عندما يكون إجمالي وقت العمل صفرًا (على سبيل المثال عندما تكون في إجازة) والذي يتسبب في تقسيم صفر.
- 0.5 تمت إضافة تواريخ المحور السيني على الرسوم البيانية لمدة 7 أسابيع. تنظيف طفيف للكود.
- 0.4 تمت إضافة رسم بياني لساعات العمل لآخر 7 أسابيع.
- 0.2 التحميل الأولي النسب المئوية لكل فئة منذ التاريخ الذي تختاره. النسب المئوية لكل فئة، آخر 7 أسابيع.
الاعتمادات
تعتمد وظيفة استيراد التقويم في البرنامج النصي على عمل jeinarsson https://Gist.github.com/jeinarsson/989329deb6906cae49f6e9f979c46ae7