Spaces:
Sleeping
Sleeping
File size: 4,130 Bytes
34b369f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/home/pavithra/projects/Text-summarization-nlp'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import os\n",
"%pwd\n",
"os.chdir(\"../\")\n",
"\n",
"%pwd"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from dataclasses import dataclass\n",
"from pathlib import Path\n",
"\n",
"@dataclass(frozen=True)\n",
"class DataValidationConfig:\n",
" root_dir: str\n",
" status_file: str\n",
" all_required_folders: list\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from src.TextSummarizer.constants import file_path\n",
"from src.TextSummarizer.utils.general import read_yaml, create_directories\n",
"\n",
"class ConfigurationManager:\n",
" def __init__(\n",
" self,\n",
" config_filepath = file_path.CONFIG_FILE_PATH,\n",
" params_filepath = file_path.PARAMS_FILE_PATH):\n",
"\n",
" self.config = read_yaml(config_filepath)\n",
" self.params = read_yaml(params_filepath)\n",
"\n",
" create_directories([self.config.artifacts_root])\n",
"\n",
"\n",
"\n",
" def get_data_validation_config(self) -> DataValidationConfig:\n",
" config = self.config.data_validation\n",
"\n",
" create_directories([config.root_dir])\n",
"\n",
" data_validation_config = DataValidationConfig(\n",
" root_dir=config.root_dir,\n",
" status_file=config.status_file,\n",
" all_required_folders=config.all_required_folders,\n",
" )\n",
"\n",
" return data_validation_config"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class DataValidation:\n",
" def __init__(self, config: DataValidationConfig):\n",
" self.config = config\n",
"\n",
"\n",
"\n",
" def validate_all_files_exist(self)-> bool:\n",
" try:\n",
" validation_status: bool | None = None\n",
"\n",
" all_folder = os.listdir(os.path.join(\"artifacts\",\"data\"))\n",
"\n",
" for folder in all_folder:\n",
" if folder not in self.config.all_required_folders:\n",
" validation_status = False\n",
" with open(self.config.status_file, \"w\") as f:\n",
" f.write(f\"Validation status: {validation_status}\")\n",
" else:\n",
" validation_status = True\n",
" with open(self.config.status_file, \"w\") as f:\n",
" f.write(f\"Validation status: {validation_status}\")\n",
"\n",
" return validation_status\n",
"\n",
" except Exception as exp:\n",
" raise exp"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" config = ConfigurationManager()\n",
" data_validation_config = config.get_data_validation_config()\n",
" data_validation = DataValiadtion(config=data_validation_config)\n",
" data_validation.validate_all_files_exist()\n",
"except Exception as e:\n",
" raise e"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
|