abk-bwp 0.0.3

Creator: codyrutscher

Last updated:

Add to Cart

Description:

abkbwp 0.0.3

Bing Wallpaper (currently MacOS only)
Downloads daily Bing images and sets them as desktop wallpaper
Configuring the app
Please see the file abk_bwp/config/bwp_config.toml file. There are some setting you might want to change.
Like the image size, which should ideally correspond to the size of your display.
In the config file you will find also detailed explanation, what exactly each configuration item is for.
Installing python dependencies:
Installing with pyenv + virtual environment (Recommended)
If you are like me and don't want to mix your python packages, you want to create python virtual environment before installing dependencies.
I use pyenv tool for that. Here are the steps on MacOS:

install brew. Google for it if you don't have it already
brew install pyenv - will install pyenv tool
brew install pyenv-virtualenv - installs virtualenv pyenv version
pyenv versions - will show you currently installed python versions and virtual envs on your system
pyenv install --list - will show you all available python versions you could install.
pyenv install 3.8.9 - installs python 3.8.9 version
pyenv virtualenv 3.8.9 bwp - creates virtual environment [bing wall paper] with python 3.8.9
cd <your_project_dir> - change into your project directory e.g.: cd abk_bwp
pyenv local bwp - setting the current directory to use [bwp] virtual environment
make install - will install all needed python dependency packages into [bwp] virtual environment.
make bwp - will download bing image and add title to the image

Installing without pyenv or python virtual environmet. Note the app does not run with python 2.7
If it is too many steps for you and just want to get it working "quick and dirty".
Warning: there might be some python packages, which might collide with already installed packages.

cd abk_bwp - change to the project directory
make install - to install python dependency packages in default location
make bwp - will download bing image and add title to the image

Makefile rules
There are some Makefile rules, which are created for your convinience. For more help with rules type: make help
Here are some described in the table



makefile rule
description




make bwp
executes the abk_bwp program, which dowloads Bing images and creates a desktop image


make bwp_log
executes the abk_bwp program, with tracing to the console and log file


make bwp_trace
executes the abk_bwp program, with tracing to the console


make bwp_desktop_enable
executes the abk_bwp program, enables auto download (time configured in bwp_config.toml)


make bwp_desktop_disable
executes the abk_bwp program, disables auto download (time configured in bwp_config.toml)


make bwp_ftv_enable
WIP: executes the abk_bwp program, enables Samsung frame TV support (Not working yet)


make bwp_ftv_disable
WIP: executes the abk_bwp program, disables Samsung frame TV support (Not working yet)


make install
installs all required python packages for the app


make install_test
installs all required python packages for app and additional packages to run the unit test


make install_dev
installs all required python packages for app and additional for test and development


make test
runs unit tests


make test_v
runs unit tests with verbosity enabled


make test_ff
runs unit tests and fails fast on the first broken test


make test_vff
runs unit tests fails fast on the first broken test with verbosity enabled


make test_1
runs one specific unit test


make coverage
runs unit tests with coverage


make coverage
runs unit tests with coverage


make clean
cleans some auto generated build files


make settings
displays some Makefile settings


make help
displays Makefile help



Python tracing:
In order to debug python scripts, you could enable the traces in the
logging.yaml file by changing levels from CRITICAL to DEBUG
Scheduler / plist tracing / Troubleshooting
The project contains com.abk.bingwallpaper_debug.sh.plist file, which can be used to debug scheduler problems.

Copy com.abk.bingwallpaper_debug.sh.plist to ~/Library/LaunchAgents/ directory.
change to directory: cd ~/Labrary/LaunchAgents
load the scheduler with: launchctl load -w com.abk.bingwallpaper_debug.sh.plist
start the job with: launchctl start com.abk.bingwallpaper_debug.sh
check the job run: launchctl list | grep com.abk.bingwallpaper_debug.sh
if it return 0 the job ran successfully
the traces will be available in
/tmp/com.abk.bingwallpaper_debug.sh.stderr
and
/tmp/com.abk.bingwallpaper_debug.sh.stdout
after troubleshooting don't forget to disable the job for the debug scheduler
execute following
launchctl stop com.abk.bingwallpaper_debug.sh
launchctl unload -w com.abk.bingwallpaper_debug.sh.plist
delete the debug file from ~/Labrary/LaunchAgents
rm com.abk.bingwallpaper_debug.sh.plist in: ~/Labrary/LaunchAgents

App runs on:

MacOS Monterey (local machine) / Python 3.10.6
Linux Ubuntu 20.04 / Python 3.8.9
Windows 10 / Python 3.8.9

Pipeline Unit Tests ran on:

Linux latest / Python 3.8.x, 3.9.x, 3.10.x
MacOS latest / Python 3.8.x, 3.9.x, 3.10.x
Windows latest / Python 3.8.x, 3.9.x, 3.10.x

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.