Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

photo-calendar

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

photo-calendar

Creates custom weekly/monthly/... photo calendars

  • 0.1.1
  • PyPI
  • Socket score

Maintainers
1

PhotoCalendar

A Python utility to create custom weekly/monthly/... photo calendars. For example: template delphinus

Table of Contents

Overview

The program creates the calendar in HTML format.

Note: you can then print it to PDF using browser or, e.g., weasyptint utility.

User may provide (see examples below):

  • name of weekdays and months and their abbreviations
  • images (for each week, for title page, for backgrounds)
  • name-days
  • public holidays
  • religious holidays
  • notes (friends' birthdays, anniversaries, ...)
  • template how the final calendar looks like
  • title, first week day, ...
HTML templates

The produced HTML structure and CSS styling is defined by template - a python module defining toHTMLString(calendar) function and CSSString string variable. As an example and inspiration, a few predefined templates are provided. See examples, documentation or source code for more information how to create a custom template.

Compatibility

The package works with both Python 2 and 3 (tested on Ubuntu 16.04 LTS and Python 2.7.12 and Python 3.5.2).

Examples

Usage

Python:
from photocalendar import PhotoCalendar
calendar = PhotoCalendar( # not all arguments are mandatory
	outputBase                = "/some/output/base",
	year                      = 2019,
	firstWeekDay              = "Tu", # Tuesday as the first week day? Well, why not...
	imagesDirectory           = "/some/directory/with/images/for/each/week",
	imageDescriptionsFile     = "/some/file/with/image/descriptions/for/each/week",
	backgroundImagesDirectory = "/some/directory/with/backround/images/for/each/week",
	title                     = "Some calendar title",
	titlePageImage            = "/some/image/for/title/page",
	titlePageBackground       = "/some/background/image/for/titlepage",
	lastPageBackground        = "/some/background/image/for/last/page",
	nameDaysFile              = "/some/file/with/name-days",
	religiousHolidaysFile     = "/some/file/with/religious/holidays",
	publicHolidaysFile        = "/some/file/with/public/holidays",
	notesFile                 = "/some/file/with/notes/like/birthdays/etc",
	weekDayNamesFile          = "/some/file/with/custom/weekday/names",
	abbrWeekDayNamesFile      = "/some/file/with/custom/abbreviated/weekday/names",
	monthNamesFile            = "/some/file/with/custom/month/names",
	abbrMonthNamesFile        = "/some/file/with/custom/abbreviated/month/names",
	template                  = "delphinus",
)
calendar.toHTML()
Shell:
# not all arguments are mandatory
photocalendar \
	--output-base                 /some/output/base \
	--year                        2019 \
	--first-week-day              Tu \
	--images-directory            /some/directory/with/images/for/each/week  \
	--image-descriptions-file     /some/file/with/image/descriptions/for/each/week \
	--background-images-directory /some/directory/with/backround/images/for/each/week \
	--title                       "Some calendar title" \
	--title-page-image            /some/image/for/title/page \
	--title-page-background       /some/background/image/for/titlepage \
	--last-page-background        /some/background/image/for/last/page \
	--name-days-file              /some/file/with/name-days \
	--religious-holidays-file     /some/file/with/religious/holidays \
	--public-holidays-file        /some/file/with/public/holidays \
	--notes-file                  /some/file/with/notes/like/birthdays/etc \
	--week-day-names-file         /some/file/with/custom/week/day/names \
	--abbr-week-day-names-file    /some/file/with/custom/abbreviated/week/day/names \
	--month-names-file            /some/file/with/custom/month/names \
	--abbr-month-names-file       /some/file/with/custom/abbreviated/month/names \
	--template                    delphinus

Template examples

Note: the photos and backgrounds are only illustrative. They are provided by the user in the real use case.

The title page and one inside page is shown.

In the illustrations, picture of Golden Gate Bridge and picture of Matterhorn are used.

Template delphinus:

Weekly A5 landscape calendar template delphinus

Template columba:

Monthly A4 portrait calendar template delphinus

Template lupus:

Two-weeks calendar template delphinus

Installation

  1. Using setup.py file:

    python setup.py install [options], e.g. python setup.py --user

  2. Using make (calls setup.py internally):

    make install [options], e.g. make install USER=TRUE PYTHON=python3

  3. Using pip

    [sudo] pip install [options] photo-calendar, e.g. pip install --user photo-calendar

What is here

file/directorydescription
bindirectory containing executable python script
docsource files for HTML documentation
examplesdirectory with examples
imagesimages for github page (e.g., templates illustrations)
localefiles for localization (public holidays, name days, etc.)
Makefilemakefile for the project (with targets help, install, doc, test, clean, dist)
photocalendaractual python package
setup.pypython setup file for installation
testspython unit tests

Contribution

Pull Requests

Are welcome. Especially:

  • locales (name-days, public holidays)
  • templates

But, please, discuss the intention beforehand with the author.

Bug reporting

In case of any question or problem, please leave an issue at the githup page of the project.

Contributors

License

This project is licensed under the LGPL License - see the license file for details.

Acknowledgements

  • to Petr Hlaváček for the inital idea and LaTeX implementation and providing his source code
  • to dominate python package for HTML creation inspiration

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc