You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.9 KiB

## credentials_searches
### Instructions
Create a file `credentials_searches.py` that contains a function `credentials_search` which takes no parameters and searches for the keys `password` and `secret` in a file called `logs.json`.
- If both keys are found, the function should create a new json file named `credentials.json` and save the values of those keys in it.
- If only one of the keys is found, the function should create a new json file named `credentials.json` and save the value of that key in it.
- If neither key is found, the function should not create the `credentials.json` file.
- If the `logs.json` file is empty or is not a json file, the function should not create the `credentials.json` file.
- If the `logs.json` file does not exist, the function should not create the `credentials.json` file.
- If the keys are found in a nested object, the function should create the `credentials.json` file and save the values of the keys in it.
### Usage
Here is an example of how to use the credentials_search function:
With this file `logs.json`:
```json
{
"password": "test_password",
"other": "value",
"secret": "test_secret"
}
```
If you run your function:
```python
credentials_search()
```
Your function should generate this file `credentials.json`:
```json
{
"password": "test_password",
"secret": "test_secret"
}
```
### Hints
- The `json` module can be used to read and write JSON files.
- The `os` module can be used to check if a file exists and remove a file.
- Remember that the function should be able to search for the keys `password` and `secret` in nested json objects.
- Using the `isinstance` function could be useful to check if a value is for example a dict.
### References
- [json module](https://www.w3schools.com/python/python_json.asp)
- [os module](https://docs.python.org/3/library/os.html)
- [isinstance function](https://www.w3schools.com/python/ref_func_isinstance.asp)