Commit Graph

16 Commits

Author SHA1 Message Date
Sebastian Thiel
306852d514 fix(CLI): alt-media handling in CLI+API-docs
* API-docs now adjust depending on where 'alt' is set (either as global
  parameter, or as method-parameter)
* CLI: download tracking now works for 'alt' as method-parameter
* CLI: global parameter remapping allows them to be named consistently,
  but map to the name required by the google API.

Fixes #61
2015-04-15 14:41:46 +02:00
Sebastian Thiel
36a7cb239a feat(CLI): global optional parameters+DL tracking
* set globally shared parameters (which includes 'alt')
* track if 'alt' is set to 'media' at runtime to do the right thing when
  outputting the result. There is still an issue to be fixed though

Related to #61
2015-04-15 12:12:39 +02:00
Sebastian Thiel
830529c40b fix(CLI): optional parameter default handling
Now we provide a matching default for each paramter, thus alleviating
the previous issue of unncecessary follow-up errors.
2015-04-15 11:27:48 +02:00
Sebastian Thiel
6ae6ee88a0 feat(CLI): parse method parameters and set them
It's implemented in a working fashion, except that the default value
is not currently set to something sensible, causing duplicate errors in
case the key-value syntax is wrong.

Related to #61
2015-04-15 11:02:23 +02:00
Sebastian Thiel
3f49f50ac2 feat(CLI):handle output json encoding and ostreams
* support for encoding response schemas to json
* support for simple downloads (without alt=media)

Fixes #63
2015-04-14 21:57:58 +02:00
Sebastian Thiel
c3a9f1e8e5 feat(CLI): interpret output arguments
For now we don't properly handle errors when opening files, but the
code is there.
Will panic in next commit.

Related to #63
2015-04-14 21:18:57 +02:00
Sebastian Thiel
76841da098 fix(CLI): optimze argument handling and conversion
* Thanks to a generic function, we save a lot of code within main.rs
* more effcient signature for ParseError

Fixes #65
2015-04-14 20:17:30 +02:00
Sebastian Thiel
e34e24e049 feat(CLI):required arg parsing + first doit() call
We are parsing required scalar values and handle parse-errors correctly,
to the point were we make a simple, non-upload doit() call.

It shows that we seem to build invalid calls, for now,but that's nothing
we can't fix once the time is ripe.

Next goals will be related to finalizing the argument parsing code.

Fixes #60
2015-04-14 17:17:21 +02:00
Sebastian Thiel
d6919f1eb6 feat(CLI): infrastructure for call and dry-run
Now we are able to cleanly handle our arguments on a per-method basis.
The generated code won't clutter our design as we put the details into
their own methods.

Fixes #59
2015-04-14 15:42:12 +02:00
Sebastian Thiel
8afc76a7fe feat(CLI): Implementation of JsonTokenStorage
It's also used by the code, replacing the previous standing,
MemoryStorage.

Fixes #58
2015-04-14 15:13:37 +02:00
Sebastian Thiel
f71c286285 feat(CLI): init hub + refactor for dry-run mode
The hub is just using preset types - we will have to implement our own
storage and auth-delegate, as well as a Hub delegate at some point.

Dry run mode allows us to check for errors and use a call builder
using the very same code.

Fixes #57
2015-04-14 11:54:46 +02:00
Sebastian Thiel
be228f1994 feat(CLI): engine checks resource and method args
We are now at a spot where we can actually start parsing arguments.

* ArgumentError -> ClIError - seems more fitting

Fixes #55
2015-04-14 09:41:55 +02:00
Sebastian Thiel
e45eb053d5 fix(CLI): Display for Errors + refactor
* refactored errors into a hierarchy
* implemented `Display` trait for all error types, including some
  'hierarchy-aware' printing.

Fixes #54
2015-04-14 08:34:53 +02:00
Sebastian Thiel
4548644cb1 feat(CLI):write default and read app-secret
* if there is no secret file in json format, we write a default one
  that we will then read in a second iteration of the loop.
  That way, the user has an example of how such a file must look like.

Next step is to cleanup the error type and implement the Error trait.

Fixes #53
2015-04-13 21:21:05 +02:00
Sebastian Thiel
5799d44fce feat(config): create config directory, if possible
* Only supports one level of directory
* full error handling, and uses memory efficiently
2015-04-13 18:45:29 +02:00
Sebastian Thiel
ca8e8c0622 feat(engine): infrastructure
* allow usage of cmn.rs for common types (like Error types)
* instantiate an engine and handle errors, in an initial quick and dirty
  way.

 Fixes #52
2015-04-13 17:08:50 +02:00