GithubHelp home page GithubHelp logo

plenumsbot's Introduction

plenumsbot

A bot that is looking after our wiki and creates the pages for the coming plenary and sends the protocols.

Dependencies

Dokuwiki must have installed the GOTO plugin. The XML-RPC API has to be activated in the settings. Otherwise the bot won't be able to communicated with the wiki.

Usage

./plenumsbot.py

There are no commandline switches, yet.

What's plenumsbot doing?

  1. get the current date
  2. calculate dates of last and next plenum according to the configured day of week in config.json
  3. loads the protocol of last (calculated) plenum
  4. if the end time is still "20:xx Uhr" it's considered the plenum didn't take place
    1. topics are extracted from the last protocol
  5. if the end time is set to a valid time it's considered the plenum took place and nothing (except upcoming events) has to be carried over
    1. A blank protocol is created from a given template
  6. events are extraced from last plenum and events in the past are dropped from the list
  7. the topics and the upcoming events are filled in a template to create the protocol template for the next plenum
  8. the page is created in the wiki and populated with the contents
  9. a link (if not existing) is inserted into the list of protocols
  10. the redirect from "themensammlung" is updated to point to the page created for the next protocol

config.json

  • wiki_url : base url of your dokuwiki installation
  • wiki_user : user the bot uses to login to the wiki
  • wiki_password : the password for the given user
  • namespace : the namespace in which the protocols are located
  • indexpage : the page holding a list of all plenum protocols
  • redirectpage : name of the page redirecting to the upcoming protocol
  • plenum_day_of_week: the day of week on which the plenum takes place (0=Monday, 1=Tuesday, 2=Wednesday…)

plenumsbot's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.