clerks-friend


Nameclerks-friend JSON
Version 1.0.3 PyPI version JSON
download
home_pagehttps://github.com/IsaacsLab42/clerks_friend
SummaryUseful reports for Ward Clerk's of The Church of Jesus Christ of Latter-Day Saints
upload_time2024-12-30 16:08:34
maintainerNone
docs_urlNone
authorIsaac Wagner
requires_python<4.0,>=3.10
licenseMIT
keywords lcr churchofjesuschrist
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Clerks Friend

<p>
    <a href="https://clerks-friend.readthedocs.io/en/stable/">
        <img src="https://img.shields.io/readthedocs/clerks-friend"/>
    </a>
    <a href="https://pypi.org/project/clerks-friend/">
        <img src="https://img.shields.io/pypi/v/clerks-friend"/>
    </a>
    <a href="https://pypi.org/project/clerks-friend/">
        <img src="https://img.shields.io/pypi/wheel/clerks-friend"/>
    </a>
    <a href="https://pypi.org/project/clerks-friend/">
        <img src="https://img.shields.io/pypi/pyversions/clerks-friend"/>
    </a>
    <a href="https://github.com/IsaacsLab42/clerks_friend/">
        <img src="https://img.shields.io/github/license/IsaacsLab42/clerks_friend"/>
    </a>
    <a href="https://black.readthedocs.io/en/stable/">
        <img src="https://img.shields.io/badge/code_style-black-black"/>
    </a>
</p>

---

Useful reports for Ward Clerk's of The Church of Jesus Christ of Latter-Day Saints. The
included script `clerks_friend` can run several useful reports and produce Markdown
style output. This output could be used by various programs to create HTML or PDF
output. Or, the way I use it, is to paste the markdown into Google Docs. They have a
feature where markdown can be pasted into a Google Doc and it will render the output.

## Command Line Script

This package installs a command line script called `clerks_friend`:

```bash
$ clerks_friend --help
usage: clerks_friend [-h] [-u USERNAME] [-p PASSWORD] [-c COOKIE_FILE]
                     [-o MARKDOWN_OUTPUT]
                     INPUT_FILE

Run clerk reports from LCR for The Church of Jesus Christ of Latter-Day
Saints.

positional arguments:
  INPUT_FILE            input YAML file containing the report
                        configuration

options:
  -h, --help            show this help message and exit
  -u USERNAME, --username USERNAME
                        LCR username [env var: LCR_USERNAME]
  -p PASSWORD, --password PASSWORD
                        LCR password [env var: LCR_PASSWORD]
  -c COOKIE_FILE, --cookie-file COOKIE_FILE
                        cookie jar file to save the session or load a
                        saved session
  -o MARKDOWN_OUTPUT, --output MARKDOWN_OUTPUT
                        output file for markdown report. Defaults to
                        stdout.
```

## Authentication

The `clerks_friend` script requires your member username and password, for The Church of
Jesus Christ of Latter-Day Saints LCR system. There are three different ways to supply
these credentials:

1. On the command line, using the `--username` and `--password` options.
2. Through the environment variables `LCR_USERNAME` and `LCR_PASSWORD`.
3. From an environment file `.env`. This is the recommended option.

The `.env` file must be in the same directory that the script is run from. The file format is very simple:

```
LCR_USERNAME=ace
LCR_PASSWORD=ThePassword
```

## Report File Input

The input file, specifying which reports to run and their parameters, is a YAML file
format. As example is shown below:

```yaml
---
title: Celestial Ward Clerical Report

reports:
  - name: not_set_apart
    heading: Not Set Apart

  - name: expiring_recommends
    heading: "Expiring/Expired Temple Recommends"
    parameters:
      months_past: -3
      months_future: 1
      recommend_type: REGULAR

  - name: protecting_children_and_youth_training
    heading: Protecting Children and Youth Training
    parameters:
      months_future: 1

  - name: sacrament_meeting_attendance
    heading: Sacrament Meeting Attendance
    parameters:
      year: 2024
```

## Valid Reports

The currently valid report types are:

* expiring_recommends
* members_moved_in
* members_moved_out
* not_set_apart
* protecting_children_and_youth_training
* sacrament_meeting_attendance

As time permits I would like to add additional reports. If you would like to help add
more reports then please feel free to open a pull request, or an issue describing the
report you'd like.


## Cached Sessions

This script uses the [lcr_session](https://github.com/IsaacsLab42/lcr_session) library
to provide authentication. This library can also cache sessions, so that
re-authentication is not necessary if several reports need to be run in a row. For this
use the `--cookie-file` option. Church sessions are typically valid for one hour.


## Example

For example, save the above YAML sample as `report.yaml`. Create a `.env` file with your
LCR credentials, then run the following:

```bash
$ clerks_friend ./report.yaml -c cookies.txt -o report.md
```

A `report.md` file would be output with the results. This could then be copied and
pasted into a Google Document, which would render the markdown properly. Note that
markdown support must be enabled for the document, and you must select the "Paste from
markdown" option.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/IsaacsLab42/clerks_friend",
    "name": "clerks-friend",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "lcr, churchofjesuschrist",
    "author": "Isaac Wagner",
    "author_email": "14634+IsaacsLab42@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/7c/23/3acbd8e6efe17ca4024eb18c9ded6bffcaed9d759cad8d4c07e3e7785384/clerks_friend-1.0.3.tar.gz",
    "platform": null,
    "description": "# Clerks Friend\n\n<p>\n    <a href=\"https://clerks-friend.readthedocs.io/en/stable/\">\n        <img src=\"https://img.shields.io/readthedocs/clerks-friend\"/>\n    </a>\n    <a href=\"https://pypi.org/project/clerks-friend/\">\n        <img src=\"https://img.shields.io/pypi/v/clerks-friend\"/>\n    </a>\n    <a href=\"https://pypi.org/project/clerks-friend/\">\n        <img src=\"https://img.shields.io/pypi/wheel/clerks-friend\"/>\n    </a>\n    <a href=\"https://pypi.org/project/clerks-friend/\">\n        <img src=\"https://img.shields.io/pypi/pyversions/clerks-friend\"/>\n    </a>\n    <a href=\"https://github.com/IsaacsLab42/clerks_friend/\">\n        <img src=\"https://img.shields.io/github/license/IsaacsLab42/clerks_friend\"/>\n    </a>\n    <a href=\"https://black.readthedocs.io/en/stable/\">\n        <img src=\"https://img.shields.io/badge/code_style-black-black\"/>\n    </a>\n</p>\n\n---\n\nUseful reports for Ward Clerk's of The Church of Jesus Christ of Latter-Day Saints. The\nincluded script `clerks_friend` can run several useful reports and produce Markdown\nstyle output. This output could be used by various programs to create HTML or PDF\noutput. Or, the way I use it, is to paste the markdown into Google Docs. They have a\nfeature where markdown can be pasted into a Google Doc and it will render the output.\n\n## Command Line Script\n\nThis package installs a command line script called `clerks_friend`:\n\n```bash\n$ clerks_friend --help\nusage: clerks_friend [-h] [-u USERNAME] [-p PASSWORD] [-c COOKIE_FILE]\n                     [-o MARKDOWN_OUTPUT]\n                     INPUT_FILE\n\nRun clerk reports from LCR for The Church of Jesus Christ of Latter-Day\nSaints.\n\npositional arguments:\n  INPUT_FILE            input YAML file containing the report\n                        configuration\n\noptions:\n  -h, --help            show this help message and exit\n  -u USERNAME, --username USERNAME\n                        LCR username [env var: LCR_USERNAME]\n  -p PASSWORD, --password PASSWORD\n                        LCR password [env var: LCR_PASSWORD]\n  -c COOKIE_FILE, --cookie-file COOKIE_FILE\n                        cookie jar file to save the session or load a\n                        saved session\n  -o MARKDOWN_OUTPUT, --output MARKDOWN_OUTPUT\n                        output file for markdown report. Defaults to\n                        stdout.\n```\n\n## Authentication\n\nThe `clerks_friend` script requires your member username and password, for The Church of\nJesus Christ of Latter-Day Saints LCR system. There are three different ways to supply\nthese credentials:\n\n1. On the command line, using the `--username` and `--password` options.\n2. Through the environment variables `LCR_USERNAME` and `LCR_PASSWORD`.\n3. From an environment file `.env`. This is the recommended option.\n\nThe `.env` file must be in the same directory that the script is run from. The file format is very simple:\n\n```\nLCR_USERNAME=ace\nLCR_PASSWORD=ThePassword\n```\n\n## Report File Input\n\nThe input file, specifying which reports to run and their parameters, is a YAML file\nformat. As example is shown below:\n\n```yaml\n---\ntitle: Celestial Ward Clerical Report\n\nreports:\n  - name: not_set_apart\n    heading: Not Set Apart\n\n  - name: expiring_recommends\n    heading: \"Expiring/Expired Temple Recommends\"\n    parameters:\n      months_past: -3\n      months_future: 1\n      recommend_type: REGULAR\n\n  - name: protecting_children_and_youth_training\n    heading: Protecting Children and Youth Training\n    parameters:\n      months_future: 1\n\n  - name: sacrament_meeting_attendance\n    heading: Sacrament Meeting Attendance\n    parameters:\n      year: 2024\n```\n\n## Valid Reports\n\nThe currently valid report types are:\n\n* expiring_recommends\n* members_moved_in\n* members_moved_out\n* not_set_apart\n* protecting_children_and_youth_training\n* sacrament_meeting_attendance\n\nAs time permits I would like to add additional reports. If you would like to help add\nmore reports then please feel free to open a pull request, or an issue describing the\nreport you'd like.\n\n\n## Cached Sessions\n\nThis script uses the [lcr_session](https://github.com/IsaacsLab42/lcr_session) library\nto provide authentication. This library can also cache sessions, so that\nre-authentication is not necessary if several reports need to be run in a row. For this\nuse the `--cookie-file` option. Church sessions are typically valid for one hour.\n\n\n## Example\n\nFor example, save the above YAML sample as `report.yaml`. Create a `.env` file with your\nLCR credentials, then run the following:\n\n```bash\n$ clerks_friend ./report.yaml -c cookies.txt -o report.md\n```\n\nA `report.md` file would be output with the results. This could then be copied and\npasted into a Google Document, which would render the markdown properly. Note that\nmarkdown support must be enabled for the document, and you must select the \"Paste from\nmarkdown\" option.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Useful reports for Ward Clerk's of The Church of Jesus Christ of Latter-Day Saints",
    "version": "1.0.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/IsaacsLab42/clerks_friend/issues",
        "Documentation": "https://clerks-friend.readthedocs.io/en/stable/",
        "Homepage": "https://github.com/IsaacsLab42/clerks_friend",
        "Repository": "https://github.com/IsaacsLab42/clerks_friend"
    },
    "split_keywords": [
        "lcr",
        " churchofjesuschrist"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a1297a5e03d56918b717030c4466c708737025347c42d2e5a011597f8f20b78",
                "md5": "128092b1cf616574a3d45fc71eccfeb9",
                "sha256": "df38995170be9e324d22522eca8683505c99b976849f9dfe935b1caef4ff17d2"
            },
            "downloads": -1,
            "filename": "clerks_friend-1.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "128092b1cf616574a3d45fc71eccfeb9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 9683,
            "upload_time": "2024-12-30T16:08:31",
            "upload_time_iso_8601": "2024-12-30T16:08:31.496709Z",
            "url": "https://files.pythonhosted.org/packages/2a/12/97a5e03d56918b717030c4466c708737025347c42d2e5a011597f8f20b78/clerks_friend-1.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7c233acbd8e6efe17ca4024eb18c9ded6bffcaed9d759cad8d4c07e3e7785384",
                "md5": "ef789e1a7a35aee8ddb3d5781fab55d0",
                "sha256": "0b7735047ea7815d0fc0b46c0d1b70d650e4173a2b4c46e00765fbfecf17cce6"
            },
            "downloads": -1,
            "filename": "clerks_friend-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "ef789e1a7a35aee8ddb3d5781fab55d0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 9306,
            "upload_time": "2024-12-30T16:08:34",
            "upload_time_iso_8601": "2024-12-30T16:08:34.188034Z",
            "url": "https://files.pythonhosted.org/packages/7c/23/3acbd8e6efe17ca4024eb18c9ded6bffcaed9d759cad8d4c07e3e7785384/clerks_friend-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-30 16:08:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "IsaacsLab42",
    "github_project": "clerks_friend",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "clerks-friend"
}
        
Elapsed time: 0.43980s