简化从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

开发
  1. 获取包源并将工作目录更改为项目的根目录。 例如,使用git:
  2. 克隆项目
git clone https://github.com/pa-yourserveradmin-com/toggl2pl.git
cd toggl2pl
  1. 建议pythonvirtualenv模块在 开发模式,即不在系统中安装模块。请看 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
  1. 如果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 toggl2pl
0

在输出中,您将看到一个包含项目、任务和时间列表的表(实数 (四舍五入)花在每项任务上。同时,系统会提示您将数据导出到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 toggl2pl
1

输出将是相同的,但在确认后,四舍五入的时间将 张贴到损益表而不是真实的。

注意:关于舍入基值的最实际信息可以在 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 toggl2pl
2

这将在同一天将日期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 toggl2pl
3

上面的命令将把所有包依赖项和文件收集到 可执行文件,无需额外操作即可分发给最终用户 在他们这边(系统/python包安装)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java GridBagLayout不填充区域   java Memozied Fibonacci未运行与常规Fibonacci解决方案   Java Web启动未启动问题   Java中异常和if-then的区别   java从命令提示符运行批处理文件获取错误   socket在Java中验证SSL证书的公共名称   如何在JAVA中检查字符串数组中的相等字   用java语言将音频文件转换成文本文件的语音识别   java为什么foo(1,2,3)没有传递给varargs方法foo(对象…)作为整数[]   java通过蓝牙将奇怪的数据从Arduino传输到Android   java ContainerRequestFilter获取空entitystream   java如何从安卓 studio中删除不兼容类型错误   基本Java错误   在Spring引导中使用REST API时发生java错误   javascript通过从SQL查询派生的URL打开页面