casey / casey/intermodal

Standardize metainfo property generation, setting, and skipping

Open
#222 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
659
Forks
36
Avg merge
18m
Merged PRs (30d)
2

Description

I'm noticing a common pattern with metainfo property flags to `imdl torrent create`. Many flags are concerned with setting a metainfo property (`--source`), avoiding setting a property, (`--no-creation-date`), or similar.

I'm considering changing argument handling to deal with these operations in a more uniform way:

- A `--with` flag, to include a property whose value has a reasonable default: `--with creation-date`
- A `--without` flag, to not include a property that would have been included by default: `--without created-by`
- A `--set flag`, to set a property to a particular value: `--set source hello`

Many of the flags to `imdl torrent create` could be removed in favor of these three flags. A huge bonus to this would be that these same flags could be reused for an eventual `imdl torrent edit` command, to add, remove, and set properties on existing torrents.

Contributor guide

Open the contributing guide

Research direction

Start at the `imdl torrent create` argument handling and inventory the existing metainfo property flags, their defaults, and skip behavior. Compare that inventory with the proposed `--with`, `--without`, and `--set` interface; done requires an agreed design and consistent handling, but the issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.