pimutils / pimutils/khal

Vision regarding the JSON interface

Open
#1,447 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
3.1k
Forks
233
Avg merge
1h 44m
Merged PRs (30d)
1

Description

Hello,

It's rather discussion than an issue.

A few weeks ago I noticed that Khal has got the option --json. Being excited about that feature I created a little application which shows the events of the current week. Given that, I named it Semana, which means "week" from Spanish. https://github.com/laladrik/Semana

As of now, Semana is unable to create, edit or delete events. Khal allows a user to do those things via the interactive mode (khal interactive). This is not an interesting option when you implement a client application. Apart from the interactive mode Khal provides the commands "edit" and "new". The command "edit" allows an event to be edited or deleted. This is good from a user perspective, but difficult for from a machine perspective.

The main reason is that the event, which is be edited, is determined by the search among event titles. This might be ambiguous if a user has two events with the same title. Let's imagine, the first event is on Monday, the second event is on Friday. It doesn't matter whether those events reoccur or not. Given that, the command "edit" shows both of them to the user. If there is another option to edit an event, please let me know, I might've overlooked it.

Before improving Khal to allow Semana to support the operations I have a question. Do you have any vision regarding the feature of JSON? I will align the improvement with the vision.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review Khal's existing --json option and the edit and new commands described in the issue, then trace how events are selected by title. Done means an agreed JSON interface vision is documented, including the scope and behavior needed for unambiguous event operations.

Written by the indexing model from the issue text.

Assessment

Tech stack
json, python
Domain
api, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.