Commit Graph

356 Commits

Author SHA1 Message Date
Brian Tiger Chow
0eeed7cc68 add string method to command details
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:09 -08:00
Brian Tiger Chow
65eb1d86fa rm todos
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:08 -08:00
Brian Tiger Chow
476aab9552 rm unused tests
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:08 -08:00
Brian Tiger Chow
1065ae45aa s/number/id "the id of the topic you'd like to tour"
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:08 -08:00
Brian Tiger Chow
f1c20b4e3a don't use the marshaler
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:08 -08:00
Brian Tiger Chow
35da357dc5 fix(tour) patch up and verify tour output
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Brian Tiger Chow
c99e9e6000 feat(details) add funcs to negate negations
not immediately useful, but nice to have

tagging you to make sure i didn't make a mistake here @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Brian Tiger Chow
5c4fa5a783 feat(tour) show list of topics when user tries to view topic that doesn't exist
eg.

```
ipfs2 (cmd-ref-part2) λ. go build ./...; ./ipfs2 tour 0

Tour 0 - Hello Mars

Hello Mars

ipfs2 (cmd-ref-part2) λ. go build ./...; ./ipfs2 tour 10

ERROR
    no topic with id: 10

TOPICS

    0 - Hello Mars
    0.1 - Hello Mars 2

```
2014-11-14 03:20:07 -08:00
Juan Batiz-Benet
afa5eedb44 cmds2: commandShouldRunOnDaemon
This commit adds the pretty-complicated decision function
to check whether a command should run on the daemon.

@maybebtc @mappum double check the logic?
2014-11-14 03:20:07 -08:00
Juan Batiz-Benet
bb8d4ebd6b cmds2: cmdDetailsMap 2014-11-14 03:20:07 -08:00
Brian Tiger Chow
ca2828f33c feat(commands) add ClientError(msg) helper and use it to return a fancy error to the client in the tour
@jbenet this exists now

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Brian Tiger Chow
c5e75f91a6 tests(2/main) errClient
Discovered this quirk about interfaces.

@whyrusleeping
@mappum
@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:07 -08:00
Brian Tiger Chow
0a93f9d764 style(tour) newline at the end
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:06 -08:00
Matt Bell
db361d9403 commands/cli: Made Parse return an error if request has unrecognized options 2014-11-14 03:20:06 -08:00
Matt Bell
815efdb125 daemon: Added a ShortDescription 2014-11-14 03:20:06 -08:00
Brian Tiger Chow
ff6c4ce6a4 test(tour) ensure template renders without failure
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:06 -08:00
Juan Batiz-Benet
047d2e2d62 cmd2: Marshaller -> Marshaler (see golang/encoding)
Also:
- map[cmds.EncodingType]cmds.Marshaller -> MarshalMap

cc @mappum @maybebtc
2014-11-14 03:20:05 -08:00
Matt Bell
c973776049 main: Fixed logical error in remote/local check 2014-11-14 03:20:05 -08:00
Matt Bell
e700b16576 Ported remaining command helptext to HelpText struct 2014-11-14 03:20:05 -08:00
Matt Bell
b4735eb10b main: Test if commands are local-only when choosing daemon vs. local 2014-11-14 03:20:04 -08:00
Matt Bell
188bf779db Removed cmdInvocation.root 2014-11-14 03:20:03 -08:00
Matt Bell
9afb85714a commands/cli: Don't return root in Parse 2014-11-14 03:20:03 -08:00
Matt Bell
b7b15b8b30 cmd/ipfs2: Added isLocal function for testing if a command is local only 2014-11-14 03:20:03 -08:00
Matt Bell
2dd6f24157 core/commands2: Refactored some commands to HelpText struct for helptext fields 2014-11-14 03:20:03 -08:00
Matt Bell
2fd8f39c65 cmd/ipfs2: Added comments to explain purpose of CLI root 2014-11-14 03:20:03 -08:00
Juan Batiz-Benet
7daf888902 cmds2: handle error return codes 2014-11-14 03:20:03 -08:00
Juan Batiz-Benet
d18902df27 cmds2: changed how the ctx.Node works 2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
3352aeee15 cmds2: fixed show help on root + noncallable 2014-11-14 03:20:02 -08:00
Juan Batiz-Benet
f738e899c2 cmd2: simplified main
Attention @maybebtc @mappum

I cleaned up + simplified the main flow. Now, all printing
is contained inside main itself! (:cheer:). I do this with
the help of a cmdInvocation struct that has both
a Parse and Run. The only major clunkiness left is that the
"CallCommand" is still its own function. But *shrug*.

Please test it works as we would expect. i changed much of
the flow, so likely that i missed a complicated edge case.

main roadmap:
- parse the commandline to get a cmdInvocation
- if user requests, help, print it and exit.
- run the command invocation
- output the response
- if anything fails, print error, maybe with help
2014-11-14 03:20:02 -08:00
Matt Bell
092524fcbb cmd/ipfs2: Added a 'commands' command for CLI root 2014-11-14 03:20:01 -08:00
Matt Bell
fd8b1930af cmd/ipfs2: Copy subcommands from core/commands2 root into cmd/ipfs2 root 2014-11-14 03:20:01 -08:00
Brian Tiger Chow
4e740f63eb docs(ipfs2/main)
@mappum

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-14 03:20:01 -08:00
Brian Tiger Chow
22a4cc7d30 fix(ipfs2) output info to logger when checking daemon status 2014-11-14 03:20:01 -08:00
Juan Batiz-Benet
a2d06b5f9a cmds2: errHelpRequested error 2014-11-14 03:20:01 -08:00
Matt Bell
78bc748342 cmd/ipfs: Fixed bug where handleParseError sets error to nil 2014-11-14 03:19:59 -08:00
Juan Batiz-Benet
ec8be23cbc cmds/main decomposed handleParseError 2014-11-14 03:19:59 -08:00
Brian Tiger Chow
7060e7dfe2 rename variable 2014-11-14 03:19:58 -08:00
Brian Tiger Chow
fed2f8d2c6 fix(2/main) option value signature 2014-11-14 03:19:58 -08:00
Brian Tiger Chow
013d98a35a fix(2/init, 2/add) fix optionvalue signature 2014-11-14 03:19:58 -08:00
Matt Bell
7a505b44c7 Handle -h and --help differently (short text vs long text) 2014-11-14 03:17:42 -08:00
Matt Bell
c76a52e422 cmd/ipfs2: Show short help text instead for usage errors 2014-11-14 03:17:42 -08:00
Matt Bell
4970d8b5a3 commands/cli: Use template for helptext generation 2014-11-14 03:17:41 -08:00
Matt Bell
e23b537f32 Override root command help text 2014-11-14 03:17:41 -08:00
Matt Bell
b358bb3ffd cmd/ipfs2: Added comment to explain default encoding logic 2014-11-14 03:17:40 -08:00
Matt Bell
aea2fce987 cmd/ipfs2: Added explanation comment to ipfsHandler 2014-11-14 03:17:40 -08:00
Matt Bell
4902361fd5 cmd/ipfs2: Updated readme 2014-11-14 03:17:40 -08:00
Matt Bell
c468a4dbf5 core/commands2: Use Argument constructors in commands 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
8b14012bba refactor(ipfs2/main) rm exit 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
ad5ad912ce refactor(ipfs2/main) use guard 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
74b38cb65f refactor(ipfs2/main) change the way we handle profiling 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
d72af9c910 refactor(ipfs2/main) return err 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
9268bdd56e refactor(ipfs2/main) replace with equivalent action 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
fa5ca3f27f refactor(ipfs2/main) output response 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
cda68a19d0 refactor(ipfs2/main) return err 2014-11-14 03:17:39 -08:00
Brian Tiger Chow
13a90537d6 refactor(ipfs2/main)
* bring debug checking back to top level so we have more control over
  CPU profiling.

* bring help text up to top level so we can exit from the program
  at the top level instead of within an arbitrary function
2014-11-14 03:17:38 -08:00
Brian Tiger Chow
2473d2d720 refactor(ipfs2/main) same for debug 2014-11-14 03:17:38 -08:00
Brian Tiger Chow
28be8a6171 refactor(ipfs2/main) check err before 2014-11-14 03:17:38 -08:00
Brian Tiger Chow
f79f1267f7 refactor(ipfs2/main) split lines 2014-11-14 03:17:38 -08:00
Brian Tiger Chow
203a0723ba refactor(ipfs2/main) return errors in main 2014-11-14 03:17:38 -08:00
Matt Bell
17c5923160 core/commands2: Fixed init option definition 2014-11-14 03:17:38 -08:00
Matt Bell
3e507f7c9f commands: Changed option accessor API (Request#Option now returns an OptionValue) 2014-11-14 03:17:38 -08:00
Matt Bell
d700a2ce87 cmd/ipfs2: Cleaned up main option checking (no longer need temporary Request) 2014-11-14 03:17:37 -08:00
Matt Bell
8ee3e996cc core/commands2: Use Option constructors in commands 2014-11-14 03:17:37 -08:00
Matt Bell
3e30093c2b core/commands2: Updated commands to new Run function API 2014-11-14 03:17:37 -08:00
Brian Tiger Chow
f4d0b8baa0 clarity(util) ToReaders -> CastToReaders 2014-11-14 03:17:36 -08:00
Brian Tiger Chow
38a6d0ead0 fix(init) version 2014-11-14 03:17:36 -08:00
Brian Tiger Chow
8ffd27a6e1 fix(init) inline bootstrap peers 2014-11-14 03:17:36 -08:00
Matt Bell
b3ea49954a cmd/ipfs2: Handle SIGTERM 2014-11-14 03:17:35 -08:00
Matt Bell
cc519c47a3 cmd/ipfs2: Ensure process exits smoothly 2014-11-14 03:17:35 -08:00
Matt Bell
35983b480a cmd/ipfs2: Made '/ipfs' handler return more accurate HTTP response codes, resolves #287 2014-11-14 03:17:35 -08:00
Matt Bell
897e0f869f cmds/ipfs2: Added '/ipfs' HTTP handling 2014-11-14 03:17:35 -08:00
Matt Bell
3d94e89dd1 cmd/ipfs2: Made error messages more visible 2014-11-14 03:17:34 -08:00
Matt Bell
165c69543b cmd/ipfs2: Output generated help text on error or help flag 2014-11-14 03:17:34 -08:00
Matt Bell
2b8ef917b8 cmd/ipfs2: Added descriptions for 'init', 'tour' 2014-11-14 03:17:33 -08:00
Brian Tiger Chow
aa1c3cae4a fix(tour) variadic -> false 2014-11-14 03:17:31 -08:00
Brian Tiger Chow
99d5098450 named imports 2014-11-14 03:17:31 -08:00
Matt Bell
7ead660738 cmd/ipfs2: Set all loggers to DEBUG level when running with 'debug' flag 2014-11-14 03:17:30 -08:00
Brian Tiger Chow
520240d385 feat(commands2/tour) impl 2014-11-14 03:17:30 -08:00
Brian Tiger Chow
c65b01c55c fix(add) cast safely 2014-11-14 03:17:30 -08:00
Brian Tiger Chow
084ffd97aa fix(cli) tear down node 2014-11-14 03:17:30 -08:00
Matt Bell
1cb94a1231 cmd/ipfs2: Display subcommand help text on parse error 2014-11-14 03:17:27 -08:00
Brian Tiger Chow
d180832f3e add todo 2014-11-14 03:17:26 -08:00
Brian Tiger Chow
8960a4ff8b TODO(ipfs2/init) add FIXME note as a reminder about
c6b74207bc
2014-11-14 03:17:26 -08:00
Brian Tiger Chow
79015e7891 fix(ipfs2/init) declarative 2014-11-14 03:17:26 -08:00
Brian Tiger Chow
e305e45e81 fix(ipfs2/init) identity 2014-11-14 03:17:26 -08:00
Brian Tiger Chow
62fd9166ce fix(ipfs2/init) datastore 2014-11-14 03:17:26 -08:00
Brian Tiger Chow
542c2a2da3 fix(ipfs2/init) extract bootstrap 2014-11-14 03:17:26 -08:00
Brian Tiger Chow
96fd88e916 feat(ipfs2/main) port mem-profiling from previous main
was added 5 days ago in...

7510ef2081
2014-11-14 03:17:26 -08:00
Brian Tiger Chow
46f1afbe08 refactor(init) re-order 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
a1e738e297 docs(init) rename filename var 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
8d7ebcb582 refactor(init) rename extracted method 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
3b7983e028 refactor(init) extract response 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
1b5e4032ff refactor(init) extract context 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
f3048ab712 refactor(init) extract bits flag 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
630b88d227 refactor(init) extract force flag 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
b987c99eea refactor(init) extract dspath 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
3c8657503c refactor(init) check file after 2014-11-14 03:17:25 -08:00
Brian Tiger Chow
d894924152 refactor(init) return an error 2014-11-14 03:17:24 -08:00
Brian Tiger Chow
faf6454df6 refactor(init) extract method 2014-11-14 03:17:24 -08:00
Brian Tiger Chow
fee3b0dd31 +2 characters for readability 2014-11-14 03:17:24 -08:00