GithubHelp home page GithubHelp logo

francois2metz / node-intervals Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 2.0 1.74 MB

Command line tool to easily manage your timesheets with myintervals.com API.

License: GNU Affero General Public License v3.0

Shell 5.50% JavaScript 94.50%

node-intervals's Introduction

Intervals

NodeJS wrapper of Intervals API.

Install

The best way is to use npm:

npm install -g intervals

You can also clone the repository and install dependencies with npm:

git clone https://github.com/francois2metz/node-intervals.git
cd node-intervals
npm install

Dependencies

  • node-spore
  • node-optimist
  • yaml
  • futures
  • cli-table

Command line usage

See doc/intervals.ronn or type man intervals after install.

API

Get Spore description

var desc = require('invervals').description;

Get client

var client = require('intervals').createClient('secret token');

Config

An API key is needed. Go to https://xx.timetask.com/account/api/ and generate one. The config file is written in ~/.config/intervals or in $XDG_CONFIG_HOME/intervals in yaml format.

Roadmap

  • Zsh completions
  • automatic detection of billable projects
  • real calendar in interval ls

Please submit features request or pull requests :).

Changelog

  • 0.2.1 (not yet released)

    Improve range. You can use something like intervals add-time --date "last week..yesterday".

  • 0.2.0

    Add list-timers, start-timer, get-timer and delete-timer methods.

    Improve range. YYYY-MM-DD.. and ..YYYY-MM-DD now works (thanks spk).

    Replace some basic html entities to utf8. Only casual latin characters are translated.

    Date range in intervals ls, --start and --end options are no longer available.

    Add bash completion.

    Add some methods in the description file.

    Remove base64 dependency.

  • 0.1.1

    Remove dateformat dependency.

  • 0.1.0

    Date with a range. Like 2011-06-17..2011-06-14.

    List only user times with intervals ls (thanks nono).

  • 0.0.10

    Fix pager issue.

    Fix doc.

  • 0.0.9

    Use a pager if the number of results exceed the number of row in the tty.

    Show complete list of results when adding time in a project. We have an hardcoded value '42' but if the result contains more result, we made a new request.

  • 0.0.8

    List only active modules and workype.

  • 0.0.7

    Add intervals ls command.

    QuickFix bug when result list is too short.

  • 0.0.6

    Save project in config file and reuse it after with --project option.

    Add intervals -v and intervals help as shortcut of intervals --help.

    intervals without argument is an alias of intervals add-time.

    Add intervals list-projects command.

  • 0.0.5

    Add --version option.

    Add --help option.

    Add man page. man intervals.

  • 0.0.4

    Add short option -b for billable hours.

    Use XDG_CONFIG_HOME environment variable for storing config file.

    You can now set multiple date at once with multiple --date (thanks oz).

  • 0.0.3

    Options date is now optional. Default is today.

    Add missing base64 dependency.

  • 0.0.2

    Add description param.

  • 0.0.1

    Initial release with basic intervals bin.

Authors

  • François de Metz

Contributors

  • Arnaud Berthomier
  • Bruno Michel
  • Laurent Arnoud

License

AGPL v3.

node-intervals's People

Contributors

francois2metz avatar spk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

oz nono

node-intervals's Issues

Add standards --help and --version flags

The current behaviour of:

$ intervals --help
Add 8 non billable hours for 2011-04-06
^C

or...

$ intervals --version
Add 8 non billable hours for 2011-04-06
^C

is a little bit confusing for the seasoned UNIX user. It's rather an enhancement than an issue, but github's bug-tracking system does not distinguish between the two so far. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.