Генератор отчетов на 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
Number calculator application.

Number calculator application.

Michael J Bailey 3 Oct 08, 2021
A casual IDOR exploiter that provides .csv files of url and status code.

IDOR-for-the-casual Do you like to IDOR? Are you a Windows hax0r? Well have I got a tool for you... A casual IDOR exploiter that provides .csv files o

Ben Wildee 2 Jan 20, 2022
Poetry plugin to bundle projects into various formats

Poetry bundle plugin This package is a plugin that allows the bundling of Poetry projects into various formats. Installation The easiest way to instal

Poetry 54 Jan 02, 2023
Spyware baseado em Python para Windows que registra como atividades da janela em primeiro plano, entradas do teclado.

Spyware baseado em Python para Windows que registra como atividades da janela em primeiro plano, entradas do teclado. Além disso, é capaz de fazer capturas de tela e executar comandos do shell em seg

Tavares 1 Oct 29, 2021
Plugin to manage site, circuit and device diagrams and documents in Netbox

Netbox Documents Plugin A plugin designed to faciliate the storage of site, circuit and device specific documents within NetBox Note: Netbox v3.2+ is

Jason Yates 38 Dec 24, 2022
A wrapper around the python Tkinter library for customizable and modern ui-elements in Tkinter

CustomTkinter With CustomTkinter you can create modern looking user interfaces in python with tkinter. CustomTkinter is a tkinter extension which prov

4.9k Jan 02, 2023
Simple python script for AD enumeration

AutoAD - Simple python script for AD enumeration This tool was created on my spare time to help fellow penetration testers in automating the basic enu

Mohammad Arman 28 Jun 21, 2022
Python / C++ based particle reaction-diffusion simulator

ReaDDy (Reaction Diffusion Dynamics) is an open source particle based reaction-diffusion simulator that can be configured and run via Python. Currentl

ReaDDy 46 Dec 09, 2022
Runs macOS on linux with qemu.

mac-on-linux-with-qemu Runs macOS on linux with qemu. Pre-requisites qemu-system-x86_64 dmg2img pulseaudio python[click] Usage After cloning the repos

Arindam Das 177 Dec 26, 2022
Today I Commit (1일 1커밋) 챌린지 알림 봇

Today I Commit Challenge 1일1커밋 챌린지를 위한 알림 봇 config.py github_token = "github private access key" slack_token = "slack authorization token" channel = "

sunho 4 Nov 08, 2021
A demo of a data science project using Kedro

iris Overview This is your new Kedro project, which was generated using Kedro 0.17.4. Take a look at the Kedro documentation to get started. Rules and

Khuyen Tran 14 Oct 14, 2022
RCCで開催する『バックエンド勉強会』の資料

RCC バックエンド勉強会 開発環境 Python 3.9 Pipenv 使い方 1. インストール pipenv install 2. アプリケーションを起動 pipenv run start 本コマンドを実行するとlocalhost:8000へアクセスできるようになります。 3. テストを実行

Averak 7 Nov 14, 2021
A plugin for poetry that allows you to execute scripts defined in your pyproject.toml, just like you can in npm or pipenv

poetry-exec-plugin A plugin for poetry that allows you to execute scripts defined in your pyproject.toml, just like you can in npm or pipenv Installat

38 Jan 06, 2023
Скрипт позволяет выгрузить участников чатов/каналов(по чату для комментариев) и сообщения в различные форматы файлов.

TG-Parser Парсер участников и сообщений из ТГ-Чатов и чатов для комментариев в ТГ-Каналах Возможности Выгрузка участников групп/каналов(по чату для ко

50 Jan 06, 2023
Autogenerador tonto de paquetes para ROSCPP

Autogenerador tonto de paquetes para ROSCPP Autogenerador de paquetes que usan C++ en ROS. Por ahora tiene las siguientes capacidades: Permite crear p

1 Nov 26, 2021
this is a basic python project that I made using python

this is a basic python project that I made using python. This project is only for practice because my python skills are still newbie.

Elvira Firmansyah 2 Dec 14, 2022
Awesome Casino is simple offline casino made on python.

Awesome-Casino Awesome Casino is simple offline casino made on python. I found bug, what can i do? If you find any bug or want to suggest any idea, al

Herman 1 Feb 04, 2022
PyToQlik is a library that allows you to integrate Qlik Desktop with Jupyter notebooks

PyToQlik is a library that allows you to integrate Qlik Desktop with Jupyter notebooks. With it you can: Open and edit a Qlik app inside a Ju

BIX Tecnologia 16 Sep 09, 2022
Amazon SageMaker Delta Sharing Examples

This repository contains examples and related resources showing you how to preprocess, train, and serve your models using Amazon SageMaker with data fetched from Delta Lake.

Eitan Sela 5 May 02, 2022