Skip to content

Commit d273788

Browse files
marcarlclaude
andcommitted
Add --target-date parameter for temporal filtering
- Add --target-date command line parameter to specify date for temporal processing - Document --target-date usage with examples in README - Update parameter order in README to list md-markers first - Pass target_date argument to make_document() function This allows users to generate historical versions of legislation by specifying a target date (e.g., --target-date 2023-01-01) instead of always using today's date. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 01a7e94 commit d273788

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

README.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,23 +169,35 @@ Systemet hanterar temporal processing (tidsbaserad filtrering) olika beroende p
169169

170170
- **`html`** och **`htmldiff`**: Tillämpar temporal processing med dagens datum innan HTML-generering, liknande `md`-format.
171171

172+
#### Exempel med target-date
173+
174+
För att se hur en lag såg ut vid ett specifikt datum:
175+
176+
```bash
177+
# Se hur lagen såg ut 2023-01-01
178+
python sfs_processor.py --input sfs_json --output SFS --formats md --target-date 2023-01-01
179+
```
180+
181+
Detta är användbart för att skapa historiska versioner eller för att förstå hur lagen såg ut vid en viss tidpunkt.
182+
172183
## Kommandoradsalternativ
173184

174185
```bash
175-
python sfs_processor.py [--input INPUT] [--output OUTPUT] [--formats FORMATS] [--filter FILTER] [--no-year-folder] [--verbose]
186+
python sfs_processor.py [--input INPUT] [--output OUTPUT] [--formats FORMATS] [--filter FILTER] [--target-date DATE] [--no-year-folder] [--verbose]
176187
```
177188

178189
### Parametrar
179190

180191
- `--input`: Input-katalog med JSON-filer (default: "sfs_json")
181192
- `--output`: Output-katalog för konverterade filer (default: "SFS")
182193
- `--formats`: Utdataformat att generera, kommaseparerat. Stödjer: md-markers, md, git, html, htmldiff (default: "md-markers")
183-
- `md`: Generera rena markdown-filer utan section-taggar
184194
- `md-markers`: Generera markdown-filer med section-taggar bevarade
195+
- `md`: Generera rena markdown-filer utan section-taggar
185196
- `git`: Aktivera Git-commits med historiska datum
186197
- `html`: Generera HTML-filer i ELI-struktur (endast grunddokument)
187198
- `htmldiff`: Generera HTML-filer i ELI-struktur med ändringsversioner
188199
- `--filter`: Filtrera filer efter år (YYYY) eller specifik beteckning (YYYY:NNN). Kan vara kommaseparerad lista.
200+
- `--target-date`: Datum (YYYY-MM-DD) för temporal filtrering. Används med `md`, `html` och `htmldiff` format för att filtrera innehåll baserat på giltighetsdatum. Om inte angivet används dagens datum för `md`-format. Exempel: `--target-date 2023-01-01`
189201
- `--no-year-folder`: Skapa inte årbaserade undermappar för dokument
190202
- `--verbose`: Visa detaljerad information om bearbetningen
191203

sfs_processor.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,8 @@ def main():
563563
help='Output formats to generate (comma-separated). Currently supported: md-markers, md, git, html, htmldiff. Default: md-markers. Use "md-markers" to preserve section tags with temporal attributes (standard). Use "md" for clean markdown without section tags. Use "git" to enable Git commits with historical dates. HTML creates documents in ELI directory structure (/eli/sfs/{YEAR}/{lopnummer}). HTMLDIFF includes amendment versions with diff view.')
564564
parser.add_argument('--predocs-fetch', action='store_true', dest='predocs_fetch',
565565
help='Fetch detailed information about förarbeten from Riksdagen API. Parsing of förarbeten always happens. This will make processing slower.')
566+
parser.add_argument('--target-date', dest='target_date', default=None,
567+
help='Target date (YYYY-MM-DD) for temporal processing. Used with md, html, and htmldiff formats to filter content based on validity dates. If not specified, today\'s date is used for md format. Example: --target-date 2023-01-01')
566568
parser.add_argument('--apply-links', action='store_true', default=True,
567569
help='Apply internal paragraph links (e.g., [9 §](#9§)), external SFS links (e.g., [2002:43](/sfs/2002:43)), EU legislation links (e.g., [(EU) nr 651/2014](https://eur-lex.europa.eu/...)), and law name links (e.g., [8 kap. 7 § regeringsformen](/sfs/1974/152)) to the document. Default: True')
568570
parser.set_defaults(year_folder=True)
@@ -654,7 +656,7 @@ def main():
654656
continue
655657

656658
# Use make_document to create documents in specified formats
657-
make_document(data, output_dir, output_modes, args.year_folder, args.verbose, False, args.predocs_fetch, args.apply_links)
659+
make_document(data, output_dir, output_modes, args.year_folder, args.verbose, False, args.predocs_fetch, args.apply_links, args.target_date)
658660

659661
print(f"\nBearbetning klar! {len(json_files)} filer sparade i {output_dir} i format: {', '.join(output_modes)}")
660662

0 commit comments

Comments
 (0)