Commit Graph

220 Commits

Author SHA1 Message Date
Petros Angelatos
af73936b95 rename cmn to client
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2020-12-19 00:46:06 +01:00
Petros Angelatos
b5923b277c use direct references to types to generate documentation
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2020-12-19 00:44:20 +01:00
Petros Angelatos
38b1ed145c use fully qualified names to access items from cmn
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2020-12-19 00:44:15 +01:00
Sebastian Thiel
65b8f0063d Rewrite deprecated features, such as try!
As taken from
https://github.com/Byron/google-apis-rs/pull/247
2020-01-18 14:46:53 +08:00
Sebastian Thiel
f350baa4a7 Fix unit tests 2020-01-18 14:14:07 +08:00
Sebastian Thiel
5b370e4190 Align CLI generator with changes in string type handling
There was some duplicated logic here.
2019-07-05 18:39:18 +08:00
Sebastian Thiel
4ceeac6320 And once again, python string handling bit me...
...so sick of it. No python, ever again.
Why, but why did I chose Mako back then :D?
2019-07-05 17:26:22 +08:00
Sebastian Thiel
f33fae47e9 Add Rust preprocessor to handle code examples gracefully
Fixes #213
2019-07-05 17:00:56 +08:00
Sebastian Thiel
24b5faa417 Omit special case for type inference; fixes #180 2019-07-05 11:57:05 +08:00
Sebastian Thiel
99e97ceece Assure API descriptions can contain '"' characters 2019-07-05 11:16:57 +08:00
Sebastian Thiel
25ba809a09 Support types with '-' 2019-07-05 10:44:24 +08:00
Guy Taylor
57a7ee37e5 Always run Python in the Venv context 2018-12-21 13:05:40 +01:00
Guy Taylor
4faa5f6203 Add first type inferance tests
This slightly changes to code under test by:
* Adding __init__.py files to create modules
* Converts for a.b to a['b'] to allow object or dict types
2018-10-28 11:39:29 +01:00
Guy Taylor
a793af5586 Make utils.method_params private as it is not used.
This removed it been improted into Mako templates and renames it
_method_params to make it clear.
2018-10-28 11:39:29 +01:00
Guy Taylor
9867b260e1 Improve Python testing
Introduce pytest, wire it into Make and convert previous tests.

Note this is not wired into Travis
2018-10-21 22:37:39 +01:00
Faddi
d042fcf1a7 fix(util.py): iteration over dicts with 'values' key
Sheets api has a 'values' key in resources.spreadsheets.resources which
collides with values().
2018-01-28 16:54:05 +01:00
Sebastian Thiel
4660d23676 fix(docs): Example now uses hyper_rustls
It's already done by the CLI, but the docs still showed
code that would only work in older hyper versions that still
shipped with HTTPS.

Fixes #169
2017-05-26 10:14:39 +02:00
Sebastian Thiel
fad9d3b0ca doc(index): link to doc.rs for APIs
We also link more specifically to crates.io.

Some debt was taken on as the build_version is special and
duplicated right now.
2016-12-24 13:44:06 +01:00
Sebastian Thiel
d6accb8f61 doc(index): remove all download links
Instead refer to cargo install for installation.

[skip ci]
2016-12-24 10:49:37 +01:00
Sebastian Thiel
fc34337ee4 doc(lib): use docs.rs for library documentation
We will still need to host the CLI docs though.
2016-12-24 10:35:48 +01:00
Sebastian Thiel
53c27da2e7 fix(util.py): improve version and library name handling
We can now deal with versions having the 'alpha' or 'beta' suffix.
It's rather hard-coded, but solves the problem for now.

Related to #126
2015-10-16 15:45:12 +02:00
Sebastian Thiel
1180314275 chore(make-docs): adjust to build.target-dir
Thanks to the latest cargo 0.3.0, it's possible to keep everything
in the stanard doc output directory, which essentially collects
everything for us.

This creatly reduces the space required to hold all documentation, and
is in fact quite beatiful.
2015-06-21 14:52:34 +02:00
Sebastian Thiel
e92f440d9b imp(index.html): download links to tar.gz files
That way, we save bandwidth and preserve the executable bit of the
respective program.

Closes #107
[skip ci]
2015-05-10 18:51:08 +02:00
Sebastian Thiel
52027c6db5 feat(index.html):added download links (osx,ubuntu)
All assets are configured via shared.yaml and are located elsewhere in
the web. This could lead to broken assets at some point, but I am just
risking it for know, knowing that it's easily done to have local
resources.

Closes #106
[skip ci]
2015-05-10 11:03:36 +02:00
Sebastian Thiel
0e6605d7a4 feat(index.html): added back-link to crates.io
* url is created per-API and features a nice crates image coming
  from githubusercontent.

Closes #105
[skip ci]
2015-05-10 09:10:25 +02:00
Sebastian Thiel
944e04bd12 docs(CLI): filled README.md
All possible documentation was added in a quality sufficient for
a first release. After all, everything there is is documented.

Fixes #50
2015-04-26 11:22:28 +02:00
Sebastian Thiel
fbec9bdbba docs(index): integrate different program types
* put program type inforamtion into shared.yaml to allow accessing it
  from the index.html.mako template.

Fixes #51
2015-04-26 09:42:01 +02:00
Sebastian Thiel
be7ccb085c fix(CLI): set request value to call
Previously, even though the request was passed by reference, it was
copied and thus our changes never arrived in the call.

Now the API makes this clear by taking ownership, and the CLI code
sets the Request value lateron, explicitly.

Related to #76
2015-04-25 13:25:00 +02:00
Sebastian Thiel
6befdbc6fa fix(CLI): verified download works
* implement custom scopes - previously they could be set, but were
  ignored during the API call
* api-overrides are not yaml files for convenience. Existing ones were
  updated as needed.

Fixes #75
2015-04-25 11:35:39 +02:00
Sebastian Thiel
845a568b25 fix(CLI): response value json decoding
* updated all json API descriptions
* enabled 'pretty' printing of response structures. However, currently
  there is no way to get rid of all the NULL fields without external
  filtering
* all structure fields are now optional - there seems to be no way
  around it.

Fixes #73
2015-04-24 16:00:27 +02:00
Sebastian Thiel
bf22bef77a fix(CLI): struct access compiles ...
... but currently wouldn't run as we don't initialize the optional sub-
structures at all.
2015-04-16 19:53:15 +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
b64722cca8 docs(CLI): random values + cursor information
* Instead of writing pod-types, we generate a random value of the
  required type.
* Fully document how cursors can be set, which is all that's usually
  demonstrated in more complex dynamic structure documentation

Fixes #49
2015-04-13 14:18:32 +02:00
Sebastian Thiel
5b4f18d341 fix(api+cli): improved scope handling; fix CLI
* in APIs, scopes will now be per-method, and if no scope is given,
  we will assume only the API key has to be set. Previously there was
  a wild mix between globally mentioned scopes and method scopes.
* assure CLI generation works so far, for all avaialable APIs

Related to #48
2015-04-13 10:50:19 +02:00
Sebastian Thiel
24e053718a docs(CLI): optional paramters
Added documentation for flags setting all kinds of optional parameters.
2015-04-12 19:33:11 +02:00
Sebastian Thiel
49c4a4101e docs(scopes): added CLI scope documentation
In addition to that, they can now be set as well.
Unified generation of the 'default' scope.
2015-04-12 17:15:55 +02:00
Sebastian Thiel
acd42dfccc fix(make): dependencies are now per-program-type
Previously we put cli.py into the common lib folder, which caused the
API to be regenerated and rebuilt whenever we changed code that will
only affect the CLI, causing terrible turnaround times.

Now the dependency is fixed.
2015-04-12 09:55:17 +02:00
Sebastian Thiel
3cef120c58 feat(mkdocs): per-method-markdown-files
That way, all information can be placed within a single markdown file
per method call. This will keep loading times low while maximizing
usability.

That way, it's comparable to the API documentation, which is most
detailed on a per-method basis as well.
2015-04-10 16:52:42 +02:00
Sebastian Thiel
c78ea5381a feat(mkdocs): cli postprocessing support
That way, a single huge markdown file containing documentation for
commands and methods can be split up into multiple files for
individual inclusion in mkdocs.

It's done by a post-processor which is loaded by mako-render, providing
access to the entire context. Said processor may also drop results
altogether and thus prevent files to be written that have been split up
by it.
2015-04-10 13:02:36 +02:00
Sebastian Thiel
39253d988a feat(cli): docopt subcommands
Setup command/subcommand pattern.
Next will be the infrastucture for documenting these, using mkdocs
and markdown.
2015-04-09 18:01:58 +02:00
Sebastian Thiel
f527c8202b feat(cli): bin renaming + docopt infrastructure
* allow to rename executables, for now just brute-force using a boolean
  flag. If we have more binaries at some point, we might want to be more
  elaborate.
* everything related to docopts functionality is now in the docopts
  module.

  Related to #45
2015-04-09 17:05:55 +02:00
Sebastian Thiel
191e822c5a fix(hyper-client): adjust to hyper client
* deal with hyper client not using a type-parameter anymore
* fix incorrect documentation link (use '_' instead of '-')

Fixes #47
2015-04-08 16:51:46 +02:00
Sebastian Thiel
91861dcb71 fix(rustup): rustc (be9bd7c93 2015-04-05)
* using std::convert
* update to latest hyper (and other dependencies)

Related to #46
2015-04-07 11:59:10 +02:00
Sebastian Thiel
d1c97912cb feat(mkdocs): mkdocs generator works now
It can be selected for each type of program we want to build, and makes
sense for everything that is not a library.

We also tried to unify names and folders a bit more, even though there
certainly is more work to be done to be fully non-redundant.

Fixes #43
2015-03-24 18:11:12 +01:00
Sebastian Thiel
caaf62e51d chore(suffix):prepare dep generation to use suffix
That way, we can have multiple deps files, one per program 'type'
2015-03-24 11:57:12 +01:00
Sebastian Thiel
137ba8caf3 refactor(mako): put API relevant stuff into subdir
This is the first of many changes to come.
We try to leverage our ability to merge multiple data source into one
to abstract away what we are actually doing, and of course, to allow
sharing the majority of the code, were applicable.
2015-03-23 16:13:02 +01:00
Sebastian Thiel
d1c5bf1e4a fix(docs): remove newlines interpreted as test
When documenting mandatory arguments of a methods builder, it was
possible to document 'parts', which have a long multi-line description
with empty lines inbetween. This caused the indentation to be funny
and tricked rustdoc into thinking these are indented doc-tests.

Now we remove these empty lines, also hoping we dont encounter lines
with just whitespace in them. The latter would require a tiny update
of our regex.
2015-03-23 15:14:07 +01:00
Sebastian Thiel
e5b013e97c fix(result): remove custom Result Enum
Instead, we just use a customized `Result` tyoe and thus stick to
common Rust conventions.

Fixes #39
2015-03-23 14:57:31 +01:00
Sebastian Thiel
4bfdc9fd01 chore(publish): make publish
We will now keep marker files to remember which crates we have published
successfully. These files are checked in to make this information
persist.

NOTE: We still don't explicitly exclude pseudo-changes in json files,
which are no real change except for a changed revision number.

Fixes #41
2015-03-23 12:11:18 +01:00
Sebastian Thiel
ea161897f5 fix(docs): typo fixes and misc. improvements
Fixes #42
2015-03-23 11:19:57 +01:00