PySemanticSlides

From BITPlan Wiki
Revision as of 08:48, 23 February 2023 by Wf (talk | contribs) (→‎Motivation)
Jump to navigation Jump to search

OsProject

OsProject
id  PySemanticSlides
state  active
owner  WolfgangFahl
title  PySemanticSlides
url  https://github.com/WolfgangFahl/pySemanticSlides
version  0.0.10
description  
date  2023-02-22
since  2023-02-14
until  


Installation

pip install pySemanticSlides
# alternatively if your pip is not a python3 pip
pip3 install pySemanticSlides 
# local install from source directory of pySemanticSlides 
pip install .

upgrade

pip install pySemanticSlides  -U
# alternatively if your pip is not a python3 pip
pip3 install pySemanticSlides -U


Motivation

Luke Slidewalker is here!

Powerpoint and its derivatives have been introduced in 1987 and been very popular since. Unfortunately powerpoint is notoriously lacking important features which are standard in other publishing software. The main pain point we found are:

  • page numbering
  • internationalization
  • indexing
  • automation
  • general semantic annotations

Powerpoint indexing

Open Source access

git clone https://github.com/WolfgangFahl/pySemanticSlides
cd pySemanticSlides
pip install .

Testing

# scripts/tests will also work ...
pip install green
green
..
Captured stdout for tests.test_doi.TestDOI.testFetchMeta
Starting test testFetchMeta, debug=False ...
test testFetchMeta, debug=False took   1.7 s

Captured stdout for tests.test_slidewalker.TestSlideWalker.test_slidewalker
Starting test test_slidewalker, debug=False ...
test test_slidewalker, debug=False took   0.0 s

Ran 2 tests in 2.174s using 16 processes

OK (passes=2)

Usage

Command line

slidewalker -h
usage: slidewalker [-h] [-d] [-f FORMAT] [--includeHidden] [--rootPath ROOTPATH]

SlideWalker - get meta information for all powerpoint presentations in a certain folder

options:
  -h, --help            show this help message and exit
  -d, --debug           show debug info
  -f FORMAT, --format FORMAT
                        output format to create: csv,json or txt
  --includeHidden       exclude hidden slides
  --rootPath ROOTPATH

Example

slidewalker --rootPath examples -f json

Json output

{
  "SemanticSlides.pptx": {
    "title": "pySemanticSlides",
    "author": "Wolfgang Fahl",
    "created": "2023-02-14 06:41:31",
    "path": "examples/semanticslides/SemanticSlides.pptx",
    "slides": [
      {
        "page": 1,
        "pdf_page": 1,
        "title": "pySemanticSlides",
        "name": "",
        "text": [
          "pySemanticSlides",
          "Semantify• •your• •Presentations",
          ""
        ],
        "notes": ""
      },
      {
        "page": 2,
        "pdf_page": 2,
        "title": "Why semantify your slides?",
        "name": "",
        "text": [
          "Why• •semantify• •your• •slides•?",
          "The •valuable• •content• •of• •your• •presentation• •is• •hidden• •if• •it• •is• not •FAIR:•Findable•\t•Accessible•Interoperable•Reusable",
          ""
        ],
        "notes": "Name: Why_semantify\nTitle: Why semantify your slides?\nKeywords:  Semantification, FAIR\nLiterature: Furth2018, Fair2016"
      }
    ]
  }
}