dwaring87 / rtm-cli Goto Github PK
View Code? Open in Web Editor NEWRemember the Milk Command Line Interface
License: MIT License
Remember the Milk Command Line Interface
License: MIT License
running "rtm ls" produces a syntax error:
ERROR: SyntaxError: /Users/<userdir>/.rtm.indexcache.json: Unexpected end of JSON input
I run a script daily and sometime in the past, it just started to fail.
did something change at the api level from RTM? Any thoughts appreciated.
When I run the command rtm url 3163
, the spinner starts and after about 15 seconds it stops spinning and the command hangs. The only way I can stop it is to kill it at this point. I can CTRL+C
out if I do it while the spinner is still spinning.
I think that this may be a scaling problem; I'm a long time RTM user (over 14 years) and have a lot of tasks. I think that when the user.tasks.getTask()
runs as part of the url
command, it is pulling back all my tasks, twice and then has to iteratively scan through all my lists and taskseries to find the matching taskseries.
I let it sit overnight, but still nothing.
I'm not 100% sure if this is a rtm-api or rtm-cli issue.
I couldn't quite figure out user.tasks.getTask()
and it's interactions with _getTaskInfo()
but I think I have a solution that leverages information from the cache to help pre-filter pulling the task information. I need to abstract it to a function and will share my code when I'm part way through, hopefully for some feedback.
I think that my solution, ultimately getting a taskseries by cache index, might help with #19 (or at least getting the notes) and #6 , too.
I want to connect the outputs from rtm-cli to another program to parse and display and insert into another task management system.
URLs get parsed by Smart Add by not having any particular marking and being outside of the 'title' bit at the front and being recognisable as a URL (http[s]-->first space). If I include URLs, what happens is that (a) the : and // are interpreted as special characters.
But even when they are escaped, rtm-cli seems to stick the URL to last previous argument (typically a tag). I speculate it is because the parser is searching for a limited set of special characters and thus discards the space and adds the whole URL to the tag that came before it.
A proper fix would be to scan for http[s] and treat it properly (by not doing anything to it and acknowledging that the previous argument is complete). Given the escaping issues, it may be useful to add a u:{http://domain.something.com} syntax.
Hi,
Thank you for this cli. I was a heavy user of the todo.sh
but had to migrate to cloud-based app for better communication with teams. This cli comes very close to todo.sh cli experience. Love it ❤️
Is there a way to add few notes to a task? It seems that the android app is capable for adding a note so I am assuming that this is possible. I'd love to help with implementation but don't know where to start.
I recently upgraded to version 1.5.1. Previously, I was able to use the "-p" and "-s" options to simplify the output when running on a dumb terminal (e.g., Emacs shell buffer). Now, when I use these options (and "-c"), even under a "normal" terminal window (e.g., xterm, Gnome Terminal), rtm
prints neither the "Logged In As" message nor the ">" prompt. Typing in commands (e.g., "add task1") does not appear to work.
$ rtm
Logged In As: XXXXXXXX
> quit
$ rtm -c
[ no output after minutes ]
Interestingly, it does respond to CTRL-D (Unix end-of-file) and exits with a successful status.
I observe this behavior both under Linux and MacOS.
$ npm --version
6.9.0
$ rtm --version
1.5.1
$
Unfortunately, this project (along with the rtm-api) is not something I've had the chance to put any work into over the last few years.
If anyone has a fork that they are currently maintaining, feel free to leave a comment below and I can link to it from the README of this repo so others can more easily find it.
Latest changelog says alias for today was changed to overdue. Overdue does not list items due today and 'today' is no longer a valid command.
For example, to add an identical note in rtm-cli and rtm smart add I would have to do the following:
rtm-cli: rtm-cli add test note l:Work t:Project1 due:Tomorrow
rtm smart add: test note #Work #Project1 ^Tomorrow
I've tested the above two statements, for example, on each input method (rtm-cli and smart add) and I can confirm that at least these three tags (list, tag and due date) do not get recognized by the other service.
Is there anyway we can harmonize this so there is not a need to memorize two totally different sets of syntax for the same task..
Hi @dwaring87,
I am trying to list the contents of a list whose name is made up of several separate words. The command does not return any value. Example list name: Could start with
I try to run the command rtm ls list:"Could start with*"
and return No tasks returned
However if I enter the CLI mode, if it works:
rtm
> ls list:"Could start with*"`
If the list name does not contain blank spaces, it works directly from the terminal. Otherwise, you need to enter the RTM CLI.
Would it be possible to solve this?
Thanks!
just started getting into RTM. Love that there's a cli tool. Is there any plans on adding support for subtasks?
I was adding several tasks using the rtm a
interactive mode. While I was entering them, my internet went out. Then when finishing with a blank line, it cycled through the tasks, reported a failure and then ended with the success message.
New Task: Install new Comcast modem #personal !1 ^today @home =15 minutes
New Task: Install new Nest floodlight #Personal !1 ~tomorrow ^Saturday =1 hour @home
New Task:
✖ Could not add new Task #1 (Network Error: Could not make request to RTM API Server)
✖ Could not add new Task #2 (Network Error: Could not make request to RTM API Server)
✔ Task(s) Added
I was expecting that the final message would have reported an error.
I've not attempted to troubleshoot this yet.
Recently, I have started receiving the following message when I attempt to rm
a task:
[error] Could not remove Task #1 (Service currently unavailable)
I am using version 1.5.1. Here is an example sesssion:
$ rtm
Logged In As:DELETED
> ls -p
[error] No tasks returned
> add foo
[ok] Task(s) Added
> ls -p
Inbox
5 foo
> rm 5
[error] Could not remove Task #5 (Service currently unavailable)
[ok] Task(s) Removed
> ls -p
Inbox
5 foo
> quit
$
Previously, this same sequence of commands would have successfully deleted task 5. I've tried removing ~/.rtm.indexcache.json
and ~/.rtm.json
and re-authenticating. I've tried multiple computers running, e.g., Ubuntu 19.10, Debian 10.2 and MacOS 10.14, and none work.
Any ideas? Thanks.
I'm running rtm 1.5.1 retrieved from a pre-built binary. I can't get plugins to load. I have been trying both rtm-cli-plugin-example and rtm-plugin-export. I tried manually setting the plugin directory path in the configuration file to no avail. Is this an issue with pre-built binaries or what?
Any way to set the repeat schedule from the cli? I did not see anything in the RTM API docs so probably not.
Thanks
Every command I try with rtm
(except I think logout
?) produces a "cannot access API server" error, which makes this tool unusable:
>rtm
Logged In As: hujhax
> ls
× Could not get tasks (Network Error: Could not make request to RTM API Server)
> logout
√ Logged Out
> login
Authorization Required:
× Could not get Login URL (Network Error: Could not make request to RTM API Server)
> exit
I've noticed this on all my Windows machines; they're all running Windows 11 Pro.
I installed rtm-cli from npm but the app did not work by syntax error.
$ sudo npm install -g rtm-cli
$ rtm
/usr/local/lib/node_modules/rtm-cli/src/utils/log.js:12
function log(text="", newline=true) {
^
SyntaxError: Unexpected token =
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/local/lib/node_modules/rtm-cli/src/cli.js:9:13)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
How can I use rtm-cli?
OS: LinuxMint 18.3
npm: 3.5.2
The login
command cause the auth procedure to occur twice if not already logged in with RTM credentials.
I have some lists that use an underscore character ('_'), e.g. as in "MY_Tasks".
If I use something like "rtm ls list:MY_Tasks" that should display that list, right?
I am a new user, so sorry if I miss something obvious...:-)
I'm on linux (bash), used the latest binary release.
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.