Giter Club home page Giter Club logo

hamster-cli's People

Contributors

elbenfreund avatar requires avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hamster-cli's Issues

General cleanup.

Refactor hamstercli to reflect our current best knowlege about our expectations / the backend.

Setup work dir

We need to check if our workdir exists, and if not, create it.
While we are at it we should adjust the default config.ini to a saner value.

Refactor 'config_file'-fixture

Currently the fixtures has its values hardcoded. By this it douplicates client_config and lib_config fixtures.
It would be desireable if it would construct the file from those two already existing fixtues instead.

While we are at it, we can do a general cleanup of all those config fixtures, removing deprecated keys.

Starting a fact assignas an ID

after a temp fact has been started with hamsterlib-cli, it apears this tmp-fact already gets anPK assigned. Once the fact is saved to persistent storage, this obviously breaks...

start command should check for empty string

Right now, if we pass an empty string to start we go all the way until Fact-instantiation until we raise an exception.
We should at least veryfy that we get some string.

Use variadic arguments where aplicable.

Commands like start and list often ask for multiple arguments. Instead treating them as one huge chunk, maybe it is more viable to use Clicks veradic argmuments?!

Arguments containing whitespace needs to be wrapped in quotes, as usual. Main use cases are

  • raw_fact
  • start (when date-time)
  • end (when date-time)

Click allows for one veradic argument. It seems sensible to make use of that for raw_fact. That means that any date-time specified will still have to be wrapped in quotes, but raw facts can be unquoted as CLICK will just assume all extra arguments to be part of raw_fact.

Increase Faker usage in testss

Initial tests offen use 'foobar'-like strings for random content. This should be substitured by apropiate faker instances.
Times will not be trivial to change due to internal logic, but at least simple strings should be trivial.

Allow to specify filepath for 'export'

Right now the export path is equal the work_dir. The resulting files extension is given by the export format.
Its name is static: report.

It would be nice to allow users greater control over these settings.

Add 'export' command.

Command to write facts of a specified timeframe to a file of specified format.
Format:

  • html
  • tsv
  • ical
  • xml

Add basic time tracking commands

Provide basic ways to start and stop recording a new fact. For convinience, also provivde a way to get info on our current fact status.

Remove 'ongoing fact' facilities

Mechanics to deal with 'ongoing facts' has been moved to thehamslib backend. As a consequence any reference should be removed from the CLi.

Add 'search' command

command that lists all activities matching a given term within a given timeframe
This is different to the legacy list command which does not filter by search term but just timeframe.

Parameters:

  • start time, optional
  • end time, optional
  • search terms, optional

Returns:

  • A list of Fact instances

Post-legacy releases shoudl unify this command with lists functionality.

Fix remaining 'xfail tests'

Right now we still carry some older tests that are marked as 'xfail'.
Before release those should be either made functional or removed.

Fix versioning

Right now our initial version is set to '0.0.1'.
It would be better to start at '0.1.0' so allow for easier hotfixes after release.

Split 'start' command into two seperate ones.

Right now start does two distinct things.

  • Add a new complete fact to the backend.
  • Start tracking a new ongoing fact.

Both functionalities should be represented by distinct commands.

Provide proper ``config.ini`` retrieval.

Right now we just assume that config.ini is part of our package.

It would be preferable if
a)
Our client crawl various standart config locations to look for an appropiate config file.
b)
Uses the packaged config file as a template to create a new user specific config file at a fixed location.

Add `list` command

It is worth noting that the legacy CLI's list does only allow for a timeframe and not for a search term.
This extended functionality is instread provided by the search (#21) command.

Bring back tox and proper testing.

During the broken 0.0.2 release of hamsterlib we disabled proper testing with tox.
Now that 0.0.3 has been released, we can bring it back.

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.