54 Commits

Author SHA1 Message Date
maurane f4ef4c11d4 chore(project): 🔖 update CHANGELOG for v0.1.0
close #72
v0.1.0
2026-09-18 11:49:02 +02:00
maurane 08c314420c fix(config): 🐛 fix timezone with ZoneInfo class 2026-09-17 18:20:50 +02:00
maurane fa5987215f docs(docs): 📝 update documentation files
update ruff and pyproject.toml. Sync or reinstall the package
2026-09-17 18:13:57 +02:00
maurane 22e54da876 test(cli): ✅ add tests for from_mails command
close task #85
2026-09-17 13:01:38 +02:00
maurane 5e43a0cbb8 style(project): 🎨 improve all docstrings and centralize mail variables in mail_utils 2026-09-17 12:59:07 +02:00
maurane 6909ee7acf style(tests): 📝 clean test_cli.py docstrings 2026-09-16 15:31:33 +02:00
maurane cf09ab0c6a test(notifier): ✅ add tests for notifier module 2026-09-16 14:46:35 +02:00
maurane eb4ef2339e style(project): 💄 update docstrings with ruff
change ruff configurations in pyproject.toml in order to improve docstring format in project
2026-09-15 16:33:45 +02:00
maurane 20ad43d694 refactor(tests): ✅ udpate tests
update tests by adding a test_utils module
2026-09-15 13:20:20 +02:00
maurane 555af86884 feat(notifier): ✨ add mail notification 2026-09-15 12:04:56 +02:00
maurane b1409dfea5 ♻️refactor(reporter): factorize reporter.py for future notifier
let cli call get_period instead of functions in `reporter.py`, add notifier.py
2026-09-15 12:04:56 +02:00
maurane 91e76e6079 chore(project settings): 🐛 remove missing imports for exchangelib in mypy settings 2026-09-15 10:41:08 +02:00
maurane d9ef736667 fix(classifier): 🐛 add pattern for 'bl command not found' error
add pattern, add related test, unify patterns
2026-09-15 10:39:41 +02:00
maurane e55e12b0c5 ✅test(classifier): add tests for moving folders functions 2026-09-11 17:26:00 +02:00
maurane a52149b064 🐛fix(classifier): add missing patterns
add VTA_AT_0 and CLOTHES_SIZE_NOT_FOUND
2026-09-11 16:06:06 +02:00
maurane eb51539ecc ✨feat(project): add entrypoint of project 2026-09-10 17:58:19 +02:00
maurane 44442dbc46 🐛fix(classifier): fix missing patterns
add patterns for errors CLOTHES_SIZE_RANGE_BL, STORE_CODE_NOT_FOUND, VTA_NOT_FOUND and replace CLOTHES_SIZE_RANGE_OUT_OF_BOUND by CLOTHES_SIZE_RANGE_BL, add fixtures to tests these new values, order patterns
2026-09-10 17:34:28 +02:00
maurane 68f6b298a5 ✨feat(mail_reader): add moving analyzed mails
add moving analyzed mails feature, upgrade  reports by adding date of generation
2026-09-10 13:57:53 +02:00
maurane 4a81b71eac ✅test(parser): update and add tests
update existing tests and add tests for `parse_lines`
2026-09-10 11:34:20 +02:00
maurane c5466a4171 ♻️refactor(project): adapt to new naming of parsing methods
adapt to new naming of parsing methods, remove unused paths in parser module, all module import logwatcher.config instead of importing logwatcher, rename test functions
2026-09-10 10:13:12 +02:00
maurane cf83a06cfe ♻️refactor(parser): refactor parsing methods 2026-09-10 09:46:16 +02:00
maurane d37733457f 🐛fix(cli): fix methods on list instead of queryset 2026-09-10 09:22:39 +02:00
maurane 32df98e64b ✅test(project): add mail_reader tests
fix unprecised typings replacing QuerySet type by list[Message] type, exclude test directory from mypy analysis and add tests for mail_reader.
2026-09-09 19:09:38 +02:00
maurane 150eb5145d ✨feat(project): add from-mails command
add `from-mails` command that connect to the mailbox using configurations in .env file, parse, classify and report all not analyzed files.
2026-09-08 18:32:49 +02:00
maurane 348ed05d91 ✨feat(mail_reader): implement mail reader
implement mail reader functions that fetch, read all matching mails, convert them into list of log string, ready to be analyzed by the parser
2026-09-07 17:29:19 +02:00
maurane 95e34c520c 🐛fix(project): add logger on errors in cli module 2026-09-04 10:18:15 +02:00
maurane 5a93d0d67b 🐛fix(classifier): remove store code error pattern
remove store code error, its related fixture (`CR_store_code_not_found`) and mentionned in fixtures `only_relevant_logs.txt` and `specific_logs.txt`
2026-09-02 18:21:25 +02:00
maurane b2b68e1072 📝docs(project): add CHANGELOG.md v0.0.1 2026-09-02 14:17:09 +02:00
maurane 21fda4103e 🔧chore(project): remove unecessary files
remove unecessary files from repository
2026-09-02 14:06:55 +02:00
maurane bfa5fa600b 📝docs(docs): add documentation for README.md
add documentation in README.md, usage.md, architecture.md, update python version based on the version used in development
2026-09-02 11:52:27 +02:00
maurane a43afb9df7 ✨feat(project): add logging in project
add logging in modules classier.py, parser.py, reporter.py. Update logging in cli.
2026-09-01 17:21:17 +02:00
maurane 24a77363d0 💄style(project): turn all restructure docstrings into google docstrings 2026-09-01 15:38:27 +02:00
maurane b6dab13bd1 ✨feat(cli): add cli features
add cli using typer, its option --input-dir, --input-files and --output-dir, add related tests, add logging, add and update of the package version in `logwatcher/__init__.py`, correct templates in `reporter.py`
2026-09-01 14:53:18 +02:00
maurane ee118b531d ♻️ refactor(cli): rename app module by cli for clarity 2026-08-28 15:24:16 +02:00
maurane 8e98a44a7f 💄style(logging): rename logging by logging_config
naming the logging module of logwatcher like the built-in python package is confusing. By naming it `logging_config`, everything is explicit.
2026-08-28 14:58:08 +02:00
maurane 9c06222f37 ✅test(reporter): add tests for reporter module
add tests, reformat code, add an output variable in writing function. All reading and writing functions must read in windows-1252 encoding because original logs are windows-1252 encoded
2026-08-27 17:34:22 +02:00
maurane b83ee451a3 feat(reporter): ✨ add reporter main functions
we can now generate reports based on log files. Three reports are processed: n2 report, other report and general report combining the two previous reports. All reports would be available in the output directory.
2026-08-26 18:00:55 +02:00
maurane 23afe3f185 feat(classifier): ✨ add classifier feature on log entries
add classifier on log entries, clean test functions and uniform fixtures in windows-1252 since all logs are encoded in windows-1252
2026-08-26 11:34:54 +02:00
maurane 51adcfd8ad chore(project): 🗑️ remove temporary file, add todo reminder
remove the test_unicode.txt used for unicode reading tests. Todo reminder is for coverage score to improve in the future
2026-08-25 12:59:10 +02:00
maurane f7d0940c86 chore(projet_settings): 🧑‍💻 remove IDE config files
.vscode, .coverage and .idea was added to keep a clean code base
2026-08-25 12:52:55 +02:00
maurane 59a04c6761 test(classifier): ✅ add tests that assert that fixtures must exist with their associated existing pattern
a log line cannot match multiple patterns. Again a fixture can only exist in codebase if its associated pattern also exists.
2026-08-25 12:39:50 +02:00
maurane 476b69d26f test(classifier): ✅ add test on n2 patterns 2026-08-07 17:27:37 +02:00
maurane 19ff504890 feat: ✨ add main log patterns 2026-08-07 14:06:43 +02:00
maurane 0c097974b7 test(parser): ✅ refactor initial test, add new tests and fixtures 2026-08-04 11:33:54 +02:00
maurane 83867c585c feat(parser): ✨ add parse_log_file and simplify LogEntry model
`parse_log_file()` use `parse_log_line()` to transform a log file into a list of LogEntry. Log patterns are no use for LogEntry model since the only use of LogEntry is in other modules. Thus, log patterns are now in `parser.py`. Logs are now separated based on test use cases.
2026-08-04 11:31:37 +02:00
maurane 36195ace3b test(parser): add test for parse_log_line() 2026-08-03 14:12:52 +02:00
maurane e057ec58e1 refactor(parser): change parser() by parse_log_line() function 2026-08-03 14:08:16 +02:00
maurane 6951454b8a chore(projet_settings): update the vscode project settings 2026-08-03 13:59:09 +02:00
maurane 7df7afed22 fix(parser): 🐛 update the file_path value in _get_logs() 2026-08-03 13:57:47 +02:00
maurane b8c8af6dda chore(log_entry): add getters for datetime attributes 2026-08-03 13:40:16 +02:00