scripts/afu
2024-06-12 19:41:16 +02:00
..
README.md UPD Readme 2024-06-12 19:41:16 +02:00
test.py ADD test file 2024-06-12 19:40:12 +02:00

Python Script for Downloading the Latest Amateur Radio Callbook of Austria

(c) KW4NZ since 2024

  • Guide is based on Debian 12.5, and Arch Linux
  • Last modified 2024-06-12

Prerequisites

  1. A running Linux system, e.g. Debian, Arch, etc.
  2. User has administrative access via sudo
  3. Python Version >3
  4. Chromium Web browser (headless)
  5. Selenium for Python via Webdriver Manager
  6. Optional: User has an ssh key pair
  7. Optional: git, ? wget, ? curl

Installation of Python, Selenium, Chromium

Debian Linux

Check Version

$ cat /etc/debian_version
12.5

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Upgrade your Debian installation if the version is lower than the above value.

Update/Upgrade Debian

$ sudo apt update
$ sudo apt upgrade

If this does not work, then the user <username> must be added to the sudo group with :

$ su -
Password:
root@debian:~# usermod -aG sudo <username>

For the group membership to take effect, the user must log out and log in again or the system must be restarted.

Python3

Check if Python is already installed in Debian:

$ python3 --version
Python 3.11.2

If it is not already installed, then:

$ sudo apt install python3

Chromium Browser

$ sudo apt install chromium

Manager (selenium)

Afterwards, selenium is installed:

$ sudo apt install python3-selenium

SSH key generation

The program openssh is preinstalled on Debian systems. But there is no private/public key installed yet. Best practices generating the key pair:

$ ssh-keygen -t ed25519 -C "your_email@example.com"

Personally, I don't use a different name for the keys, I just click through the process. The same applies to the passphrase. Now go to the website https://git.kuschel.at and copy the content of the public key from ~/.ssh/id__ed25519.pub to the "Manage SSH keys" -- via "Add Key".

$ cat .ssh/id_ed25519.pub

Git installation and clone the scripts from git.kuschel.at

$ sudo apt install git

You have to globally configure your git with:

$ git config --global user.name "John Doe"
$ git config --global user.email your_email@example.com

Checking the git configuration with:

$ git config -l
user.name=<your name>
user.email=<your e-mail>
 etc.

Now create a folder and cd into it

$ mkdir gitea
$ cd gitea

Clone the repository script to your site with:

~/gitea$ git clone ssh://git@kuschel.at:21861/public/scripts.git

Ensure you can run pip from command line

$ python3 -m pip --version

If pip isnt already installed ("No module named pip"), then first try to bootstrap it from the standard library

$ python3 -m ensurepip --default-pip

If this does not work, install the package

$ sudo apt install python3-pip

Also sudo apt install pip should work.

$ pip install webdriver-manager

Arch Linux (@todo)

Check Version

$ cat /etc/lsb-release
DISTRIB_ID="Arch"
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="Arch Linux"

$ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

Update Arch Linux

Because Arch linux is a rolling distribution, simply update the version to the latest version with:

$ sudo pacman -Syuv



sudo pacman -S python

Alternative when yay is installed:

yay -S python