Commit graph

6 commits

Author SHA1 Message Date
8b6f0b24e2
Add date_format config key for csv command
- Add get_date_format() to config.py: reads [csv] date_format, returns
  None when absent (falls back to the default %d/%m/%y)
- _cmd_csv applies the format to both single-day and weekly date strings
- Add 3 tests for get_date_format in TestGetters
- Update timesheets.example.toml and README with [csv] date_format key
2026-06-02 09:31:15 +02:00
0204accd05
Wire up -o for stories; remove -o from status
- Extract _add_output_arg() helper; add it explicitly to summary, csv,
  and stories subparsers (removes it implicitly from status)
- _cmd_stories now honours args.output, redirecting print_stories output
  to the given file (same pattern as _cmd_summary)
- Update README with stories -o example
2026-06-02 09:31:14 +02:00
cd8ca789aa
Add --weekly flag to csv command
- Add `write_csv_weekly()` to output.py: writes entries from multiple
  days as a single CSV with one header row, correct date per row
- Add `-w`/`--weekly` flag to csv subparser
- _cmd_csv branches on args.weekly: fetches week sections, formats
  per-day date strings, calls write_csv_weekly; --raw is honoured
- Add TestWriteCsvWeekly with 6 tests
- Update README with weekly csv usage examples
2026-06-02 09:31:14 +02:00
985ee28113
Add --raw flag to csv command to skip aggregation
- Add `to_csv_entries()` to output.py: converts raw rows to write_csv
  entries one-for-one, without merging by (project, description)
- Add `--raw` flag to the csv subparser; _cmd_csv branches on it
- Add TestToCsvEntries with 6 tests
- Update README with --raw usage example
- Add .coverage and htmlcov/ to .gitignore
2026-06-02 09:31:13 +02:00
17e6a35b37
docs: move project description to README, point AGENTS.md to it 2026-06-02 09:31:10 +02:00
7bea08ddac
feat: set up modularized version of project with testing 2026-06-02 09:31:01 +02:00