加州统计局
从您的 Google 或 Apple 日历中检索数据并创建一些可能对您(或您的老板有用)的统计数据;)我的统计数据正在 https://mickekring.se/stats/time2/ 上实时运行(瑞典语)
上图显示了前端
这是什么?它有什么作用?
我计划日历中相关的所有工作,并使用前缀命名日历事件,例如: ' ADM:日程表'(ADM = 管理)、' WEB:博客'等。然后,该脚本对所有“ADM:”、“WEB:”和其他类别(在脚本中硬编码)进行分组,计算时间并将其除以总时间以获得一些百分比和其他对我有用的东西。简而言之,它是我确保充分利用时间的工具。
我还有第二个日历,其中我每天记录 8 小时,以便我的脚本可以比较我应该工作多少时间以及我实际工作了多少时间。
Python 脚本在 Raspberry Pi 上运行,每 10 分钟获取和更新统计数据,通过 sftp 将 php 文件上传到我的 Web 服务器。
免责声明
我不是编码员。我只是喜欢创造东西。 :)
内置
- Python 3.x https://www.python.org/
- Bootstrap 5.x https://getbootstrap.com/
- 图表 JS https://www.chartjs.org/
- 很棒的字体 https://fontawesome.com/
想自己运行吗?
该脚本是根据我的需求量身定制的,因此如果您想运行它,则必须更改一些内容。主要是您想要跟踪的类别的名称,在这种情况下,还有一些条件。由于我不是编码员,所以我(还)无法将您必须更改的所有内容设置为常量变量或列表,但我会尽力指导您。
您需要什么
- 可以运行Python 3.x的设备
- 支持 php 的 Web 服务器
- 脚本用来将文件上传到您的 Web 服务器的 sftp 服务器(在您的 Web 服务器上)
- 公共 Google 日历(或 Apple 日历)
设置
- 将所有文件下载到您选择的文件夹中
- 打开凭证.yml 并更改 sftp 帐户信息、路径 - 本地 url(运行脚本的位置)和远程(在您的 Web 服务器上)以及公共日历 .ics 文件的 url
- 打开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 号线 |修改您希望主循环以秒为单位运行的频率
- 我可能错过了一两件事......提前抱歉......
安装Python模块
- iCalevents - pip3 安装 icalevents
- Pytz - pip3 安装 pytz
- Paramiko - pip3 安装 paramiko
- YAML - pip3 安装 pyyaml
- TinyDB - pip3 安装tinydb
- 日期时间 - pip3 安装日期时间
- 熊猫 - pip3 安装 pandas
跑步
版本历史
- 1.0 重命名了一些文件并消除了很多臃肿的内容。
- 0.6.1 在前端添加了 calstats.py 生成的 JSON 数据库的下载链接
- 0.6 增加了将json数据库文件上传到Web服务器的功能,并修复了当总工作时间为零时(例如休假时)导致零除数的错误。
- 0.5 在图表上添加了 7 周的 x 轴日期。对代码进行了少量清理。
- 0.4 添加了过去 7 周的工作时间图表。
- 0.2 初始上传。自您选择的日期以来每个类别的百分比。过去 7 周每个类别的百分比。
制作人员
脚本中的日历导入功能基于jeinarsson的工作https://gist.github.com/jeinarsson/989329deb6906cae49f6e9f979c46ae7