darthbenro008 / rchore Goto Github PK
View Code? Open in Web Editor NEWAn feature packed Google Tasks CLI written purely in Rust
License: MIT License
An feature packed Google Tasks CLI written purely in Rust
License: MIT License
Files are currently at ${HOME}/.r_chore
:
.rchore
).~/.config/.rchore
).rchore tasks list
results in zsh: segmentation fault (core dumped) cargo run -- tasks list
.
I could trace the error to prettytable and its printstd
function inside src/printer.rs
.
Right now you need to provide an positional argument to rchore tasks done <pos>
or rchore tasks delete <pos>
. It would be really nice if you could fall back to a list option presented to the user when the position is not passed, something like what already rchore task-list update
or rchore task-list delete
does.
Relevant Codebase:
rchore/src/handlers/task_handler.rs
Lines 109 to 127 in 2561389
rchore/src/handlers/task_handler.rs
Lines 74 to 95 in 2561389
GitHub Action 1
On push/PR
Clippy
Multi matrix build
GitHub Action 2
On tag push
Clippy
Create release
Use changelog body
Upload Artifact
Steps to reproduce -->
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/service/google_tasks.rs:44:36
stack backtrace:
0: 0x562029b46a60 - std::backtrace_rs::backtrace::libunwind::trace::ha5edb8ba5c6b7a6c
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
1: 0x562029b46a60 - std::backtrace_rs::backtrace::trace_unsynchronized::h0de86d320a827db2
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x562029b46a60 - std::sys_common::backtrace::_print_fmt::h97b9ad6f0a1380ff
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:67:5
3: 0x562029b46a60 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h14be7eb08f97fe80
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:46:22
4: 0x562029b6abcf - core::fmt::write::h2ca8877d3e0e52de
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/fmt/mod.rs:1094:17
5: 0x562029b40235 - std::io::Write::write_fmt::h64f5987220b618f4
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/io/mod.rs:1584:15
6: 0x562029b48efb - std::sys_common::backtrace::_print::h7f1a4097308f2e0a
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:49:5
7: 0x562029b48efb - std::sys_common::backtrace::print::h1f799fc2ca7f5035
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:36:9
8: 0x562029b48efb - std::panicking::default_hook::{{closure}}::hf38436e8a3ce1071
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:208:50
9: 0x562029b489cd - std::panicking::default_hook::he2f8f3fae11ed1dd
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:225:9
10: 0x562029b4950d - std::panicking::rust_panic_with_hook::h79a18548bd90c7d4
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:591:17
11: 0x562029b49077 - std::panicking::begin_panic_handler::{{closure}}::h212a72cc08e25126
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:495:13
12: 0x562029b46efc - std::sys_common::backtrace::__rust_end_short_backtrace::hbd6897dd42bc0fcd
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:141:18
13: 0x562029b49009 - rust_begin_unwind
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:493:5
14: 0x5620297b1191 - core::panicking::panic_fmt::h77ecd04e9b1dd84d
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/panicking.rs:92:14
15: 0x5620297b10dd - core::panicking::panic::h60569d8a39169222
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/panicking.rs:50:5
16: 0x562029805672 - <rchore::service::google_api::GoogleApiClient as rchore::service::google_tasks::ApiTasks>::fetch_all_tasks::h9444ba239020bcb6
17: 0x5620297fd55d - rchore::handlers::task_handler::TaskManager::list_tasks::h8617fc28a90a2e22
18: 0x5620297f6a81 - rchore::main::hafafb010e2863520
19: 0x5620297d8993 - std::sys_common::backtrace::__rust_begin_short_backtrace::h17da107c06e2973d
20: 0x5620297d89ad - std::rt::lang_start::{{closure}}::h61e1bdee41c6de17
21: 0x562029b49a0a - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hc4354216bf39217c
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/ops/function.rs:259:13
22: 0x562029b49a0a - std::panicking::try::do_call::hb68eb312780385cf
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:379:40
23: 0x562029b49a0a - std::panicking::try::h22b8e08595060b8b
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:343:19
24: 0x562029b49a0a - std::panic::catch_unwind::hc64f1a6a0e71b1fc
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panic.rs:431:14
25: 0x562029b49a0a - std::rt::lang_start_internal::h4461fc58637f04f8
at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/rt.rs:34:21
26: 0x5620297f88e2 - main
27: 0x7f4557c94b25 - __libc_start_main
28: 0x5620297b190e - _start
29: 0x0 - <unknown>
First of all thank-you. I haven't found any other cli tool that successfully interacts with google-tasks so keep up the good work!!
I've just started exploring rchore and probably being dumb but I'm a bit disorientated. I'm going to open a few "feature requests" about different things.
newbie warning: I think I'm being stupid.
How can I edit a task please? If it's not currently possible then may I add that as a feature request please.
From what I can tell the subcommands under "tasks" are: list add delete show stats clear done undo.
thanks in advance
running
cargo install rchore
got:
Updating crates.io index
Downloaded rchore v0.1.0
Downloaded 1 crate (433.3 KB) in 0.78s
Installing rchore v0.1.0
Downloaded futures-io v0.3.16
Downloaded futures-sink v0.3.16
Downloaded futures-util v0.3.16
Downloaded futures-channel v0.3.16
Downloaded socket2 v0.4.1
Downloaded tokio v1.9.0
Downloaded futures-core v0.3.16
Downloaded serde_json v1.0.66
Downloaded proc-macro2 v1.0.28
Downloaded serde_derive v1.0.127
Downloaded serde v1.0.127
Downloaded cc v1.0.69
Downloaded tinyvec v1.3.1
Downloaded syn v1.0.74
Downloaded futures-task v0.3.16
Downloaded futures-macro v0.3.16
Downloaded hyper v0.14.11
Downloaded 17 crates (1.6 MB) in 1.20s
Compiling libc v0.2.98
Compiling autocfg v1.0.1
Compiling cfg-if v1.0.0
Compiling proc-macro2 v1.0.28
Compiling unicode-xid v0.2.2
Compiling syn v1.0.74
Compiling lazy_static v1.4.0
Compiling memchr v2.4.0
Compiling log v0.4.14
Compiling version_check v0.9.3
Compiling serde_derive v1.0.127
Compiling serde v1.0.127
Compiling pin-project-lite v0.2.7
Compiling bytes v1.0.1
Compiling itoa v0.4.7
Compiling futures-core v0.3.16
Compiling cc v1.0.69
Compiling proc-macro-hack v0.5.19
Compiling core-foundation-sys v0.8.2
Compiling bitflags v1.2.1
Compiling spin v0.5.2
Compiling futures-task v0.3.16
Compiling untrusted v0.7.1
Compiling proc-macro-nested v0.1.7
Compiling ppv-lite86 v0.2.10
Compiling ryu v1.0.5
Compiling fnv v1.0.7
Compiling hashbrown v0.11.2
Compiling remove_dir_all v0.5.3
Compiling httparse v1.4.1
Compiling slab v0.4.3
Compiling pin-utils v0.1.0
Compiling futures-io v0.3.16
Compiling futures-channel v0.3.16
Compiling futures-sink v0.3.16
Compiling matches v0.1.8
Compiling typenum v1.13.0
Compiling unicode-width v0.1.8
Compiling try-lock v0.2.3
Compiling native-tls v0.2.7
Compiling tinyvec_macros v0.1.0
Compiling httpdate v1.0.1
Compiling percent-encoding v2.1.0
Compiling base64 v0.13.0
Compiling tower-service v0.3.1
Compiling scopeguard v1.1.0
Compiling byteorder v1.4.3
Compiling crossbeam-utils v0.8.5
Compiling encoding_rs v0.8.28
Compiling serde_json v1.0.66
Compiling regex-syntax v0.6.25
Compiling unicode-segmentation v1.8.0
Compiling crc32fast v1.2.1
Compiling smallvec v1.6.1
Compiling regex-automata v0.1.10
Compiling crossbeam-epoch v0.9.5
Compiling vec_map v0.8.2
Compiling strsim v0.8.0
Compiling opaque-debug v0.3.0
Compiling ipnet v2.3.1
Compiling dotenv v0.15.0
Compiling anyhow v1.0.42
Compiling ansi_term v0.11.0
Compiling mime v0.3.16
Compiling cpufeatures v0.1.5
Compiling encode_unicode v0.3.6
Compiling zeroize v1.4.1
Compiling home v0.5.3
Compiling instant v0.1.10
Compiling tracing-core v0.1.18
Compiling generic-array v0.14.4
Compiling proc-macro-error-attr v1.0.4
Compiling proc-macro-error v1.0.4
Compiling tokio v1.9.0
Compiling futures-macro v0.3.16
Compiling futures-util v0.3.16
Compiling indexmap v1.7.0
Compiling num-traits v0.2.14
Compiling memoffset v0.6.4
Compiling num-integer v0.1.44
Compiling http v0.2.4
Compiling unicode-bidi v0.3.5
Compiling textwrap v0.11.0
Compiling tinyvec v1.3.1
Compiling lock_api v0.4.4
Compiling form_urlencoded v1.0.1
Compiling fxhash v0.2.1
Compiling heck v0.3.3
Compiling ring v0.16.20
Compiling rchore v0.1.0
Compiling tracing v0.1.26
Compiling regex v1.5.4
Compiling want v0.3.0
Compiling unicode-normalization v0.1.19
error: failed to run custom build command for `rchore v0.1.0`
Caused by:
process didn't exit successfully: `/var/folders/1k/0sd0tctn1tg35t0_rv10b17w0000gq/T/cargo-installQakkJ6/release/build/rchore-5ba7dc04eb699a7e/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NotPresent', /Users/agris/.cargo/registry/src/github.com-1ecc6299db9ec823/rchore-0.1.0/build.rs:6:44
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to compile `rchore v0.1.0`, intermediate artifacts can be found at `/var/folders/1k/0sd0tctn1tg35t0_rv10b17w0000gq/T/cargo-installQakkJ6`
Caused by:
build failed
I appreciate any help, thanks
cargo 1.54.0 (5ae8d74b3 2021-06-22)
rustc 1.54.0 (a178d0322 2021-07-26)
Provide a nice markdown documentation either via Hugo or GitHub Pages
Requirements:
docs
folderAs discussed in #21, the issue can be closed when the following tasks are achieved:
rchore
when OAuth prompt generates the URLNo tasks
if we query after access_token has expired.Relevant Code:
rchore/src/service/google_tasks.rs
Lines 57 to 69 in 6acf0cd
Solution:
GoogleApiClient
Currently rChore does not accept due date for tasks
Feature:
It would be nice if we could take in due date in human friendly date format
Relevant Codebase:
rchore/src/handlers/task_handler.rs
Lines 28 to 61 in d291561
Dowloaded binary, ran rchore google login
, pasted URL into browser.
After selecting my personal Google Account to continue, a warning (with a big, ugly, red
If you click the advanced options, you can still proceed, but this looks very scary, nonetheless.
name: Support optional flag to add task to a different list without switching default list
description: Allow the usage of a flag that allows the user to name the list that the task is added to. This would avoid the need to switch contexts if you're working on one set of tasks but something you need to do for a different one pops into your head.
title: "[Support optional flag to add task to a different list without switching default list]: "
labels: ["enhancement"]
assignees:
rchore tasks add --list 'other list'
Need to figure out robust binary distribution mechanisms for rChore
The following would be nice:
Optional:
This might be a question rather than an issue, so apologize in advance. I have a server where I only have ssh access. I want to install rchore there, but rchore google login
fails because oauth returns a localhost url and, obviously, cannot communicate with the chore process on the server. How do I get out of this pickle?
Create an readme for rChore with the following things in mind:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.