简化从toggl导出到项目实验室的时间项的python模块和工具
toggl2pl的Python项目详细描述
toggl2pl
用于简化从toggl导出时间项的python模块和工具 进入项目实验室。
要求
该模块是用纯python编写的,其工作通过python3.x
只要没有低级系统调用(至少现在),模块就应该 独立于平台,即在任何有python的平台上工作。
python2.7
(及更早版本)支持没有计划,因为python2.7
将不会
在2020年1月1日之前维护。
用法
安装
生产
预编译的二进制文件
对于最终用户,安装应用程序的最好方法是使用可执行文件 为Linux和Windows平台静态编译,使用zip打包并签名 使用GPG键。
在Linux上执行的安装步骤示例:
exportTOGGL2PL_VERSION="1.0.3" wget https://github.com/pa-yourserveradmin-com/toggl2pl/releases/download/v${TOGGL2PL_VERSION}/toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip unzip toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip install -v -D toggl2pl ~/.local/bin/toggl2pl rm -fv toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip toggl2pl
验证应用程序在Linux发行版中的工作:
toggl2pl --help
使用pip
如果需要将应用程序作为python模块安装(例如 想在新的很棒的模块或应用程序中使用它的api),最简单的方法 就是使用pip
pip install toggl2pl
开发
- 获取包源并将工作目录更改为项目的根目录。
例如,使用git:
克隆项目
git clone https://github.com/pa-yourserveradmin-com/toggl2pl.git
cd toggl2pl
- 建议python
virtualenv
模块在
开发模式,即不在系统中安装模块。请看
virtualenv
一些常用操作的软件包安装说明
下面的系统。
virtualenv
模块在
开发模式,即不在系统中安装模块。请看
virtualenv
一些常用操作的软件包安装说明
下面的系统。软呢帽29:
sudo dnf --assumeyes install python-virtualenv python3-virtualenv
ubuntu 18:
sudo apt --assume-yes install python-virtualenv python3-virtualenv
一旦安装了virtualenv
包,只需创建一个新的python virtual
你想去哪儿就去哪儿。下面的示例假设虚拟环境是
部署到克隆项目存储库的根目录中:
virtualenv venv
source venv/bin/activate
pip install --requirement requirements.txt
- 如果python虚拟环境设置没有问题,现在应该 能够尝试使用模块。为了检查环境,只需执行下一个 cli命令:
cp -av scripts/toggl2pl toggl2pl.py ./toggl2pl.py --help
在输出中,您将看到使用说明和一些cli参数说明。
为了与时间跟踪器交互,需要一些额外的配置, 请继续配置段落,开始使用 模块处于命令行模式。
命令行界面
配置
DEF的P>ault cli使用存储为~/.toggl2pl/config.yml
的配置文件。拜托
执行下一个命令以将config.yml.example安装为
默认配置文件:install -v -D docs/_static/config.yml.example ~/.toggl2pl/config.yml
请使用首选的文本编辑器打开新创建的配置文件, 阅读评论并用您的个人信息更新空字段。
示例
请注意,当前所有的cli标志都可以合并到单个命令中 下面的示例只需描述标志的用途。
简单
为了发布当天的小时数,只需调用脚本 任何参数:
exportTOGGL2PL_VERSION="1.0.3" wget https://github.com/pa-yourserveradmin-com/toggl2pl/releases/download/v${TOGGL2PL_VERSION}/toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip unzip toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip install -v -D toggl2pl ~/.local/bin/toggl2pl rm -fv toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip toggl2pl0
在输出中,您将看到一个包含项目、任务和时间列表的表(实数 (四舍五入)花在每项任务上。同时,系统会提示您将数据导出到pl 或中断导出。
舍入
默认情况下,实际分钟数将过帐到损益表中。是否使用舍入 取决于您的案例和团队协议,请记住这一点。
为了发布舍入的分钟数-只需将--round
标志附加到
脚本:
exportTOGGL2PL_VERSION="1.0.3" wget https://github.com/pa-yourserveradmin-com/toggl2pl/releases/download/v${TOGGL2PL_VERSION}/toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip unzip toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip install -v -D toggl2pl ~/.local/bin/toggl2pl rm -fv toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip toggl2pl1
输出将是相同的,但在确认后,四舍五入的时间将 张贴到损益表而不是真实的。
注意:关于舍入基值的最实际信息可以在 cli帮助输出。
自定义日期
如果您需要导出过去几天的toggl信息,请使用
--日期
用精确日期标记,格式:
exportTOGGL2PL_VERSION="1.0.3" wget https://github.com/pa-yourserveradmin-com/toggl2pl/releases/download/v${TOGGL2PL_VERSION}/toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip unzip toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip install -v -D toggl2pl ~/.local/bin/toggl2pl rm -fv toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip toggl2pl2
这将在同一天将日期2016-02-29
的时间项导出到PL
并导致日期更改请求,请注意。
功能性
核心功能
从某件事情开始所需的核心(最小)功能集是:
- [X]能够将TOGGL客户端和项目与PL数据库同步。
- [X]将记录从TOGGL导出到PL的能力,只需最少的人工参与。
功能
功能列表尚未就绪,但下一个帮助程序已实现:
- 所有的帖子都使用相同的格式(当然,不可能预测所有的 可能的情况下,但至少常见的事情可以而且已经部分完成了。
- 通过使用内部讨论的规则,可以选择四舍五入投递时间。
路线图
有一个高层次的实施计划,可能会随着时间的推移而改变 关于外部因素和想法:
- [X]创建实现核心功能的最小逻辑集。
- [X]创建命令行接口以使用已实现的逻辑。
- [X]调整输出格式和信息,使其有用且易于理解。
- [X]将Python代码编译成静态链接的可执行文件,以避免依赖关系 关于python本身及其模块。
- [X]自动构建Linux可执行文件,开始在 可接受的方式。
- [X]自动生成Windows可执行文件,以提供使用 此平台上的工具。
- [X]使用Sphinx记录现有代码、CLI标志和配置选项。
- [X]冻结现有功能并调整代码以解决回归和改进 质量。
- []现有最小功能集的单元测试和覆盖率报告。
上面的列表是不完整的,因为有太多的想法和特点 可以实现,例如:
- 将支持的API的列表扩展到Clockify 提供了一种替代toggl的api。
- 例如,使用flask,将逻辑移动到集中式服务器并与 它通过使用http api和最小集of必需的选项。但同时 保持在无服务器模式下使用模块并直接与 TOGGL和PL API。
- 使用elasticsearch和kibana来存储和可视化通过服务器传递的数据 为每个用户和团队提供灵活的报告和分析机制。
内部构件
支持的API
该模块设计用于通过http api使用时间跟踪器,因此在 如有任何问题,请首先参阅他们的官方文档:
注意:已计划对Clockify API的支持,但尚未开始。
生成应用程序
请确保您完成了开发中描述的步骤 因为开发环境是 此阶段所需的选项。
为了使应用程序易于分发和安装, 项目代码需要编译成一个可执行文件 依赖关系。
虽然有许多工具可以创建这种分布, 该项目使用pyinstaller来完成所需的工作。 几乎开箱即用:
exportTOGGL2PL_VERSION="1.0.3" wget https://github.com/pa-yourserveradmin-com/toggl2pl/releases/download/v${TOGGL2PL_VERSION}/toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip unzip toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip install -v -D toggl2pl ~/.local/bin/toggl2pl rm -fv toggl2pl-${TOGGL2PL_VERSION}-linux-amd64.zip toggl2pl3
上面的命令将把所有包依赖项和文件收集到 可执行文件,无需额外操作即可分发给最终用户 在他们这边(系统/python包安装)。