funilrys / funilrys/PyFunceble

Feature Request | -[u]f file save as name

Open
#424 0 comments 0 reactions 1 assignee Claimed by @funilrys View on GitHub
enhancement
Dominant language
Python
Stars
347
Forks
43
PR merge metrics
No merged PRs in 30d

Description

### What is the feature you'd like to request?

I'm not entirely sure how to articulate this, so I'll present it in a straightforward manner. Here’s the issue:

In the @mypdns/matrix project, I use the same filename across different folders that represent various categories.

```bash
pyfunceble -f https://github.com/mypdns/matrix/raw/refs/heads/master/source/movies/wildcard.csv https://github.com/mypdns/matrix/raw/refs/heads/master/source/porn_filters/explicit_content/wildcard.csv
```

For instance, when I test `source/movies/wildcard.csv` and `source/porn_filters/explicit_content/wildcard.csv`, both files test results, are currently saved as `output/wildcard.csv/`. This creates a problem, as it becomes impossible to differentiate the results corresponding to their respective sources.

To resolve this, I need a way to ensure that the output files are saved in separate folders based on their source categories.

### What problem are you trying to solve?

A method to separate the output from sources with the same filename into distinct results folders.

### What solution would you like to see?

I'm not entirely certain, but my initial thought was something along the lines of `-f ["source", "save_as"]`, along with reading from JSON or CSV files with this grouping.

We should bear in mind that PyF is utilised for both CLI and CI/CD purposes.

### Are there any alternatives you've considered?

_No response_

### Additional context

By organising the results in this manner, you begin to move away from the 70-year-old and outdated RFC 952 hosts file and towards something more modern, such as RPZ, with support for separated test results. Consequently, this should also mark the point at which domains are regarded as unique rather than the source. The source merely serves as a relation to the domain (record) being tested within its grace period, identified by `--dbr n`.

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.