pod-feeder-v2


Namepod-feeder-v2 JSON
Version 1.0.9 PyPI version JSON
download
home_pagehttps://gitlab.com/brianodonnell/pod_feeder_v2
SummaryA utility to publish RSS/Atom feeds to Diaspora*
upload_time2024-11-04 01:31:47
maintainerNone
docs_urlNone
authorBrian Ó
requires_python>=3.9
licenseNone
keywords atom bot diaspora feeds newsfeeds rss social syndication
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pod_feeder_v2

Publishes RSS/Atom feeds to Diaspora*

This is a lightweight, customizable "bot" script to harvest RSS/Atom feeds and
re-publish them to the Diaspora social network. It is posted here without
warranty, for public use.

v2 is a complete re-write of the
[original pod_feeder](https://github.com/rev138/pod_feeder) script which was
written (poorly) in perl and is no longer supported. Migrating to this version
is recommended.

## Installation
pod_feeder_v2 requires python3. You can easily install the dependencies with pip:

### System-wide
`sudo pip3 install pod-feeder-v2`

### Individual user
`pip3 install --user pod-feeder-v2`

_When installing as a non-privilegd user, make sure you have `~/.local/bin` in your `$PATH`_

## Migrating from pod_feeder "classic"
1. pod_feeder_v2's database schema is backward-compatible with the original, so
you can point the script at your existing `feed.db` file (or whatever
yours is called).

2. The `--title-tags` and `--url-tags` arguments have not been carried forward
because in practice they generally create lots of spurious tags, and the
'stop words' feature is difficult to implement. `--user-agent` is not currently
implemented because the feedparser library does not support it.

3. Several new options, `--summary`, `--debug`, and `--quiet` have been added.

## Usage
This script is intended to be run as a cron job, which might look something like this:

`@hourly pod-feeder --feed-id myfeed --feed-url http://example.com/feeds/rss --pod-url https://diaspora.example.com --username user --password ******** --quiet`

There is also a database cleaner script that you can run as often as you like to
keep your database size under control:

`@weekly pf-clean-db feed.db > /dev/null 2>&1`

    usage: pod-feeder [-h] [--aspect-id ASPECT_ID] [--auto-tag AUTO_TAG]
                      [--category-tags] [--database DATABASE] [--embed-image]
                      --feed-id FEED_ID --feed-url FEED_URL
                      [--ignore-tag IGNORE_TAG] [--limit LIMIT] [--no-branding]
                      --pod-url POD_URL [--post-raw-link] [--timeout TIMEOUT]
                      [--username USERNAME] [--via VIA] [--summary | --full]
                      (--password PASSWORD | --fetch-only) [--debug | --quiet]

    optional arguments:
      -h, --help            show this help message and exit
      --aspect-id ASPECT_ID
                            Numerical aspect ID to share with. May be specified
                            multiple times (default: 'public')
      --auto-tag AUTO_TAG   Hashtags to add to all posts. May be specified
                            multiple times
      --category-tags       Automatically hashtagify RSS item 'categories' if any
      --database DATABASE   The file to store feed data (default: 'feed.db')
      --embed-image         Embed an image in the post if a link exists
      --feed-id FEED_ID     An arbitrary label for this feed
      --feed-url FEED_URL   The feed URL
      --ignore-tag IGNORE_TAG
                            Hashtag to filter out. May be specified multiple times
      --limit LIMIT         Only post n items per script run, to prevent post-
                            spamming
      --no-branding         Do not include 'via pod_feeder_v2' footer to posts
      --pod-url POD_URL     The pod URL
      --post-raw-link       Post the raw link instead of hyperlinking the article
                            title
      --timeout TIMEOUT     How many hours to keep re-trying failed posts (default
                            72)
      --username USERNAME   The D* login username
      --via VIA             Sets the 'posted via' footer text (default:
                            'pod_feeder_v2')
      --summary             Post the summary text of the feed item
      --full, --body        Post the full text of the feed item
      --password PASSWORD   The D* user password
      --fetch-only          Don't publish to Diaspora, queue the new feed items
                            for later
      --debug               Show debugging output
      --quiet               Suppress normal output

## A Note on YouTube Feeds

It is possible to publish a YouTube channel's feed, by using the following URL format:

    https://www.youtube.com/feeds/videos.xml?channel_id=<channel id>

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/brianodonnell/pod_feeder_v2",
    "name": "pod-feeder-v2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "atom bot diaspora feeds newsfeeds rss social syndication",
    "author": "Brian \u00d3",
    "author_email": "brian@pancrypticon.net",
    "download_url": "https://files.pythonhosted.org/packages/d4/25/2cb27e24d2376b718d7fba6c56d3849dbf4a2e069c49dd55fa947bcafd7e/pod_feeder_v2-1.0.9.tar.gz",
    "platform": null,
    "description": "# pod_feeder_v2\n\nPublishes RSS/Atom feeds to Diaspora*\n\nThis is a lightweight, customizable \"bot\" script to harvest RSS/Atom feeds and\nre-publish them to the Diaspora social network. It is posted here without\nwarranty, for public use.\n\nv2 is a complete re-write of the\n[original pod_feeder](https://github.com/rev138/pod_feeder) script which was\nwritten (poorly) in perl and is no longer supported. Migrating to this version\nis recommended.\n\n## Installation\npod_feeder_v2 requires python3. You can easily install the dependencies with pip:\n\n### System-wide\n`sudo pip3 install pod-feeder-v2`\n\n### Individual user\n`pip3 install --user pod-feeder-v2`\n\n_When installing as a non-privilegd user, make sure you have `~/.local/bin` in your `$PATH`_\n\n## Migrating from pod_feeder \"classic\"\n1. pod_feeder_v2's database schema is backward-compatible with the original, so\nyou can point the script at your existing `feed.db` file (or whatever\nyours is called).\n\n2. The `--title-tags` and `--url-tags` arguments have not been carried forward\nbecause in practice they generally create lots of spurious tags, and the\n'stop words' feature is difficult to implement. `--user-agent` is not currently\nimplemented because the feedparser library does not support it.\n\n3. Several new options, `--summary`, `--debug`, and `--quiet` have been added.\n\n## Usage\nThis script is intended to be run as a cron job, which might look something like this:\n\n`@hourly pod-feeder --feed-id myfeed --feed-url http://example.com/feeds/rss --pod-url https://diaspora.example.com --username user --password ******** --quiet`\n\nThere is also a database cleaner script that you can run as often as you like to\nkeep your database size under control:\n\n`@weekly pf-clean-db feed.db > /dev/null 2>&1`\n\n    usage: pod-feeder [-h] [--aspect-id ASPECT_ID] [--auto-tag AUTO_TAG]\n                      [--category-tags] [--database DATABASE] [--embed-image]\n                      --feed-id FEED_ID --feed-url FEED_URL\n                      [--ignore-tag IGNORE_TAG] [--limit LIMIT] [--no-branding]\n                      --pod-url POD_URL [--post-raw-link] [--timeout TIMEOUT]\n                      [--username USERNAME] [--via VIA] [--summary | --full]\n                      (--password PASSWORD | --fetch-only) [--debug | --quiet]\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      --aspect-id ASPECT_ID\n                            Numerical aspect ID to share with. May be specified\n                            multiple times (default: 'public')\n      --auto-tag AUTO_TAG   Hashtags to add to all posts. May be specified\n                            multiple times\n      --category-tags       Automatically hashtagify RSS item 'categories' if any\n      --database DATABASE   The file to store feed data (default: 'feed.db')\n      --embed-image         Embed an image in the post if a link exists\n      --feed-id FEED_ID     An arbitrary label for this feed\n      --feed-url FEED_URL   The feed URL\n      --ignore-tag IGNORE_TAG\n                            Hashtag to filter out. May be specified multiple times\n      --limit LIMIT         Only post n items per script run, to prevent post-\n                            spamming\n      --no-branding         Do not include 'via pod_feeder_v2' footer to posts\n      --pod-url POD_URL     The pod URL\n      --post-raw-link       Post the raw link instead of hyperlinking the article\n                            title\n      --timeout TIMEOUT     How many hours to keep re-trying failed posts (default\n                            72)\n      --username USERNAME   The D* login username\n      --via VIA             Sets the 'posted via' footer text (default:\n                            'pod_feeder_v2')\n      --summary             Post the summary text of the feed item\n      --full, --body        Post the full text of the feed item\n      --password PASSWORD   The D* user password\n      --fetch-only          Don't publish to Diaspora, queue the new feed items\n                            for later\n      --debug               Show debugging output\n      --quiet               Suppress normal output\n\n## A Note on YouTube Feeds\n\nIt is possible to publish a YouTube channel's feed, by using the following URL format:\n\n    https://www.youtube.com/feeds/videos.xml?channel_id=<channel id>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A utility to publish RSS/Atom feeds to Diaspora*",
    "version": "1.0.9",
    "project_urls": {
        "Homepage": "https://gitlab.com/brianodonnell/pod_feeder_v2"
    },
    "split_keywords": [
        "atom",
        "bot",
        "diaspora",
        "feeds",
        "newsfeeds",
        "rss",
        "social",
        "syndication"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "92b512a0edb005f176de60e7ba5af81cba4c0426a164cbdff0f2bd3729358800",
                "md5": "8f58652736cd27d1784f2925f7ba0714",
                "sha256": "cf0184cf89ddb42f9a88a298986d94bf795a25e084d5ec385dd4d7444f95df3c"
            },
            "downloads": -1,
            "filename": "pod_feeder_v2-1.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8f58652736cd27d1784f2925f7ba0714",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 13450,
            "upload_time": "2024-11-04T01:31:46",
            "upload_time_iso_8601": "2024-11-04T01:31:46.101601Z",
            "url": "https://files.pythonhosted.org/packages/92/b5/12a0edb005f176de60e7ba5af81cba4c0426a164cbdff0f2bd3729358800/pod_feeder_v2-1.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d4252cb27e24d2376b718d7fba6c56d3849dbf4a2e069c49dd55fa947bcafd7e",
                "md5": "9a4b741b48b9ac4b2ce4b796f0889f13",
                "sha256": "1dbf6cdc0f02b8fc4ca9b6a4831c4410a09a247a240ec461cb104590db12e3af"
            },
            "downloads": -1,
            "filename": "pod_feeder_v2-1.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "9a4b741b48b9ac4b2ce4b796f0889f13",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 13618,
            "upload_time": "2024-11-04T01:31:47",
            "upload_time_iso_8601": "2024-11-04T01:31:47.051721Z",
            "url": "https://files.pythonhosted.org/packages/d4/25/2cb27e24d2376b718d7fba6c56d3849dbf4a2e069c49dd55fa947bcafd7e/pod_feeder_v2-1.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-04 01:31:47",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "brianodonnell",
    "gitlab_project": "pod_feeder_v2",
    "lcname": "pod-feeder-v2"
}
        
Elapsed time: 0.43964s