Package: taskbutler
TaskbutlerTaskbutler enriches your Todoist tasks by adding progress bars, Office365 Files and Dropbox Paper papers directly to your tasks.Featuresadd progress bars to task-lists in Todoist (unicode,
cross-plattform)Create a new task list and add the label “progressbar”. Now you always know the progress without scrolling to your entire list.add and link a Word/Office365 template to tasks(with help of
your Dropbox)Upload your favorite Word template by adding a label to your Todoist task. Taskbutler uploads the template to your Dropbox and the task get liked to
Microsoft Office365. Now, by clicking the task in Todoist,
Microsoft Word online opens in your browser and you can start
writing.add and link Dropbox Paper papers to tasksTired of the missing task-note feature in Todoist?
Add the label “paper” to a task. Now, with a click on the title,
you’ll get a new Dropbox Paper with all its features just for this
task.calculate total sums of grocery lists or financial planningWant to know how much a list with $/€ values will cost you ?
Add the label “grocery” to a list of task and taskbutler will calculate the total of all items in the list.
It also works for a list of lists! Now you can e.g. plan how much money you’ll need for each week of a month and the total of the month.Prerequisites and notesTaskbutler is not associated or connected with Todoist, Dropbox,
Github or Microsoft.You’ll need aTodoistpremium accountThe Dropbox Paper and Github features require a free account at
Dropbox. The Microsoft Office365 feature requires a paid Office365
subscription(or a free Microsoft Office 365 Education subscription).This is optional and not required to use the other features of taskbutler!Taskbutler is tested on UbuntuFor optimal use, Taskbutler should run periodical on a
server/computer to continuously update your tasksEven though I never experienced any data loss, it’s nice to know
thatTodoist provides a daily backup of your data.SetuprequirementsUbuntu 16 and uptested with Python 3.5 and upinstallTo install the latest taskbutler in your home directory, run this commands in your terminal:pip install taskbutler --user#Tostarttaskbutlerwithoutfullpath:echo 'PATH="$PATH:$HOME/.local/bin/"' >> ~/.bash_profileconfigurationThe configuration is stored in your home directory:/home/$YourUsername/.taskbutler/config/config.iniEach feature can be disabled by leaving the corresponding labelname in
the config.ini emtpy. Each feature is configured in the config.ini.
Open, edit and save the file to configure Taskbutler.If you used Taskbutler before and want to change a setting:Remember
to stop Taskbutler before changing any setting and always update your
existing Todoist tasks manually according to your changes before
starting Taskbutler again.Taskbutler is not aware of your changes and will mix and mess up your
tasks. Changes can easily be tested by using a different labelname.Setup Todoist accesstaskbutler needs access to your Todoist account. This is done via an API key, you’ll need to create.
This key is like a password - don’t share it!Login to Todoist and got to settings -> Integrations (https://todoist.com/prefs/integrations)Scroll down to “API-Token” and copy the tokenpaste the token into the config.ini and save:[todoist]apikey=PUT_TOKEN_HERESetup Progress barsEdit the config section in config.ini:[todoist]apikey=label_progress=progressbarprogress_seperator=‣progress_bar_0=⬜⬜⬜⬜⬜progress_bar_20=⬛⬜⬜⬜⬜progress_bar_40=⬛⬛⬜⬜⬜progress_bar_60=⬛⬛⬛⬜⬜progress_bar_80=⬛⬛⬛⬛⬜progress_bar_100=⬛⬛⬛⬛⬛Change progressbar symbolsThe bar is implemented by addingunicode charatersto the existing
text. e.g. ⬛⬛⬜⬜⬜ 33 %[todoist]progress_bar_0=⬜⬜⬜⬜⬜progress_bar_20=⬛⬜⬜⬜⬜progress_bar_40=⬛⬛⬜⬜⬜progress_bar_60=⬛⬛⬛⬜⬜progress_bar_80=⬛⬛⬛⬛⬜progress_bar_100=⬛⬛⬛⬛⬛To change the bar to bullets, just overwrite the
characters with other characters ‘’⚫⚫⚫⚪⚪’’.Change progressbar seperatorTo separate the task-text from the progressbar, a rare unicode character
is used. Just replace the seperator in the ‘’config.ini’’ file.[todoist]progress_seperator=‣Remember to rename the separator manually in Todoist before running
Taskbutler again!Edit progressbar labelThe bar added to every task with the label ‘’progressbar’’. The
label-name can be changed in the ‘’config.ini’’ file:label_progress=progressbarRemember to rename the label in Todoist when renaming labels!Setup Dropbox featuresTo use any Dropbox feature you need to create a Dropbox API token. You
need to create an Dropbox app for that. Don’t worry, you only need to
setup it once and it is only accessible for you.Get a API key for your Dropbox(by creating a Dropbox app):Go tohttps://www.dropbox.com/developers/apps/createSelectDropbox APISelectFull Dropbox- Access to all files and folders in a user’s Dropbox.Give it a name (doesn’t matter)ClickCreate appOn the app settings page clickGenerated access tokenand copy
the tokenSetup Office365 SyncYou need:an Dropbox accountan Microsoft Office365/office.com accountan .docx template you want to add by the labelPre-taskscreate a new folder inyour Dropbox. All files will be saved hereconnect Microsoft Office Online to ‘your
Dropboxhttps://www.dropbox.com/account/connected_appsEdit the config section in config.ini:[dropbox]apikey=[dropboxoffice]labelname=lettertemplatefile=./templates/folder=todoistdropbox_prepart_files=https://www.dropbox.com/ow/msft/edit/home/apikey: add the Dropbox API key you created abovelabelame: add the Todoist label you want to use for this featuretemplatefile: add the path to your .docx file you want to add to your
tasks (Linux style, full or relative from /tasbutler)folder: add the Dropbox folder you created abovedropbox_prepart_files: don’t change. Needed to create the Office365
direct linkSetup Dropbox PaperPre-taskscreate a new folder in yourDropbox Paper. All papers will be
saved hereCreate an empty paper in this folder(Taskbutler only recognises
folders once a paper is placed in it)Edit your config.ini:Edit the config section in config.ini:[dropbox]apikey=[dropboxpaper]todoistfolderid=url=https://paper.dropbox.com/doc/labelname=paperfoldername=todoistsharing=falseapikey: add the Dropbox API key you created abovetodoistfolderid: don’t change. Will get set automatically by
Taskbutler. ID of the Dropbox Paper folder you created aboveurl: don’t change. Needed to create the Dropbox Paper direct linklabelame: add the Todoist label you want to use for this featurefoldername: add the Dropbox Paper folder you created abovesharing: don’t change. Sets the created papers to “private only” (so
only you, once logged into Dropbox, will be able to access it)Setup Grocery list/Cost calulatorEdit the config section in config.ini:[todoist]label_grocery=grocerygrocery_seperator=💰grocery_currency=€label_grocery: add the Todoist label you want to use for this featuregrocery_seperator: the character that seperates the task name and calculated valuegrocery_currency: your currency. Tested with $ and € - but it should work with all symbolsStart TaskbutlerMake sure you added the Python default path to your PATH via:echo ‘PATH=”$PATH:$HOME/.local/bin/”’ >> ~/.bash_profile#taskbutlernowstartsbysimplytyping:taskbutlerContinuous progress-updateTo continuously update your tasks run Taskbutler periodical on a internet connected server
or your computerUbuntu ServerTo run taskbutler every 20Min via crontab (seecrontab.gurufor setting
time):type:crontab -eadd the line:*/20 * * * * $HOME/.local/bin/taskbutlermake sure to leave the last line in crontab empty or add a line with just a#at the end!(crontab needs this to work.)Taskbutler will log to:/home/$YourUsername/.taskbutler/log/todoist.logComputer(Win/Mac/Linux)Taskbutler doesn’t need to run on a server. It is also possible to run
Taskbutler on your running computer. Just start Taskbutler manually or
add it to your scheduled tasks.UpdatesTaskbutler checks for updates by checking the ‘releases page’_ and
leaves a message in the console.To update:See releasenotes atreleases pageand check for compatibility.Backup your current configuration/setup-folderrunpip install taskbutler --user --upgrade --upgrade-strategy eagerto updateCheck and set all configurations. Use a different label name for
testing (set ‘’label_progress’’ and create a task with the test
label)LoggingTaskbutler logs to/home/$YourUsername/.taskbutler/logsThe filename can be changed in the config.ini. You can also set the logging level. Default isINFO,DEBUGoutputs logs of details.[log]loglevel=INFOlogfile=todoist.logDevelopmentTo activate dev-mode add to ini file:[config]devmode=trueDevmode doesn’t submit changes to Todoist, Dropbox or Github. Set the
logging level to DEBUG to get all messages.[log]loglevel=DEBUGlogfile=./todoist.logBuilt WithDoist/todoist-python- The official Todoist Python API librarydropbox/dropbox-sdk-python- The official Python SDK for Dropbox API v2PyGithub python sdk- Unofficial Python SDK for Github APICookiecutter template for a Python packageContributingPlease open a issue in the ‘Github issue trackerhttps://github.com/6uhrmittag/taskbutler/issues.About AuthorMarvin Heimbrodt-github.com/6uhrmittag|twitter.com/6uhrmittagHistory