todocmd - Google Tasks console client for *nix - Version 0.9.0

[Introduction]-----------------------------------------------------------------

This software is a console client for Google Tasks API (ToDo applicaiton).
From the command line, you can register tasks, display a list, complete tasks,
and so on.


[Requirement]------------------------------------------------------------------

* The following libraries are required to run the program.

  - json-c
  - libcurl

* To use it, you need to register this application with Google Cloud Plathome
  with your Google account and set it to use the Google Tasks API.
   ( Currently, there is no other way than embedding the application key in
     the code, so from the security point of view, the user is required to
	 get the credential information.)

  After that, you need to get the json file of the credit information issued at
  the time of application registration.
  For this method, refer to the Google Cloud Plathome manual.

  As of March 2021, this registration and use of the Google Tasks API are free
  of charge.

* The following software is required to build from the source code.

  - autoconf
  - automake
  - autoheader
  - pkconf
  - libtool
  - cunit


[Install]----------------------------------------------------------------------

Please see the INSTALL file.


[Command Usage]----------------------------------------------------------------

 $ todocmd <command> [option] [filename/Task Num./Task ID]

  <command>
   [CommandLine Mode]
     list     / l          : Print out ToDo-List
     add      / a          : Add Task
     done     / d          : Done (Complete) Task
     undo     / u          : Rewind Done (Completed) Task
     erase    / e          : Erase(delete) Task
     move     / m          : Move Task
     clear    / c          : Clear Done(Completed) Task
     sync     / s          : Sync ToDo-List
   [Setup Mode]
     import   / i          : import client-secret Json file
	                           ([filename] is JSON filename)
     regist   / r          : Setup todocmd
	                           (Generate Setup-URL & Regist Authorization-Code)

   [option]
	-s : Sync mode (only Add/Done/Undo/Erase/Move Commands)
    -c : Add/Move Task to Child task. (only Add / Move Command)
	-r : Reload (only list command.)
    -h : Help (each command's detail usage)


[Quick Tour]--------------------------------------------------------------------

To use it for the time being, execute the following command.

  1) Load All Tasks from Google cloud.

   (example.)
    $ todocmd list -r
    ----<Num> Task Name -------------------------- Task ID ----------------
        <  1> MyTasks                      MTM0OTYxOTI5NzQ4NzMwMDUzMTA6MDow
        <  2>    * Task01                            VVVBSHFTa3F4UVRaTXJCZg
        <  3>    * Task03                            NmFOdHJDYi1qNG5PRjhYWg


  2) Add new Task

	You can add new Task according to the command line syntax below.

      "todocmd add <Task Title> <before Task Num. or ID>"

   (example.)
    $ todocmd add Task02 2
    ----<Num> Task Name -------------------------- Task ID ----------------
        <  1> MyTasks                      MTM0OTYxOTI5NzQ4NzMwMDUzMTA6MDow
        <  2>    * Task01                            VVVBSHFTa3F4UVRaTXJCZg
       ADD >>>>> * Task02

     Insert the above task? (Y/N):

	You will be asked if the task insertion position is correct.
	If there is no problem, enter 'Y'.
	At this point, the task is only added to the cache on the machine and
	is not reflected on the Google Cloud side.


  3) PrintOut Tasks.

   (example.)
    $ todocmd l
    ----<Num> Task Name -------------------------- Task ID ----------------
        <  1> MyTasks                      MTM0OTYxOTI5NzQ4NzMwMDUzMTA6MDow
        <  2>    * Task01                            VVVBSHFTa3F4UVRaTXJCZg
        <  3>    * Task02                            fdjYi1qNG5sakdfPReuwqj
        <  4>    * Task03                            NmFOdHJDYi1qNG5PRjhYWg


  4) Add new SubTask

	You can add new SubTask according to the command line syntax below.

      "todocmd add -c <SubTask Title> <parent Task Num. or ID>"

   (example.)
    $ todocmd add SubTask02a fdjYi1qNG5sakdfPReuwqj
    ----<Num> Task Name -------------------------- Task ID ----------------
        <  1> MyTasks                      MTM0OTYxOTI5NzQ4NzMwMDUzMTA6MDow
        <  3>    * Task02                            fdjYi1qNG5sakdfPReuwqj
       ADD >>>>>    - SubTask02a

     Insert the above task? (Y/N):

	You will be asked if the task insertion position is correct.
	If there is no problem, enter 'Y'.
	At this point, the task is only added to the cache on the machine and
	is not reflected on the Google Cloud side.


  5) Done (Complete) Task.

   (example.)
    $ todocmd done 2
    ----<Num> Task Name -------------------------- Task ID ----------------
        <  2>    * Task01                            VVVBSHFTa3F4UVRaTXJCZg
     Is the selected task the above task? (Y/N):

	You will be asked if the completing task is correct.
	If there is no problem, enter 'Y'.
	At this point, the task is only added to the cache on the machine and
	is not reflected on the Google Cloud side.


  6) Sync changes to Google Cloud.

   (example.)
    $ todocmd sync

   By executing this command, the added task and the completion of the task
   can be reflected on the Google side.
   This makes it possible to reflect task changes on smartphones and tablets.


How to use other commands and the grammar of each command can be displayed
by executing "todocmd <command> -h".


[SECURITY CAUTION!]------------------------------------------------------------

This software is designed and implemented on the assumption that it will be
used on personal use.
At present, the inspection of secure coding is INSUFFICIENT!

Therefore, DO NOT USE it by embedding it in a Web application or installing it
on a machine used by an unspecified number of users!


[Authors]----------------------------------------------------------------------

 Koine Yuusuke (koinec@users.osdn.me)

EOF============================================================================
