Compare commits

..

8 Commits

4 changed files with 69 additions and 31 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*.csv
*.json

View File

@@ -1,25 +1,56 @@
# Résumé
Ce dossier contient un script Python pour calculer automatiquement le poids des projets en octets ainsi que le nombre de fichiers qu'ils contiennent. Ces informations correspondent aux statistiques données par Windows lorsque l'on fait clique droit > Propriété.
Ce dossier contient un script Python pour calculer automatiquement le poids des projets en octets ainsi que le nombre de fichiers qu'ils contiennent. Ces informations correspondent aux statistiques données par Windows lorsque l'on fait **Clic droit > Propriété**.
# Installation (Windows)
- Installez git pour Windows ([lien](https://git-scm.com/downloads/win))
- Installez Python ([lien](https://www.python.org/downloads/windows/))
- Installez et ouvrez VSCodium ([lien](https://vscodium.com/))
- Créez un nouveau projet en cliquant sur **File > Open Folder...** et créez un dossier **projects_stats**
- Cliquez sur **Terminal > New Terminal**
- Clonez le repository à l'aide du terminal :
```bash
git clone http://192.168.1.125:30008/Florian/projects_stats.git .
```
- Créez un environnement virtuel :
```bash
py -m venv venv
```
- Installez les dépendances :
```bash
.\venv\Scripts\pip.exe install -r .\requirements.txt
```
# Instructions
Pour commencer, il est nécessaire de données une liste de dossiers à parcourir. Lancer la commande suivante :
```.\venv\Scripts\python.exe init_args.py```
Un nouveau fichier est créé : `args.json` dans le dossier courant. Ce fichier contient la structure à suivre pour y mettre la liste des dossiers projet à parcourir:
Pour commencer, il est nécessaire de donner la liste de dossiers projet à parcourir. Éxecutez la commande suivante :
```bash
.\venv\Scripts\python.exe init_args.py
```
Un nouveau fichier est créé : **args.json**. Ce fichier contient la structure à suivre pour y mettre la liste des dossiers projet à parcourir:
```json
{
"folder_paths": [
"path\\to\\your\\folder_1",
"path\\to\\your\\folder_2",
"...",
"path\\to\\your\\folder_n"
]
}
```
Vous pouvez le remplir manuellement ou choisir une approche automatique en éxecutant la commande suivante :
Vous pouvez de remplir manuellement les champs (si vous avez peu de dossiers à parcourir) ou choisir une approche automatique en éxecutant la commande suivante :
```.\venv\Scripts\python.exe populate_args_with_all_project_folders.py```
```bash
.\venv\Scripts\python.exe populate_args_with_all_project_folders.py
```
Ensuite, lancez la commande suivante :
Enfin, éxecutez la commande suivante :
```.\venv\Scripts\python.exe main.py```
```bash
.\venv\Scripts\python.exe main.py
```
À la fin du script, un CSV `output.csv` est créé contenant la liste des projets, leur poids et leur nombre de fichiers.
À la fin du script, un CSV **output.csv** est créé contenant la liste des projets, leur poids et leur nombre de fichiers.

View File

@@ -5,6 +5,7 @@ import json
folders_list = []
### CLIPS
if True:
root_path = os.path.join("G:\\_PRO\\CLIPS")
folders_list += [ f.path for f in os.scandir(root_path) if f.is_dir() and not f.name.startswith('_')]
folders_list += [ f.path for f in os.scandir(
@@ -13,6 +14,7 @@ folders_list += [ f.path for f in os.scandir(
### COMMERCIAL
if True:
root_path = os.path.join("G:\\_PRO\\COMMERCIAL")
prods = [ f.name for f in os.scandir(root_path) if f.is_dir() and not f.name.startswith('_')]
@@ -21,6 +23,7 @@ for prod_name in prods:
### DOCU
if True:
root_path = os.path.join("G:\\_PRO\\DOCU")
prods = [ f.name for f in os.scandir(root_path) if f.is_dir() and not f.name.startswith('_')]
@@ -29,6 +32,7 @@ for prod_name in prods:
### FICTIONS
if True:
root_path = os.path.join("G:\\_PRO\\FICTIONS")
prods = [ f.name for f in os.scandir(root_path) if f.is_dir() and not f.name.startswith('_')]
@@ -37,6 +41,7 @@ for prod_name in prods:
### WEB
if True:
root_path = os.path.join("G:\\_PRO\\WEB")
folders_list += [ f.path for f in os.scandir(root_path) if f.is_dir() and not f.name.startswith('_')]

BIN
requirements.txt Normal file

Binary file not shown.