CalStats
Mengambil data dari kalender Google atau Apple Anda dan membuat beberapa statistik yang mungkin berguna bagi Anda (atau atasan Anda;) ) Statistik saya ditayangkan langsung di https://mickekring.se/stats/time2/ (dalam bahasa Swedia)
Gambar di atas menunjukkan ujung depan
Apa ini? Dan apa fungsinya?
Saya merencanakan segala sesuatu yang berhubungan dengan pekerjaan di kalender saya dan memberi nama acara kalender dengan awalan seperti; ' ADM: Jadwal' (ADM = Administrasi), ' WEB: Blog' dan seterusnya. Skrip kemudian mengelompokkan semua 'ADM:', 'WEB:' dan kategori lainnya (kode keras dalam skrip), menghitung waktu dan membaginya dengan total waktu untuk mendapatkan persentase dan hal-hal lain yang berguna bagi saya. Sederhananya, ini adalah alat bagi saya untuk memastikan saya menghabiskan waktu saya dengan baik.
Saya juga mempunyai kalender kedua di mana saya menempatkan 8 jam sehari sehingga naskah saya dapat membandingkan seberapa banyak saya seharusnya bekerja, dan seberapa banyak saya benar-benar bekerja.
Skrip Python berjalan pada Raspberry Pi dan mengambil serta memperbarui statistik setiap 10 menit, mengunggah file php ke server web saya melalui sftp.
Penafian
Saya bukan seorang pembuat kode . Saya hanya suka membuat sesuatu. :)
Dibangun dengan
- Python 3.x https://www.python.org/
- Bootstrap 5.x https://getbootstrap.com/
- Bagan JS https://www.chartjs.org/
- Font Luar Biasa https://fontawesome.com/
Ingin menjalankannya sendiri?
Skrip ini disesuaikan dengan kebutuhan saya, jadi jika Anda ingin menjalankannya, Anda harus mengubah beberapa hal. Terutama nama kategori yang ingin Anda lacak dan dalam hal ini, beberapa ketentuan. Karena saya bukan seorang pembuat kode, saya belum (belum) dapat mengatur semua hal yang harus Anda ubah sebagai variabel atau daftar konstan, namun saya akan melakukan yang terbaik untuk memandu Anda.
APA YANG ANDA BUTUHKAN
- Perangkat yang dapat menjalankan Python 3.x
- Server web dengan dukungan php
- Server sftp (di server web Anda) yang digunakan skrip untuk mengunggah file ke server web Anda
- Kalender Google publik (atau kalender Apple)
PENYIAPAN
- Unduh semua file ke folder pilihan Anda
- Buka kredensial.yml dan ubah informasi akun sftp, jalur - baik url lokal (tempat Anda menjalankan skrip) dan jarak jauh (di server web Anda) dan url ke file .ics kalender publik Anda
- Buka index.php dan edit judul dan judul yang ingin Anda tampilkan di front end Anda
- Unggah index.php dan style.css ke server web Anda
- Buka main.py dan ubah yang berikut ini:
- Baris 36 | Lokal
- Baris 41 | Tanggal mulai dari kapan skrip harus memulai track
- Baris 100-123 | Masukkan awalan kategori Anda sendiri dan nama kategori yang ingin Anda lacak
- Baris 129 | Kecualikan acara kalender seperti makan siang dan acara yang tidak diketahui
- Baris 208 | Nama acara kalender di kalender kedua (jam kerja "resmi" pekerjaan Anda
- Baris 307 | Ubah kategori yang ingin Anda lacak
- Baris 623 | Ubah kategori yang Anda inginkan statistik 7 minggunya dan ubah/buat nama daftar
- Jalur 789 - 813 | Ubah ke kategori Anda
- Jalur 827 - 840 | Ubah ke kategori Anda
- Jalur 889 - 912 | Ubah ke kategori Anda
- Jalur 632 - 640 | Ubah ke kategori Anda
- Baris 1027 | Ubah seberapa sering Anda ingin loop utama dijalankan dalam hitungan detik
- Saya mungkin melewatkan satu atau dua hal... maaf sebelumnya...
PASANG MODUL PYTHON
- iCalevents - pip3 instal icalevents
- Pytz - pip3 instal pytz
- Paramiko - pip3 instal paramiko
- YAML - pip3 instal pyyaml
- TinyDB - pip3 instal tinydb
- Datetime - tanggal waktu pemasangan pip3
- Pandas - pip3 instal panda
BERLARI
Riwayat Versi
- 1.0 Mengganti nama beberapa file dan menghilangkan banyak kembung.
- 0.6.1 Menambahkan tautan unduhan untuk database JSON di front end yang dihasilkan oleh calstats.py
- 0.6 Menambahkan pengunggahan file database json ke server web dan memperbaiki bug yang terjadi ketika total waktu kerja nol (misalnya saat berlibur) yang menyebabkan pembagian nol.
- 0,5 Menambahkan tanggal untuk sumbu x pada grafik selama 7 minggu. Pembersihan kecil kode.
- 0.4 Menambahkan grafik jam kerja, 7 minggu terakhir.
- 0.2 Unggahan awal. Persentase per kategori sejak tanggal yang Anda pilih. Persentase per kategori, 7 minggu terakhir.
Kredit
Fungsi impor kalender dalam skrip didasarkan pada karya jeinarsson https://Gist.github.com/jeinarsson/989329deb6906cae49f6e9f979c46ae7