1
0
Fork 0
mirror of https://github.com/YunoHost/apps.git synced 2024-09-03 20:06:07 +02:00
apps/store
2024-02-07 15:13:11 +01:00
..
.stars appstore: small refactoring, proper cache/refresh mechanism for catalog and wishlist 2023-09-03 12:11:56 +02:00
assets appstore: replace tailwind huge JS play CDN with some actual minimal css build 2023-09-19 18:57:25 +02:00
templates store/wishlist_add: ratelimit wishlist proposal to once every 15 days per user 2024-01-04 01:57:18 +01:00
translations/fr/LC_MESSAGES appstore: require to be level 1 to login ... 2023-11-19 19:45:47 +01:00
.gitignore appstore: initialize i18n stuff 2023-09-05 20:46:28 +02:00
__init__.py appstore: small refactoring, proper cache/refresh mechanism for catalog and wishlist 2023-09-03 12:11:56 +02:00
app.py store/wishlist_add: ratelimit wishlist proposal to once every 15 days per user 2024-01-04 01:57:18 +01:00
babel.cfg appstore: initialize i18n stuff 2023-09-05 20:46:28 +02:00
config.toml.example appstore: small refactoring, proper cache/refresh mechanism for catalog and wishlist 2023-09-03 12:11:56 +02:00
gunicorn.py appstore: Add gunicorn, systemd, nginx conf snippets for deployment 2023-08-23 15:41:51 +02:00
nginx.conf.example appstore: Add gunicorn, systemd, nginx conf snippets for deployment 2023-08-23 15:41:51 +02:00
README.md Move list_builder.py to tools subdirectory 2024-02-07 15:13:11 +01:00
requirements.txt appstore: initialize i18n stuff 2023-09-05 20:46:28 +02:00
systemd.conf.example appstore: Add gunicorn, systemd, nginx conf snippets for deployment 2023-08-23 15:41:51 +02:00
utils.py store/wishlist_add: ratelimit wishlist proposal to once every 15 days per user 2024-01-04 01:57:18 +01:00

YunoHost app store

This is a Flask app interfacing with YunoHost's app catalog for a cool browsing of YunoHost's apps catalog, wishlist and being able to vote/star for apps

Developement

python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
cp config.toml.example config.toml

# Tweak config.toml with appropriate values... (not everyting is needed for the base features to work)
nano config.toml

# You'll need to have a built version of the catalog
mkdir -p ../builds/default/v3/
curl https://app.yunohost.org/default/v3/apps.json > ../builds/default/v3/apps.json

# You will also want to run list_builder.py to initialize the .apps_cache (at least for a few apps, you can Ctrl+C after a while)
pushd ..
    ./tools/list_builder.py
popd

And then start the dev server:

source venv/bin/activate
FLASK_APP=app.py FLASK_ENV=development flask run

Translation

It's based on Flask-Babel : https://python-babel.github.io

source venv/bin/activate
pybabel extract --ignore-dirs venv -F babel.cfg -o messages.pot .

# If working on a new locale : initialize it (in this example: fr)
pybabel init -i messages.pot -d translations -l fr
# Otherwise, update the existing .po:
pybabel update -i messages.pot -d translations

# ... translate stuff in translations/<lang>/LC_MESSAGES/messages.po
# then compile:
pybabel compile -d translations