Compare commits

...

5 commits

Author SHA1 Message Date
MassiveBox 9782f0321f Add docker support
- Allow setup script to get credentials from flags
- Add Dockerfile and docker_entrypoint
- Edit README for forked version
2022-10-23 22:09:20 +02:00
Carl Chenet 9ae33644e5 bump version and update version 2021-03-26 18:22:57 +01:00
Carl Chenet 475bdae925 add __init__ for scripts dir. fixes #62 2021-03-26 18:08:39 +01:00
Carl Chenet 02dc5f7887 add 0.16 description 2020-12-09 01:33:49 +01:00
Carl Chenet a8958f914b bump version 2020-12-09 01:29:25 +01:00
43 changed files with 146 additions and 99 deletions

3
.gitignore vendored
View file

@ -1,6 +1,7 @@
docs/build/ docs/build/
__pycache__ __pycache__
feedlist feedlist
data
*.swp *.swp
*.pyc *.pyc
*.db *.db
@ -8,3 +9,5 @@ feedlist
*.txt *.txt
*.bck *.bck
*.png *.png
*.yml
.env

View file

@ -1,3 +1,14 @@
## [0.17] - 2021-03-26
### Changed
- fix install bug while installing from sources
- bump changelog
## [0.16] - 2020-12-09
### Added
- scripts/register_feed2toot_app: --client-credentials-file option to change the filename in which the client credentials are stored
- scripts/register_feed2toot_app: --user-credentials-file option to change the filename in which the client credentials are stored
- scripts/register_feed2toot_app: --name to change the Mastodon app name
## [0.15] - 2020-12-07 ## [0.15] - 2020-12-07
### Changed ### Changed
- maintenance version - maintenance version
@ -5,6 +16,7 @@
- update copyrigth - update copyrigth
- update author email - update author email
## [0.14] - 2019-12-31 ## [0.14] - 2019-12-31
### Added ### Added
- support for line breaks in toots - support for line breaks in toots

13
Dockerfile Normal file
View file

@ -0,0 +1,13 @@
FROM python:3.7-bullseye
ADD . /app
WORKDIR /app
RUN python3 setup.py install; \
chmod +x docker_entrypoint.sh; \
mkdir -p /data /root/.config; \
rm -rf docke.yml
WORKDIR /data
CMD ["/app/docker_entrypoint.sh"]

View file

@ -1,64 +1,45 @@
# Feed2Toot Docker
Feed2Toot Docker is a fork of [chaica/feed2toot](https://gitlab.com/chaica/feed2toot) that allows for simple deployment over Docker. In the future I'll try to add other useful features.
### Usage
With Docker Compose:
```yaml
version: '3'
services:
feed2toot:
image: gitea.massivebox.net/massivebox/feed2toot-docker:latest
environment:
- USERNAME=sampleusername@sampleinstance.url
- PASSWORD=samplepassword
- INSTANCE=https://sampleinstance.url
restart: always
volumes:
- ./data:/data
```
Insert your full username (including the part with your homeserver's address), password and instance URL where required.
You also need to create a working `feed2toot.ini` in the `./data` folder. See the [upstream docs](`https://feed2toot.readthedocs.io/en/latest/configure.html#create-feed2toot-configuration`) for the guide.
After the first successful run, you can remove the entire `environment` block if you want, however, if you delete and re-create the container, you will need to put it back.
### Support
Don't ask the upstream developers for help, if something is broken it's more likely that it is my fault.
You can get support by opening an [issue](https://gitea.massivebox.net/massivebox/feed2toot-docker/issues), or by [contacting me](https://massivebox.net/contact.html), or in the [Matrix support room](https://matrix.to/#/#support:massivebox.net).
### Feed2toot ### Feed2toot
Feed2toot automatically parses rss feeds, identifies new posts and posts them on the [Mastodon](https://mastodon.social) social network. The following links and addresses are the upstream developers'. I don't want donations for this project, but I encourage you to donate to them.
For the full documentation, [read it online](https://feed2toot.readthedocs.io/en/latest/).
If you would like, you can [support the development of this project on Liberapay](https://liberapay.com/carlchenet/).
Alternatively you can donate cryptocurrencies:
- [Liberapay](https://liberapay.com/carlchenet/)
- BTC: 1AW12Zw93rx4NzWn5evcG7RNNEM2RSLmAC - BTC: 1AW12Zw93rx4NzWn5evcG7RNNEM2RSLmAC
- XMR: 43GGv8KzVhxehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznKHGAhDi - XMR: 43GGv8KzVhxehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznKHGAhDi
### Quick Install
* Install Feed2toot from PyPI
# pip3 install feed2toot
* Install Feed2toot from sources
*(see the installation guide for full details)
[Installation Guide](http://feed2toot.readthedocs.io/en/latest/install.html)*
# tar zxvf feed2toot-0.15.tar.gz
# cd feed2toot
# python3 setup.py install
# # or
# python3 setup.py install --install-scripts=/usr/bin
### Create the authorization for the Feed2toot app
* Just launch the following command::
$ register_feed2toot_app
### Use Feed2toot
* Create or modify feed2toot.ini file in order to configure feed2toot:
[mastodon]
instance_url=https://mastodon.social
user_credentials=feed2toot_usercred.txt
client_credentials=feed2toot_clientcred.txt
; Default visibility is public, but you can override it:
; toot_visibility=unlisted
[cache]
cachefile=cache.db
[rss]
uri=https://www.journalduhacker.net/rss
toot={title} {link}
[hashtaglist]
several_words_hashtags_list=hashtags.txt
* Launch Feed2toot
$ feed2toot -c /path/to/feed2toot.ini
### Authors ### Authors
* MassiveBox <massivebox@massivebox.net>
* Carl Chenet <carl.chenet@ohmytux.com> * Carl Chenet <carl.chenet@ohmytux.com>
* Antoine Beaupré <anarcat@debian.org> * Antoine Beaupré <anarcat@debian.org>
* First developed by Todd Eddy * First developed by Todd Eddy

12
docker_entrypoint.sh Executable file
View file

@ -0,0 +1,12 @@
#!/bin/bash
cd /data
if [[ ! -f "feed2toot_clientcred.txt" || ! -f "feed2toot_usercred.txt" ]]; then
register_feed2toot_app --instance $INSTANCE --username $USERNAME --password $PASSWORD
fi
while :; do
feed2toot -c ./feed2toot.ini
sleep 5m
done

View file

@ -48,16 +48,16 @@ master_doc = 'index'
# General information about the project. # General information about the project.
project = 'feed2toot' project = 'feed2toot'
copyright = '2015-2020, Carl Chenet <carl.chenet@ohmytux.com>' copyright = '2015-2021, Carl Chenet <carl.chenet@ohmytux.com>'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = '0.15' version = '0.17'
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = '0.15' release = '0.17'
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.

View file

@ -25,7 +25,7 @@ Alternatively, Setuptools may be installed to a user-local path::
* Untar the tarball and go to the source directory with the following commands:: * Untar the tarball and go to the source directory with the following commands::
$ tar zxvf feed2toot-0.15.tar.gz $ tar zxvf feed2toot-0.17.tar.gz
$ cd feed2toot $ cd feed2toot
* Next, to install Feed2toot on your computer, type the following command with the root user:: * Next, to install Feed2toot on your computer, type the following command with the root user::

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
@ -24,7 +24,7 @@ import os
import os.path import os.path
import sys import sys
__version__ = '0.15' __version__ = '0.17'
class CliParse: class CliParse:
'''CliParse class''' '''CliParse class'''

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,5 +1,5 @@
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

15
scripts/__init__.py Normal file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# vim:ts=4:sw=4:ft=python:fileencoding=utf-8 # vim:ts=4:sw=4:ft=python:fileencoding=utf-8
# Copyright © 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright © 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
@ -34,6 +34,9 @@ parser.add_argument('--version', action='version', version=__version__)
parser.add_argument('--client-credentials-file', dest='clientcredfile', help='the name of the client credentials for the Mastodon app', default='feed2toot_clientcred.txt') parser.add_argument('--client-credentials-file', dest='clientcredfile', help='the name of the client credentials for the Mastodon app', default='feed2toot_clientcred.txt')
parser.add_argument('--user-credentials-file', dest='usercredfile', help='the name of the user credentials for the Mastodon app', default='feed2toot_usercred.txt') parser.add_argument('--user-credentials-file', dest='usercredfile', help='the name of the user credentials for the Mastodon app', default='feed2toot_usercred.txt')
parser.add_argument('--name', help='the name of the Mastodon app', default='feed2toot') parser.add_argument('--name', help='the name of the Mastodon app', default='feed2toot')
parser.add_argument('--instance', help='the URL of the Mastodon instance')
parser.add_argument('--username', help='the username of your Mastodon account')
parser.add_argument('--password', help='the password of your Mastodon account')
opts = parser.parse_args() opts = parser.parse_args()
clientcredfile=opts.clientcredfile clientcredfile=opts.clientcredfile
@ -44,7 +47,9 @@ print(headline)
# get the instance # get the instance
instance = input('Mastodon instance URL (defaults to https://mastodon.social): ') instance = opts.instance
if not instance:
instance = input('Mastodon instance URL (defaults to https://mastodon.social): ')
if not instance: if not instance:
instance = 'https://mastodon.social' instance = 'https://mastodon.social'
elif not instance.startswith('http'): elif not instance.startswith('http'):
@ -52,19 +57,25 @@ elif not instance.startswith('http'):
# get the username # get the username
userok = False userok = False
quit_on_error = True
while not userok: while not userok:
user = input('Mastodon login: ') user = opts.username
if not user:
user = input('Mastodon login: ')
quit_on_error = False
if not user: if not user:
print('Your Mastodon username can not be empty.') print('Your Mastodon username can not be empty.')
userok = False
elif '@' not in user or '.' not in user: elif '@' not in user or '.' not in user:
print('Your Mastodon username should be an email.') print('Your Mastodon username should be an email.')
userok = False
else: else:
userok = True userok = True
if not userok and quit_on_error:
exit()
# get the password # get the password
password = getpass(prompt='Mastodon password: ') password = opts.password
if not password:
password = getpass(prompt='Mastodon password: ')
Mastodon.create_app( Mastodon.create_app(
opts.name, opts.name,
api_base_url=instance, api_base_url=instance,

View file

@ -1,4 +1,4 @@
# Copyright 2015-2020 Carl Chenet <carl.chenet@ohmytux.com> # Copyright 2015-2021 Carl Chenet <carl.chenet@ohmytux.com>
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation, either version 3 of the License, or
@ -31,7 +31,7 @@ CLASSIFIERS = [
setup( setup(
name='feed2toot', name='feed2toot',
version='0.15', version='0.17',
license='GNU GPL v3', license='GNU GPL v3',
description='Parse rss feeds and send new posts to Mastodon', description='Parse rss feeds and send new posts to Mastodon',
long_description='Parse rss feeds and send new posts to the Mastodon social network', long_description='Parse rss feeds and send new posts to the Mastodon social network',