Skip to content

narrowstacks/Word-Calendar-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Word Calendar Generator

This program creates a printable Microsoft Word .docx calendar based on a particular user entered week or month, using a .ical file provided from Google Calendar (or similar).

The Purpose

This program is useful if you have a building with many rooms being used day to day for various things (such as classes or events), and you need to track what's going on in there using a paper based calendar that you print out regularly. Yes, paper. Recycle it when you're done, at least!

This is particularly handy as printing out calendars from Google Calendar or similar will not provide enough at-a-glance information, failing to provide a customizable color coding system and not showing enough events per day. In this program, each room is given a distinct color (and row, in the case of the weekly calendar), and each event is labeled clearly where and when it is based on the color and short name given

Requirements

These are not hard requirements but just what the program has been tested with:

  • macOS (Mojave+) or Windows (10+)

    • Linux support unknown but should work.
  • Python 3.7.4 and above - Program should reasonably work without issue on newer versions. (tested on 3.8)

  • Microsoft Word or any word processing program that can open docx files

  • Basic knowledge of installing Python modules (see here)

Modules Used

python-docx - Used to work with docx files for use in Microsoft Word

icalendar - Used to grab events (sort of)

recurring-ical-events - Actually used to grab events since icalendar module does not support recurring events

pytz - For timezone conversion

holidays - Detecting holidays

Gooey - For the UI. Will eventually be replaced.

Usage

  • Install all the listed modules above

  • Make a calendar on Google Calendar, or Outlook, or any service that provides a URL to access the .ical file.

    • In the "Location" field of each event, input the room name that it is taking place in. Make sure this is something you want to enter every time you add an event. Shorthand names works as long as you pay attention in the next steps.
  • Open config.cfg in a text editor and edit the contents

  • Run file "main.py" via Python. Follow interface.

  • The .docx file generated by the program will be in the folder selected by the user.

About

Generates .docx files that display a calendar based on a given .ics file

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages