Генератор отчетов на 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
Python Interactive Graphical System made during Computer Graphics classes (INE5420-2021.1)

PY-IGS - The PYthon Interactive Graphical System The PY-IGS Installation To install this software you will need these dependencies (with their thevelo

Enzo Coelho Albornoz 4 Dec 03, 2021
All kinds of programs are accepted here, raise a genuine PR, and claim a PR, Make 4 successful PR's and get the Stickers and T-Shirt from hacktoberfest 2021

this repository is excluded from hacktoberfest Hacktoberfest-2021 This repository aims to help code beginners with their first successful pull request

34 Sep 11, 2022
E-Paper display loop with plugins

PaperPi V3 NOTE This version of PaperPi is under heavy development and is not ready for the average user. We are working on adding more screen compati

Aaron Ciuffo 34 Dec 30, 2022
Change ACLs for QNAP LXD unprivileged container.

qnaplxdunpriv If Advanced Folder Permissions is enabled in QNAP NAS, unprivileged LXD containers won't start. qnaplxdunpriv changes ACLs of some Conta

1 Jan 10, 2022
🎅🏻 Helping santa understand ✨ python ✨

☃️ Advent of code 2021 ☃️ Helping santa understand ✨ python ✨

Fluffy 2 Dec 25, 2021
Flight Reservation App With Python

Flight Reservation App With Python

victor-h. 1 Nov 21, 2021
Blender 3.0 Python - Open temporary areas in the Text Editor

PopDrawers When editing text in Blender, it can be handy to have areas like Info, Console, Outliner, etc visible on screen to help with scripting. How

SpectralVectors 7 Nov 16, 2022
An extension module to make reaction based menus with disnake

disnake-ext-menus An experimental extension menu that makes working with reaction menus a bit easier. Installing python -m pip install -U disnake-ext-

1 Nov 25, 2021
Distributed behavioral experiments

Autopilot Docs Paper Forum Hardware Autopilot is a Python framework for performing complex, hardware-intensive behavioral experiments with swarms of n

70 Dec 14, 2022
Quantity Takeoff with Python. Collecting groups of elements by filters

The free tool QuantityTakeoff allows you to group elements from Revit and IFC models (in BIMJSON-CSV format) with just a few filters and find the required volume values for the grouped elements.

OpenDataBIM 9 Jan 06, 2023
A lightweight solution for local Particle development.

neopo A lightweight solution for local Particle development. Features Builds Particle projects locally without any overhead. Compatible with Particle

Nathan Robinson 19 Jan 01, 2023
STAC in Jupyter Notebooks

stac-nb STAC in Jupyter Notebooks Install pip install stac-nb Usage To use stac-nb in a project, start Jupyter Lab (jupyter lab), create a new noteboo

Darren Wiens 32 Oct 04, 2022
ASVspoof 2021 Baseline Systems

ASVspoof 2021 Baseline Systems Baseline systems are grouped by task: Speech Deepfake (DF) Logical Access (LA) Physical Access (PA) Please find more de

91 Dec 28, 2022
Mpis-ex7 - Implementation of tasks 1, 2, 3 for Metody Probabilistyczne i Statystyka Lista 7

Implementations of task 1, 2 and 3 from here Author: Maciej Bazela Index: 261743 Each task was implemented in Python 3. I've used Cython to speed up e

Maciej Bazela 1 Feb 27, 2022
NFT generator for Solana!

Solseum NFT Generator for Solana! Check this guide here! Creating your randomized uniques NFTs, getting rarity information and displaying it on a webp

Solseum™ VR NFTs 145 Dec 30, 2022
用于导出墨墨背单词的词库,并生成适用于 List 背单词,不背单词,欧陆词典等的自定义词库

maimemo-export 用于导出墨墨背单词的词库,并生成适用于 List 背单词,欧陆词典,不背单词等的自定义词库。 仓库内已经导出墨墨背单词所有自带词库(暂不包括云词库),多达 900 种词库,可以在仓库中选择需要的词库下载(下载单个文件的方法),也可以去 蓝奏云(密码:666) 下载打包好

ourongxing 293 Dec 29, 2022
An early stage integration of Hotwire Turbo with Django

Note: This is not ready for production. APIs likely to change dramatically. Please drop by our Slack channel to discuss!

Hotwire for Django 352 Jan 06, 2023
A Python tool to check ASS subtitles for common mistakes and errors.

A Python tool to check ASS subtitles for common mistakes and errors.

1 Dec 18, 2021
Chemical equation balancer

Chemical equation balancer Balance your chemical equations with ease! Installation $ git clone

Marijan Smetko 4 Nov 26, 2022
Encode stuff with ducks!

Duckify Encoder Usage Download main.py and run it. main.py has an encoded version in encoded_main.py.txt. As A Module Download the duckify folder (or

Jeremiah 2 Nov 15, 2021