Skip to main content

A simple graphical tool to purge old events from CalDAV calendars

Project description

Github Discord Github Actions Black License

A simple graphical tool to purge old events from CalDAV calendars

Screenshot of Calcleaner

Requirements

Python:

Install

Flatpak (Linux)

A Flatpak package is available on Flathub. This is currently the simplest way to install CalCleaner on all major Linux distributions:

Linux (source)

First, you will need to install some dependencies on your system. On Debian and Ubuntu this can be achieved with the following command:

sudo apt install git build-essential python3 python3-dev python3-pip libgirepository1.0-dev pkg-config gir1.2-gtk-3.0

Then clone this repository and navigate to it:

git clone https://github.com/flozz/calcleaner.git
cd calcleaner

Then install CalCleaner using pip:

sudo pip3 install .

Finally, you can install desktop file, icons and manual using the following command:

sudo ./linuxpkg/copy-data.sh /usr

Linux (PyPI)

First, you will need to install some dependencies on your system. On Debian and Ubuntu this can be achieved with the following command:

sudo apt install git build-essential python3 python3-dev python3-pip libgirepository1.0-dev pkg-config gir1.2-gtk-3.0

Then install CalCleaner using pip:

sudo pip3 install calcleaner

NOTE: Installing from PyPI will not install .desktop file and man page. You will not be able to run the software from your graphical app menu (GNOME Shell,…).

Contributing / Hacking

Questions

If you have any question, you can:

Bugs

If you found a bug, please open an issue on Github with as much information as possible:

  • What is your operating system / Linux distribution (and its version),

  • How you installed the software,

  • All the logs and message outputted by the software,

Pull Requests

Please consider filing a bug before starting to work on a new feature. This will allow us to discuss the best way to do it. This is of course not necessary if you just want to fix some typo or small errors in the code.

Please note that your code must pass tests and follow the coding style defined by the pep8. Flake8 and Black are used on this project to enforce coding style.

Translating Calcleaner

If the software is not available in your language, you can help translate it.

To translate Calcleaner, you can submit your translations using a Pull Request on Github,

Do not forget to add your name as the translation of the translator-credits key (one name per line, e-mail is optional):

msgid "translator-credits"
msgstr ""
"John DOE\n"
"Other TRANSLATOR <foobar@example.org>\n"

Running the project

First, install dependencies (preferably in a virtualenv):

pip install -e ".[dev]"

Then run:

python -m calcleaner

Coding Style / Lint

This project follows Black’s coding style.

To check coding style, you will first have to install nox:

pip3 install nox

Then you can check for lint error (Flake8 and Black):

nox --session lint

You can fix automatically coding style with:

nox -s black_fix

Tests

Tu run tests, you will first have to install nox:

pip3 install nox

Then run the following command:

nox -s test

Extract, Update or Build Translations

You will first have to install nox:

pip3 install nox

To extract messages and update locales run:

nox --session locales_update

To compile locales, run:

nox --session locales_compile

NOTE: you will need to have xgettext, msgmerge and msgfmt executable installed on your system to run the above commands. On Debian / Ubuntu, they can be installed with the following command:

sudo apt install gettext

Regenerating Icons

To regenerate icons, Inkscape must be installed. On Debian and Ubuntu you can install it with the following command:

sudo apt install inkscape

You will also need nox to run the generation command:

pip3 install nox

Once everithing installed, you can regenerate icons with the following command:

nox -s gen_icons

Supporting this project

Wanna support this project?

Changelog

  • [NEXT] (changes on master but not released yet):

    • Nothing yet ;)

  • v1.1.3:

    • Added Turkish translation (@sabriunal, #8)

  • v1.1.2:

    • Added Croatian translation (@milotype, #7)

    • Added Python 3.11 support

  • v1.1.1:

    • Added German translation (Jürgen Benvenuti)

  • v1.1.0:

    • UI improvements:

      • Double border removed in calendar view

      • Accessibility improved by changing the widgets used to build the “pages” of the main window

    • Translations:

      • Dutch (#5, @Vistaus)

      • Brazilian Portuguese (incomplete)

  • v1.0.0:

    • Allow to disable SSL certificate validation (self-signed certificate, etc.)

    • Improve error message on SSL errors

    • Set the user agent string to “CalCleaner/<VERSION>”

    • Fix calendar of removed account still displayed after closing account management dialog

    • Fix a crash when cleaning an empty (malformed) event

    • Italian translation (#1, @albanobattistella)

  • v0.9.1 (beta):

    • Fix data not included in packages

  • v0.9.0 (beta):

    • Initial release

    • French translation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

calcleaner-1.1.3.tar.gz (55.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

calcleaner-1.1.3-py3-none-any.whl (62.7 kB view details)

Uploaded Python 3

File details

Details for the file calcleaner-1.1.3.tar.gz.

File metadata

  • Download URL: calcleaner-1.1.3.tar.gz
  • Upload date:
  • Size: 55.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for calcleaner-1.1.3.tar.gz
Algorithm Hash digest
SHA256 156673a186f70d7627c4658f9c68f97d001a73c098b1a5a99c23aff89e497109
MD5 d50d751661947bbe74896430e15fdd91
BLAKE2b-256 19ef3b1e11ccf528ade9dee2f9b2798f2b90deaefe8f99640c724d6943511b18

See more details on using hashes here.

File details

Details for the file calcleaner-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: calcleaner-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 62.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for calcleaner-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1cdb599687ee85e5ebb8c89a2abd6ec7947f9249b5904e4b38b9222fc212dbc9
MD5 168eda72eb0b5e0df4c52e2a4d17a721
BLAKE2b-256 c2fec83b03c515d5ae9ea7634425c6a3384af178fed0d735d6b93c73d537ed5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page