Генератор отчетов на Python с использованием библиотеки docx для работы с word-файлами и запросов к сервису

Overview

Генератор отчетов

Структура

Для генерации отчетов необходимо разместить файлы report_generator.py,balaboba_request.py,config.json в одной директории с папками проектов, на основе которых будут генерироваться отчеты.

В report_generator.py определены константы TITUL_PAGE, OUTPUT_PAGE, CONFIG_JSON, указывающие файл титульника, выходного документа и конфигурационный файл.

Конфигурационный файл config.json структурирован следующим образом:

{
    "tasks" : [
        {
            "folder" : "Папка_проекта_1",
            "include" : ["Название_файла_1", "Название_файла_2"],
            "topic" : "Тема проекта_1",
            "problem_statement" : "Постановка задачи" 
        },
        ...
        {
            "folder" : "Папка_проекта_2",
            "include" : ["Название_файла_1", "Название_файла_2"],
            "topic" : "Тема проекта_2",
            "problem_statement" : "Постановка задачи" 
        }
}

Пример заполнения конфигурации

Например, если есть следующий каталог:

  • RecursionJava
    • Task1
      • Fibonacci.java
      • Factorial.java
    • Task2
      • MaxMin.java
      • OddNums.java
  • ContainersJava
    • Arrays
      • TestArrayList.java
      • TestArray.java
    • Lists
      • TestLinkedList.java
      • TestDoubleLikedList.java

И мы хотим составить отчет по двум проектам, то конфигурационный файл можно заполнить следующим образом:

{
    "tasks" : [
        {
            "folder" : "RecursionJava",
            "include" : ["Fibonacci", "MaxMin"],
            "topic" : "Рекурсия в Java",
            "problem_statement" : "Решить задачи с использованием рекурсии в Java" 
        },
        ...
        {
            "folder" : "ContainersJava",
            "include" : ["TestArrayList", "TestDoubleLikedList", "TestLinkedList"],
            "topic" : "Контейнеры в Java",
            "problem_statement" : "Изучить и протестировать контейнеры в Java" 
        }
}

Пример сгенерированного отчета

image

Owner
Semyon Esaev
Semyon Esaev
Semyon Esaev
Impf Bot.py 🐍⚡ automation for the German

Impf Bot.py 🐍⚡ automation for the German "ImpfterminService - 116117"

251 Dec 13, 2022
New multi tool im making adding features currently

Emera Multi Tool New multi tool im making adding features currently Current List of Planned Features - Linkvertise Bypasser - Discord Auto Bump - Gith

Lamp 3 Dec 03, 2021
peace-performance (Rust) binding for python. To calculate star ratings and performance points for all osu! gamemodes

peace-performance-python Fast, To calculate star ratings and performance points for all osu! gamemodes peace-performance (Rust) binding for python bas

9 Sep 19, 2022
A Non profit app built on top of Frappe framework & ERPNext

Non Profit A Non profit app built on top of Frappe framework & ERPNext. People who change the world need the tools to do it! The Non Profit Modules of

Frappe 16 Nov 17, 2022
Powerful virtual assistant in python

Virtual assistant in python Powerful virtual assistant in python Set up Step 1: download repo and unzip Step 2: pip install requirements.txt (if py au

Arkal 3 Jan 23, 2022
This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator

Late-Bound Arguments This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator. Usage Mention the names of the argumen

Shakya Majumdar 0 Feb 06, 2022
Dicionario-git-github - Dictionary created to help train new users of Git and GitHub applications

Dicionário 📕 Dicionário criado com o objetivo de auxiliar no treinamento de nov

Felippe Rafael 1 Feb 07, 2022
pgvector support for Python

pgvector-python pgvector support for Python Great for online recommendations 🎉 Supports Django, SQLAlchemy, Psycopg 2, Psycopg 3, and asyncpg Install

Andrew Kane 37 Dec 20, 2022
A Company Management System For Python

campany-management Getting started To make it easy for you to get started with GitLab, here's a list of recommended next steps. Already a pro? Just ed

hatice akpınar 3 Aug 29, 2022
An optional component handler for hikari, inspired by discord.py's views.

hikari-miru An optional component handler for hikari, inspired by discord.py's views.

43 Dec 26, 2022
Python package that mirrors the original Nodejs ReplAPI-It.

Python-ReplAPI-It Python package that mirrors the original Nodejs ReplAPI-It. Contributing First fork the repo: $ git clone https://github.com/ReplAPI

The ReplAPI.it Project 10 Jun 05, 2022
Graphsignal Logger

Graphsignal Logger Overview Graphsignal is an observability platform for monitoring and troubleshooting production machine learning applications. It h

Graphsignal 143 Dec 05, 2022
A weekly dive into commonly used modules in the Rust ecosystem, with story flavor!

The goal of this project is to bring the same concept as PyMOTW to the Rust world. PyMOTW was an invaluable resource for me when I was learning Python years ago, and I hope that I can help someone in

Scott Lyons 20 Aug 26, 2022
Spinning waffle from waffle shaped python code

waffle Spinning waffle from waffle shaped python code Based on a parametric curve: r(t) = 2 - 2*sin(t) + (sin(t)*abs(cos(t)))/(sin(t) + 1.4) projected

Viljar Femoen 5 Feb 14, 2022
Library for mocking AsyncIOMotorClient built on top of mongomock.

mongomock-motor Best effort mock for AsyncIOMotorClient (Database, Collection, e.t.c) built on top of mongomock library. Example / Showcase from mongo

Michael Kryukov 43 Jan 04, 2023
Simple control of Thorlabs Elliptec devices from Python.

Elliptec Simple control of Thorlabs Elliptec devices. No docs yet » Get started · Report a bug · Request a feature About The Project ThorLabs Elliptec

David Roesel 8 Sep 22, 2022
Calculate the efficient frontier

关于 代码主要参考Fábio Neves的文章,你可以在他的文章中找到一些细节性的解释

Wyman Lin 104 Nov 11, 2022
Quick script for automatically extracting syscall numbers for an OS

Syscalls-Extractor Quick script for automatically extracting syscall numbers for an OS $ python3 .\syscalls-extractor.py --help usage: syscalls-extrac

m0rv4i 54 Feb 10, 2022
A partial-transpiler that converts a subset of Python to the Folders esoteric programming language

Py2Folders A partial-transpiler that converts a subset of Python to the Folders esoteric programming language Folders Folders is an esoteric programmi

Daniel Johnson 1 Dec 23, 2021
适用于HoshinoBot下的人生重来模拟器插件

LifeRestart for HoshinoBot 原作地址 python版原地址 本项目地址 安装方法 这是一个HoshinoBot的人生重来模拟器插件 这个项目使用的HoshinoBot的消息触发器,如果你了解其他机器人框架的api(比如nonebot)可以只修改消息触发器就将本项目移植到其他

黛笙笙 16 Sep 03, 2022