Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
7720a49
feat() uses ical tz translation for windows
eigenmannmartin Mar 28, 2021
d06beb8
feat() adds tests for default tz on all day events
eigenmannmartin Mar 28, 2021
98b6f3c
feat() accepts reccuring all day events
eigenmannmartin Mar 28, 2021
0d92c07
style() cleanup
eigenmannmartin Mar 28, 2021
6aa12a2
feat() respects reccurence-id
eigenmannmartin Mar 29, 2021
c3c3b02
fix: keyerror cest
eigenmannmartin May 8, 2021
e77f41f
feat: respect transparency
eigenmannmartin May 16, 2021
71dd7bb
doc: explain what x-wr-timezone is
eigenmannmartin May 24, 2021
8e429fe
refactor: extract get_timezone function
eigenmannmartin May 24, 2021
9f7096a
refactor: remove extra code for recurring all day events - handle tim…
eigenmannmartin May 24, 2021
2fd3520
refactor: remove unused try-catch
eigenmannmartin May 24, 2021
efb7fbe
fix: add timezone for exdates only if component has tz
eigenmannmartin May 24, 2021
dc5ff99
refactor: use adjust_timezone for parse_rrule
eigenmannmartin May 24, 2021
14afda6
doc: add comment to clarify the exclusion
eigenmannmartin May 24, 2021
8441aff
Split up list comprehension for readability.
Hultner Sep 6, 2021
7df46d6
added jazzband tag
Sep 7, 2021
415daf4
fix formatting
Sep 7, 2021
fa8db40
Create CONTRIBUTING.md
Sep 7, 2021
21779f8
update repo url
Sep 7, 2021
fccb3fa
update repo url
Sep 7, 2021
279e0d8
delete old sphinx setup
tomirgang Sep 8, 2021
6b52e5f
add new Sphinx docs
tomirgang Sep 8, 2021
535c203
add documentation link
Sep 8, 2021
34292bb
add Github action for tests
Sep 8, 2021
0b6c55f
rename action to "run pytest"
Sep 8, 2021
475fcc0
Update README.md
Sep 8, 2021
41f287e
add Github Action badge
Sep 8, 2021
f7caa0a
add example
tomirgang Sep 8, 2021
01097c0
remove broken codecov link
Sep 8, 2021
2158658
Create python-publish.yml
Sep 10, 2021
a5da451
add build status for master branch
Sep 10, 2021
f6bd898
test: run on push to check result
Sep 10, 2021
ebe2c2c
run publish only on release
Sep 10, 2021
091ce50
feat: add codecov task
eigenmannmartin Oct 11, 2021
5aa36f0
feat: configure coverate
eigenmannmartin Oct 11, 2021
74b2bdc
fix: make it run
eigenmannmartin Oct 11, 2021
5f51f18
feat: add black, flake config and pre-commit
eigenmannmartin Oct 11, 2021
8d0d3c2
feat: uses pipenv and version locking for dependencies
eigenmannmartin Oct 11, 2021
21b9f99
doc: add hint for contribution in readme
eigenmannmartin Oct 11, 2021
1eda28f
ci: removes unused ci skip in pre-commit
eigenmannmartin Oct 11, 2021
524a79a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2021
08659d8
deps: updates pipfile.lock
eigenmannmartin Oct 11, 2021
bcd8aa8
Merge branch 'f/add-codecov' of github.com:jazzband/icalevents into f…
eigenmannmartin Oct 11, 2021
c5f4512
ci: fix all black proposals
eigenmannmartin Oct 11, 2021
9df25ba
ci: use pipenv to run shell
eigenmannmartin Oct 11, 2021
ffeef91
ci: add missing dep
eigenmannmartin Oct 11, 2021
ff17a9e
ci: only run linting in pre-commit
eigenmannmartin Oct 11, 2021
0c375b5
ci: switch to poetry
eigenmannmartin Oct 11, 2021
adc7d67
doc: add hultner email/
eigenmannmartin Oct 11, 2021
dd3dad6
Merge pull request #83 from jazzband/f/add-codecov
eigenmannmartin Oct 17, 2021
7ad7e95
Merge branch 'master' into f/reccuring-all-day-events
eigenmannmartin Oct 17, 2021
2918249
style: apply black styling
eigenmannmartin Oct 17, 2021
5c9a839
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 17, 2021
cafa805
Merge pull request #80 from eigenmannmartin/f/reccuring-all-day-events
eigenmannmartin Oct 17, 2021
12c9a3b
Merge pull request #1 from jazzband/master
eigenmannmartin Oct 17, 2021
b2cf6c8
ci: upload to pypi on release
eigenmannmartin Oct 17, 2021
cf14f3a
fix: update description for release
eigenmannmartin Oct 17, 2021
da40e9b
ci: set correct repo url for upload
eigenmannmartin Oct 17, 2021
f6473c0
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 18, 2021
8b407da
Merge pull request #86 from jazzband/pre-commit-ci-update-config
eigenmannmartin Oct 18, 2021
b1dfa91
Only release on tagging.
jezdez Oct 21, 2021
13b3ca5
Push on tag, not just on release.
jezdez Oct 21, 2021
06379e0
Jazzband: Created local 'CODE_OF_CONDUCT.md' from remote 'CODE_OF_CON…
jazzband-bot Oct 21, 2021
d3656af
Merge pull request #87 from jazzband/jazzband/sync/default
jezdez Oct 22, 2021
e455fe8
fix: Template on empty/unreadable file exception is a string, not a f…
Oct 30, 2021
47ade19
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2021
c151e7c
Merge pull request #91 from RickMeasham/fix-error-template
eigenmannmartin Oct 30, 2021
a37ce57
Fix reversion of RRULE UNTIL behavior
tresni Oct 29, 2021
16573fc
Adding test for rrule until with only a date
tresni Oct 29, 2021
7446b03
Add status event attribute
Jun 8, 2020
d92a2eb
Add url event attribute
Jun 10, 2020
0edd8b9
Add tests for status and url
tresni Oct 30, 2021
883d4e2
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Nov 1, 2021
9fcda2f
Merge pull request #93 from jazzband/pre-commit-ci-update-config
eigenmannmartin Nov 7, 2021
a4919ad
Merge pull request #88 from tresni/master
eigenmannmartin Nov 7, 2021
c368ad8
Merge pull request #92 from tresni/missing-status
eigenmannmartin Nov 7, 2021
79bdb72
Merge branch 'jazzband:master' into master
eigenmannmartin Nov 11, 2021
82aa404
fix recurrence id events
Sep 13, 2021
97dae23
Replace faulty exception logic and handle more recurrence id cases
jackjocross Sep 17, 2021
0b32bd0
Fix multi timezone dst issue
jackjocross Sep 19, 2021
6a46c48
Update setup tools specification
arkuhn Mar 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 4 additions & 24 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,33 +1,13 @@
# .coveragerc to control coverage.py
[run]
branch = True
omit =
# omit tests
*/test/*
# omit test runner
test.py
# omit example runner
main.py
source = icalevents

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
if self.debug:
pragma: no cover

# Don't complain about missing debug-only code:
def __repr__
if self\.debug

# Don't complain if tests don't hit defensive assertion code:
raise AssertionError
raise NotImplementedError

# Don't complain if non-runnable code isn't run:
if 0:
if __name__ == .__main__.:

ignore_errors = True

[html]
directory = coverage_html_report
omit =
tests/*
3 changes: 3 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[flake8]
max-complexity = 10
select = E9,F63,F7,F82
37 changes: 37 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Release

on:
push:
tags:
- '*'

jobs:
deploy:
if: github.repository == 'jazzband/icalevents'
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry==1.1.11

- name: Build package
run: poetry build

- name: Upload packages to Jazzband
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@master
with:
user: jazzband
password: ${{ secrets.JAZZBAND_RELEASE_KEY }}
repository_url: https://jazzband.co/projects/icalevents/upload
34 changes: 34 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Run pytest

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry==1.1.11
poetry install
- name: Test with pytest
run: |
poetry run coverage run test.py
poetry run coverage xml
- name: 'Upload coverage to Codecov'
uses: codecov/codecov-action@v2
with:
fail_ci_if_error: true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ dist/*
MANIFEST
icalevents.egg-info/*
/build

docs/_build/**
coverage.xml
15 changes: 15 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 21.10b0
hooks:
- id: black
- repo: https://github.com/PyCQA/flake8
rev: 4.0.1
hooks:
- id: flake8
46 changes: 46 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Code of Conduct

As contributors and maintainers of the Jazzband projects, and in the interest of
fostering an open and welcoming community, we pledge to respect all people who
contribute through reporting issues, posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.

We are committed to making participation in the Jazzband a harassment-free experience
for everyone, regardless of the level of experience, gender, gender identity and
expression, sexual orientation, disability, personal appearance, body size, race,
ethnicity, age, religion, or nationality.

Examples of unacceptable behavior by participants include:

- The use of sexualized language or imagery
- Personal attacks
- Trolling or insulting/derogatory comments
- Public or private harassment
- Publishing other's private information, such as physical or electronic addresses,
without explicit permission
- Other unethical or unprofessional conduct

The Jazzband roadies have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are not
aligned to this Code of Conduct, or to ban temporarily or permanently any contributor
for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

By adopting this Code of Conduct, the roadies commit themselves to fairly and
consistently applying these principles to every aspect of managing the jazzband
projects. Roadies who do not follow or enforce the Code of Conduct may be permanently
removed from the Jazzband roadies.

This code of conduct applies both within project spaces and in public spaces when an
individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by
contacting the roadies at `roadies@jazzband.co`. All complaints will be reviewed and
investigated and will result in a response that is deemed necessary and appropriate to
the circumstances. Roadies are obligated to maintain confidentiality with regard to the
reporter of an incident.

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version
1.3.0, available at [https://contributor-covenant.org/version/1/3/0/][version]

[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/3/0/
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[![Jazzband](https://jazzband.co/static/img/jazzband.svg)](https://jazzband.co/)

This is a [Jazzband](https://jazzband.co/) project. By contributing you agree to abide by the [Contributor Code of Conduct](https://jazzband.co/about/conduct) and follow the [guidelines](https://jazzband.co/about/guidelines).
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@

Simple Python 3 library to download, parse and query iCal sources.

[![Jazzband](https://jazzband.co/static/img/badge.svg)](https://jazzband.co/)

## Build info

[![Build Status](https://travis-ci.org/irgangla/icalevents.svg?branch=master)](https://travis-ci.org/irgangla/icalevents)
last push: ![run pytest](https://github.com/jazzband/icalevents/actions/workflows/python-test.yml/badge.svg)

https://travis-ci.org/irgangla/icalevents
master: [![Run pytest](https://github.com/jazzband/icalevents/actions/workflows/python-test.yml/badge.svg?branch=master)](https://github.com/jazzband/icalevents/actions/workflows/python-test.yml)

[![codecov](https://codecov.io/gh/irgangla/icalevents/branch/master/graph/badge.svg)](https://codecov.io/gh/irgangla/icalevents)
## Documentation

https://codecov.io/gh/irgangla/icalevents
https://icalevents.readthedocs.io/en/latest/

## Usage

Expand All @@ -31,3 +33,13 @@ from icalevents.icalevents import events

es = events(<Google Calendar URL>)
```

# Contributing

You will need [poetry](https://github.com/python-poetry/poetry) and [pre-commit](https://pre-commit.com/index.html) installed and than run.

```bash
pre-commit install
```

Happy contributing!
14 changes: 7 additions & 7 deletions Makefile → docs/Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = python -msphinx
SPHINXPROJ = iCalEvents
SOURCEDIR = source
BUILDDIR = build
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
Expand All @@ -17,4 +17,4 @@ help:
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
60 changes: 60 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys

sys.path.insert(0, os.path.abspath(".."))


# -- Project information -----------------------------------------------------

project = "iCalEvents"
copyright = "2021, Thomas Irgang"
author = "Thomas Irgang"

# The full version, including alpha/beta/rc tags
release = "0.1.25"


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ["sphinx.ext.autodoc"]

# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "alabaster"

html_theme_options = {
# Disable showing the sidebar. Defaults to 'false'
"nosidebar": True,
}

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]
Loading