mirror of
https://github.com/YunoHost/apps.git
synced 2024-09-03 20:06:07 +02:00
Merge branch 'master' into end_of_official
This commit is contained in:
commit
d59ecf6cfc
12 changed files with 1582 additions and 936 deletions
16
README.md
16
README.md
|
@ -6,21 +6,7 @@ Here you will find the repositories and versions of every apps integrated in Yun
|
||||||
|
|
||||||
https://yunohost.org/apps
|
https://yunohost.org/apps
|
||||||
|
|
||||||
|
The application list corresponds to **apps.json** which contains references to known "free-software" YunoHost packages along with a few metadata about them.
|
||||||
## Lists
|
|
||||||
**Situation will change soon regarding lists. Consider this info as obsolete**
|
|
||||||
- **official.json** contains the repository information of validated apps.
|
|
||||||
- **community.json** contains all references to known "free-software" YunoHost packages. If you want to add your app to the list, please [send a Pull Request](#contributing)
|
|
||||||
- **apps.json** contains all references to known YunoHost packages. If you want to add your app to the list, please [send a Pull Request](#contributing). **This list replace both community.json and official.json.**
|
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
The official package list is automatically fetched. If you want to **enable the apps package list** on your YunoHost instance:
|
|
||||||
```
|
|
||||||
sudo yunohost app fetchlist -n apps -u https://yunohost.org/apps.json
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|
13
app_levels/es.json
Normal file
13
app_levels/es.json
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"applevel_0": "Roto",
|
||||||
|
"applevel_1": "Instalable",
|
||||||
|
"applevel_2": "Instalable en todas situaciones",
|
||||||
|
"applevel_3": "Puede ser actualizado",
|
||||||
|
"applevel_4": "Soporte para copia de seguridad y restauracion",
|
||||||
|
"applevel_5": "Limpieza",
|
||||||
|
"applevel_6": "Abrir desde las contribuciones de la comunidad",
|
||||||
|
"applevel_7": "Todos los test correctos",
|
||||||
|
"applevel_8": "Aplicación de alta calidad",
|
||||||
|
"applevel_9": "Respect higher guidelines",
|
||||||
|
"applevel_10": "Package assessed as perfect"
|
||||||
|
}
|
100
apps.json
100
apps.json
|
@ -415,7 +415,7 @@
|
||||||
"cowyo": {
|
"cowyo": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "publishing",
|
"category": "publishing",
|
||||||
"level": 2,
|
"level": 7,
|
||||||
"revision": "HEAD",
|
"revision": "HEAD",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"subtags": [
|
"subtags": [
|
||||||
|
@ -454,6 +454,17 @@
|
||||||
],
|
],
|
||||||
"url": "https://github.com/YunoHost-Apps/democracyos_ynh"
|
"url": "https://github.com/YunoHost-Apps/democracyos_ynh"
|
||||||
},
|
},
|
||||||
|
"diagramsnet": {
|
||||||
|
"branch": "master",
|
||||||
|
"category": "office",
|
||||||
|
"level": 7,
|
||||||
|
"revision": "HEAD",
|
||||||
|
"state": "working",
|
||||||
|
"subtags": [
|
||||||
|
"draw"
|
||||||
|
],
|
||||||
|
"url": "https://github.com/YunoHost-Apps/diagramsnet_ynh"
|
||||||
|
},
|
||||||
"diaspora": {
|
"diaspora": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "social_media",
|
"category": "social_media",
|
||||||
|
@ -693,7 +704,7 @@
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "communication",
|
"category": "communication",
|
||||||
"level": 7,
|
"level": 7,
|
||||||
"revision": "b1774326f39c3545ccd7f16199876030f1040e1e",
|
"revision": "6c0f19d95b5a7cec8e8278173472f3bf4a1adab6",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"subtags": [
|
"subtags": [
|
||||||
"forum"
|
"forum"
|
||||||
|
@ -1046,8 +1057,8 @@
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "games",
|
"category": "games",
|
||||||
"high_quality": true,
|
"high_quality": true,
|
||||||
"level": 7,
|
"level": 8,
|
||||||
"maintained": "request_adoption",
|
"maintained": true,
|
||||||
"revision": "HEAD",
|
"revision": "HEAD",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"url": "https://github.com/YunoHost-Apps/hextris_ynh"
|
"url": "https://github.com/YunoHost-Apps/hextris_ynh"
|
||||||
|
@ -1129,7 +1140,7 @@
|
||||||
"ihatemoney": {
|
"ihatemoney": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "productivity_and_management",
|
"category": "productivity_and_management",
|
||||||
"level": 0,
|
"level": 4,
|
||||||
"revision": "HEAD",
|
"revision": "HEAD",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"subtags": [
|
"subtags": [
|
||||||
|
@ -1377,6 +1388,16 @@
|
||||||
],
|
],
|
||||||
"url": "https://github.com/YunoHost-Apps/linuxdash_ynh"
|
"url": "https://github.com/YunoHost-Apps/linuxdash_ynh"
|
||||||
},
|
},
|
||||||
|
"lionwiki-t2t": {
|
||||||
|
"branch": "master",
|
||||||
|
"category": "publishing",
|
||||||
|
"revision": "HEAD",
|
||||||
|
"state": "working",
|
||||||
|
"subtags": [
|
||||||
|
"wiki"
|
||||||
|
],
|
||||||
|
"url": "https://github.com/farvardin/lionwiki-t2t_ynh/"
|
||||||
|
},
|
||||||
"lstu": {
|
"lstu": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "small_utilities",
|
"category": "small_utilities",
|
||||||
|
@ -1647,8 +1668,9 @@
|
||||||
"moodle": {
|
"moodle": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "wat",
|
"category": "wat",
|
||||||
|
"level": 7,
|
||||||
"revision": "HEAD",
|
"revision": "HEAD",
|
||||||
"state": "notworking",
|
"state": "working",
|
||||||
"url": "https://github.com/YunoHost-Apps/moodle_ynh"
|
"url": "https://github.com/YunoHost-Apps/moodle_ynh"
|
||||||
},
|
},
|
||||||
"mopidy": {
|
"mopidy": {
|
||||||
|
@ -1665,7 +1687,7 @@
|
||||||
"movim": {
|
"movim": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "social_media",
|
"category": "social_media",
|
||||||
"level": 3,
|
"level": 2,
|
||||||
"maintained": false,
|
"maintained": false,
|
||||||
"revision": "ef940a1dd1c4b21e42c62f74b244f585980b3050",
|
"revision": "ef940a1dd1c4b21e42c62f74b244f585980b3050",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
|
@ -1797,8 +1819,9 @@
|
||||||
"noalyss": {
|
"noalyss": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "productivity_and_management",
|
"category": "productivity_and_management",
|
||||||
"revision": "cccbaa4e48c3aa44cd5742aed5301fe9a46179b9",
|
"level": 2,
|
||||||
"state": "inprogress",
|
"revision": "HEAD",
|
||||||
|
"state": "working",
|
||||||
"subtags": [
|
"subtags": [
|
||||||
"accounting",
|
"accounting",
|
||||||
"business_and_ngos"
|
"business_and_ngos"
|
||||||
|
@ -1973,6 +1996,17 @@
|
||||||
],
|
],
|
||||||
"url": "https://github.com/YunoHost-Apps/pelican_ynh"
|
"url": "https://github.com/YunoHost-Apps/pelican_ynh"
|
||||||
},
|
},
|
||||||
|
"petitesannonces": {
|
||||||
|
"branch": "master",
|
||||||
|
"category": "publishing",
|
||||||
|
"level": 7,
|
||||||
|
"revision": "HEAD",
|
||||||
|
"state": "working",
|
||||||
|
"subtags": [
|
||||||
|
"websites"
|
||||||
|
],
|
||||||
|
"url": "https://github.com/YunoHost-Apps/petitesannonces_ynh"
|
||||||
|
},
|
||||||
"pgadmin": {
|
"pgadmin": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "system_tools",
|
"category": "system_tools",
|
||||||
|
@ -2019,12 +2053,15 @@
|
||||||
},
|
},
|
||||||
"phpsysinfo": {
|
"phpsysinfo": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "dev",
|
"category": "system_tools",
|
||||||
"level": 4,
|
"level": 7,
|
||||||
"maintained": false,
|
"maintained": true,
|
||||||
"revision": "1df61e1d8b2836c2b44e7bd69c32ce6f00baf072",
|
"revision": "HEAD",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"url": "https://github.com/inrepublica/phpsysinfo_ynh"
|
"subtags": [
|
||||||
|
"monitoring"
|
||||||
|
],
|
||||||
|
"url": "https://github.com/YunoHost-Apps/phpsysinfo_ynh"
|
||||||
},
|
},
|
||||||
"pia": {
|
"pia": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
|
@ -2166,6 +2203,13 @@
|
||||||
"state": "notworking",
|
"state": "notworking",
|
||||||
"url": "https://github.com/abeudin/proftpd_ynh"
|
"url": "https://github.com/abeudin/proftpd_ynh"
|
||||||
},
|
},
|
||||||
|
"pterodactyl": {
|
||||||
|
"branch": "master",
|
||||||
|
"maintained": true,
|
||||||
|
"revision": "HEAD",
|
||||||
|
"state": "inprogress",
|
||||||
|
"url": "https://github.com/YunoHost-Apps/pterodactyl_ynh"
|
||||||
|
},
|
||||||
"pydio": {
|
"pydio": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "synchronization",
|
"category": "synchronization",
|
||||||
|
@ -2307,7 +2351,7 @@
|
||||||
"rss-bridge": {
|
"rss-bridge": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "reading",
|
"category": "reading",
|
||||||
"level": 7,
|
"level": 4,
|
||||||
"revision": "HEAD",
|
"revision": "HEAD",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"url": "https://github.com/YunoHost-Apps/rss-bridge_ynh"
|
"url": "https://github.com/YunoHost-Apps/rss-bridge_ynh"
|
||||||
|
@ -2376,7 +2420,7 @@
|
||||||
"shaarli": {
|
"shaarli": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "publishing",
|
"category": "publishing",
|
||||||
"level": 2,
|
"level": 7,
|
||||||
"revision": "HEAD",
|
"revision": "HEAD",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"subtags": [
|
"subtags": [
|
||||||
|
@ -2579,7 +2623,7 @@
|
||||||
"svgedit": {
|
"svgedit": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "office",
|
"category": "office",
|
||||||
"level": 2,
|
"level": 1,
|
||||||
"maintained": false,
|
"maintained": false,
|
||||||
"revision": "6f3a05b03d60142ad19ee8815f7b5d68adc888a4",
|
"revision": "6f3a05b03d60142ad19ee8815f7b5d68adc888a4",
|
||||||
"state": "working",
|
"state": "working",
|
||||||
|
@ -3052,6 +3096,17 @@
|
||||||
"state": "working",
|
"state": "working",
|
||||||
"url": "https://github.com/YunoHost-Apps/zeronet_ynh"
|
"url": "https://github.com/YunoHost-Apps/zeronet_ynh"
|
||||||
},
|
},
|
||||||
|
"zerotier": {
|
||||||
|
"branch": "master",
|
||||||
|
"category": "system_tools",
|
||||||
|
"level": 7,
|
||||||
|
"revision": "HEAD",
|
||||||
|
"state": "working",
|
||||||
|
"subtags": [
|
||||||
|
"network"
|
||||||
|
],
|
||||||
|
"url": "https://github.com/YunoHost-Apps/zerotier_ynh"
|
||||||
|
},
|
||||||
"zomburl": {
|
"zomburl": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"category": "small_utilities",
|
"category": "small_utilities",
|
||||||
|
@ -3062,5 +3117,16 @@
|
||||||
"url_shortener"
|
"url_shortener"
|
||||||
],
|
],
|
||||||
"url": "https://github.com/courgette/zomburl_ynh"
|
"url": "https://github.com/courgette/zomburl_ynh"
|
||||||
|
},
|
||||||
|
"ztncui": {
|
||||||
|
"branch": "master",
|
||||||
|
"category": "system_tools",
|
||||||
|
"level": 0,
|
||||||
|
"revision": "HEAD",
|
||||||
|
"state": "working",
|
||||||
|
"subtags": [
|
||||||
|
"network"
|
||||||
|
],
|
||||||
|
"url": "https://github.com/YunoHost-Apps/ztncui_ynh"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,105 +2,130 @@
|
||||||
icon: "cloud"
|
icon: "cloud"
|
||||||
title:
|
title:
|
||||||
en: "Synchronization"
|
en: "Synchronization"
|
||||||
|
es: "Sincronización"
|
||||||
fr: "Synchronisation"
|
fr: "Synchronisation"
|
||||||
description:
|
description:
|
||||||
en: "Files sync, contact, calendar, password managers, ..."
|
en: "Files sync, contact, calendar, password managers, ..."
|
||||||
|
es: "Sincronización, contactos, calendario, gestor de contraseñas, ..."
|
||||||
fr: "Fichiers, contacts, calendrier, mots de passe, ..."
|
fr: "Fichiers, contacts, calendrier, mots de passe, ..."
|
||||||
subtags:
|
subtags:
|
||||||
- id: files
|
- id: files
|
||||||
title:
|
title:
|
||||||
en: Files
|
en: Files
|
||||||
|
es: Archivos
|
||||||
fr: Fichiers
|
fr: Fichiers
|
||||||
- id: calendar
|
- id: calendar
|
||||||
title:
|
title:
|
||||||
en: Calendar
|
en: Calendar
|
||||||
|
es: Calendario
|
||||||
fr: Calendrier
|
fr: Calendrier
|
||||||
- id: contacts
|
- id: contacts
|
||||||
title:
|
title:
|
||||||
en: Contacts
|
en: Contacts
|
||||||
|
es: Contactos
|
||||||
fr: Contacts
|
fr: Contacts
|
||||||
- id: password
|
- id: password
|
||||||
title:
|
title:
|
||||||
en: Passwords
|
en: Passwords
|
||||||
fr: Mots de passe
|
fr: Mots de passe
|
||||||
|
es: Contraseñas
|
||||||
- id: "publishing"
|
- id: "publishing"
|
||||||
icon: "globe"
|
icon: "globe"
|
||||||
title:
|
title:
|
||||||
en: "Publishing"
|
en: "Publishing"
|
||||||
|
es: "Publicaciones"
|
||||||
fr: "Publication"
|
fr: "Publication"
|
||||||
description:
|
description:
|
||||||
en: "Websites, blog, wiki, CMS, ..."
|
en: "Websites, blog, wiki, CMS, ..."
|
||||||
|
es: "Paginas Web, blog, wiki, CMS, ..."
|
||||||
fr: "Site web, blog, wiki, CMS, ..."
|
fr: "Site web, blog, wiki, CMS, ..."
|
||||||
subtags:
|
subtags:
|
||||||
- id: websites
|
- id: websites
|
||||||
title:
|
title:
|
||||||
en: Websites
|
en: Websites
|
||||||
|
es: Paginas web
|
||||||
fr: Sites web
|
fr: Sites web
|
||||||
- id: blog
|
- id: blog
|
||||||
title:
|
title:
|
||||||
en: Blog
|
en: Blog
|
||||||
|
es: blog
|
||||||
fr: Blog
|
fr: Blog
|
||||||
- id: wiki
|
- id: wiki
|
||||||
title:
|
title:
|
||||||
en: Wiki
|
en: Wiki
|
||||||
|
es: Wiki
|
||||||
fr: Wiki
|
fr: Wiki
|
||||||
- id: ecommerce
|
- id: ecommerce
|
||||||
title:
|
title:
|
||||||
en: E-commerce
|
en: E-commerce
|
||||||
|
es: Comercio eletronico
|
||||||
fr: Vente en ligne
|
fr: Vente en ligne
|
||||||
- id: analytics
|
- id: analytics
|
||||||
title:
|
title:
|
||||||
en: Analytics
|
en: Analytics
|
||||||
|
es: Estadisticas
|
||||||
fr: Statistiques
|
fr: Statistiques
|
||||||
- id: "communication"
|
- id: "communication"
|
||||||
icon: "comments-o"
|
icon: "comments-o"
|
||||||
title:
|
title:
|
||||||
en: "Communication"
|
en: "Communication"
|
||||||
|
es: "Comunicacion"
|
||||||
fr: "Communication"
|
fr: "Communication"
|
||||||
description:
|
description:
|
||||||
en: "Chat, email, forum, meetings, ..."
|
en: "Chat, email, forum, meetings, ..."
|
||||||
|
es: "Chat, email, foro, reuniones en grupo , ..."
|
||||||
fr: "Chat, email, forum, meetings, ..."
|
fr: "Chat, email, forum, meetings, ..."
|
||||||
subtags:
|
subtags:
|
||||||
- id: chat
|
- id: chat
|
||||||
title:
|
title:
|
||||||
en: Instant messaging
|
en: Instant messaging
|
||||||
|
es: Mensajeria Instantanea
|
||||||
fr: Messagerie instantannée
|
fr: Messagerie instantannée
|
||||||
- id: forum
|
- id: forum
|
||||||
title:
|
title:
|
||||||
en: Forum
|
en: Forum
|
||||||
|
es: Foro
|
||||||
fr: Forum
|
fr: Forum
|
||||||
- id: email
|
- id: email
|
||||||
title:
|
title:
|
||||||
en: Email
|
en: Email
|
||||||
|
es: Email
|
||||||
fr: Email
|
fr: Email
|
||||||
- id: meeting
|
- id: meeting
|
||||||
title:
|
title:
|
||||||
en: Meetings
|
en: Meetings
|
||||||
|
es: Reuniones
|
||||||
fr: Meetings
|
fr: Meetings
|
||||||
- id: "office"
|
- id: "office"
|
||||||
icon: "file-text-o"
|
icon: "file-text-o"
|
||||||
title:
|
title:
|
||||||
en: "Office"
|
en: "Office"
|
||||||
|
es: "Ofimatica"
|
||||||
fr: "Bureautique"
|
fr: "Bureautique"
|
||||||
description:
|
description:
|
||||||
en: "Collaborative text edition, spreadsheets, ..."
|
en: "Collaborative text edition, spreadsheets, ..."
|
||||||
|
es: "Edición de texto colaborativo, hojas de cálculo, ..."
|
||||||
fr: "Edition de texte collaborative, tableurs, ..."
|
fr: "Edition de texte collaborative, tableurs, ..."
|
||||||
subtags:
|
subtags:
|
||||||
- id: text
|
- id: text
|
||||||
title:
|
title:
|
||||||
en: Text
|
en: Text
|
||||||
|
es: Texto
|
||||||
fr: Texte
|
fr: Texte
|
||||||
- id: spreadsheet
|
- id: spreadsheet
|
||||||
title:
|
title:
|
||||||
en: Speadsheet
|
en: Speadsheet
|
||||||
|
es: Hoja de cálculo
|
||||||
fr: Tableur
|
fr: Tableur
|
||||||
- id: impress
|
- id: impress
|
||||||
title:
|
title:
|
||||||
en: Slide show
|
en: Slide show
|
||||||
|
es: Diapositivas
|
||||||
fr: Diaporama
|
fr: Diaporama
|
||||||
- id: draw
|
- id: draw
|
||||||
title:
|
title:
|
||||||
en: Graphism
|
en: Graphism
|
||||||
|
es: Graficos
|
||||||
fr: Graphisme
|
fr: Graphisme
|
||||||
- id: mindmap
|
- id: mindmap
|
||||||
title:
|
title:
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
# Validation template for High Quality tag request
|
# Validation template for High Quality tag request
|
||||||
|
|
||||||
|
Package URL:
|
||||||
|
|
||||||
This template is designed to be used as it is by Apps group to validate requests from packagers for the tag High Quality.
|
This template is designed to be used as it is by Apps group to validate requests from packagers for the tag High Quality.
|
||||||
|
|
||||||
Mandatory check boxes:
|
Mandatory check boxes:
|
||||||
|
|
|
@ -55,13 +55,13 @@ def include_translations_in_manifest(app_name, manifest):
|
||||||
key = "%s_manifest_arguments_%s_%s" % (app_name, category, question["name"])
|
key = "%s_manifest_arguments_%s_%s" % (app_name, category, question["name"])
|
||||||
# don't overwrite already existing translation in manifests for now
|
# don't overwrite already existing translation in manifests for now
|
||||||
if key in translations and translations[key] and not current_lang not in question["ask"]:
|
if key in translations and translations[key] and not current_lang not in question["ask"]:
|
||||||
print "[ask]", current_lang, key
|
print("[ask]", current_lang, key)
|
||||||
question["ask"][current_lang] = translations[key]
|
question["ask"][current_lang] = translations[key]
|
||||||
|
|
||||||
key = "%s_manifest_arguments_%s_help_%s" % (app_name, category, question["name"])
|
key = "%s_manifest_arguments_%s_help_%s" % (app_name, category, question["name"])
|
||||||
# don't overwrite already existing translation in manifests for now
|
# don't overwrite already existing translation in manifests for now
|
||||||
if key in translations and translations[key] and not current_lang not in question.get("help", []):
|
if key in translations and translations[key] and not current_lang not in question.get("help", []):
|
||||||
print "[help]", current_lang, key
|
print("[help]", current_lang, key)
|
||||||
question["help"][current_lang] = translations[key]
|
question["help"][current_lang] = translations[key]
|
||||||
|
|
||||||
return manifest
|
return manifest
|
||||||
|
@ -183,40 +183,38 @@ for app, info in apps_list.items():
|
||||||
previous_high_quality = already_built_file.get(app, {}).get("high_quality")
|
previous_high_quality = already_built_file.get(app, {}).get("high_quality")
|
||||||
|
|
||||||
if app_rev == "HEAD":
|
if app_rev == "HEAD":
|
||||||
app_rev = subprocess.check_output(["git", "ls-remote", app_url, "refs/heads/"+app_branch]).split()[0]
|
app_rev = subprocess.check_output(["git", "ls-remote", app_url, "refs/heads/"+app_branch]).split()[0].decode('utf-8')
|
||||||
if not re.match(r"^[0-9a-f]+$", app_rev):
|
if not re.match(r"^[0-9a-f]+$", app_rev):
|
||||||
error("Revision for %s did not match expected regex" % app)
|
error("Revision for %s did not match expected regex" % app)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if previous_rev is None:
|
if previous_rev is None:
|
||||||
previous_rev = 'HEAD'
|
previous_rev = app_rev
|
||||||
|
|
||||||
# If this is a github repo, we are able to optimize things a bit by looking at the diff
|
# If this is a github repo, we are able to optimize things a bit by looking at the diff
|
||||||
# and not actually updating the app if only README or other not-so-important files were edited
|
# and not actually updating the app if only README or other not-so-important files were edited
|
||||||
if previous_rev != app_rev and forge_type == "github":
|
if previous_rev != app_rev and forge_type == "github":
|
||||||
|
|
||||||
url = "https://api.github.com/repos/{}/{}/compare/{}...{}".format(owner, repo, previous_rev, app_branch)
|
url = "https://api.github.com/repos/{}/{}/compare/{}...{}".format(owner, repo, previous_rev, app_rev)
|
||||||
diff = get_json(url)
|
diff = get_json(url)
|
||||||
|
|
||||||
if not diff or not diff["commits"]:
|
if diff and diff["commits"]:
|
||||||
app_rev = previous_rev if previous_rev != 'HEAD' else app_rev
|
# Only if those files got updated, do we want to update the
|
||||||
|
# commit (otherwise that would trigger an unecessary upgrade)
|
||||||
|
ignore_files = [ "README.md", "LICENSE", ".gitignore", "check_process", ".travis.yml" ]
|
||||||
|
diff_files = [ f for f in diff["files"] if f["filename"] not in ignore_files ]
|
||||||
|
|
||||||
|
if diff_files:
|
||||||
|
print("This app points to HEAD and significant changes where found between HEAD and previous commit")
|
||||||
|
app_rev = diff["commits"][-1]["sha"]
|
||||||
else:
|
else:
|
||||||
# Only if those files got updated, do we want to update the
|
print("This app points to HEAD but no significant changes where found compared to HEAD, so keeping the previous commit")
|
||||||
# commit (otherwise that would trigger an unecessary upgrade)
|
app_rev = previous_rev
|
||||||
ignore_files = [ "README.md", "LICENSE", ".gitignore", "check_process", ".travis.yml" ]
|
|
||||||
diff_files = [ f for f in diff["files"] if f["filename"] not in ignore_files ]
|
|
||||||
|
|
||||||
if diff_files:
|
|
||||||
print("This app points to HEAD and significant changes where found between HEAD and previous commit")
|
|
||||||
app_rev = diff["commits"][-1]["sha"]
|
|
||||||
else:
|
|
||||||
print("This app points to HEAD but no significant changes where found compared to HEAD, so keeping the previous commit")
|
|
||||||
app_rev = previous_rev if previous_rev != 'HEAD' else app_rev
|
|
||||||
|
|
||||||
print("Previous commit : %s" % previous_rev)
|
print("Previous commit : %s" % previous_rev)
|
||||||
print("Current commit : %s" % app_rev)
|
print("Current commit : %s" % app_rev)
|
||||||
|
|
||||||
if previous_rev == app_rev and previous_url == app_url:
|
if previous_rev == app_rev and previous_url == app_url and app in already_built_file:
|
||||||
print("Already up to date, ignoring")
|
print("Already up to date, ignoring")
|
||||||
result_dict[app] = already_built_file[app]
|
result_dict[app] = already_built_file[app]
|
||||||
if previous_state != app_state:
|
if previous_state != app_state:
|
||||||
|
@ -235,7 +233,7 @@ for app, info in apps_list.items():
|
||||||
result_dict[app]["high_quality"] = app_high_quality
|
result_dict[app]["high_quality"] = app_high_quality
|
||||||
print("... but high_quality status changed, updating it from '%s' to '%s'" % (previous_high_quality, app_high_quality))
|
print("... but high_quality status changed, updating it from '%s' to '%s'" % (previous_high_quality, app_high_quality))
|
||||||
|
|
||||||
print "update translations but don't download anything"
|
print("update translations but don't download anything")
|
||||||
result_dict[app]['manifest'] = include_translations_in_manifest(app, result_dict[app]['manifest'])
|
result_dict[app]['manifest'] = include_translations_in_manifest(app, result_dict[app]['manifest'])
|
||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -1 +1,8 @@
|
||||||
{}
|
{
|
||||||
|
"testupgrade_manifest_arguments_install_domain": "Elige un dominio para TestUpgrade",
|
||||||
|
"testupgrade_manifest_arguments_install_help_path": "Esta es la ruta URL de tu aplicación, no es tu ruta del sistema",
|
||||||
|
"testupgrade_manifest_arguments_install_is_public": "Esto es un sitio publico ?",
|
||||||
|
"testupgrade_manifest_arguments_install_path": "Selecciona una ruta para TestUpgrade",
|
||||||
|
"testupgrade_manifest_arguments_install_test_translation_generation": "Alguna cadena aleatoria para ver si esto está incluido en es.json",
|
||||||
|
"testupgrade_manifest_description": "Aplicación ficticia para probar la actualización. Propósito de desarrollo."
|
||||||
|
}
|
||||||
|
|
|
@ -1,110 +1,127 @@
|
||||||
{
|
{
|
||||||
"agendav_manifest_arguments_install_domain": "Elija un dominio para AgenDAV",
|
"agendav_manifest_arguments_install_domain": "Elige un dominio para AgenDAV",
|
||||||
"agendav_manifest_arguments_install_language": "",
|
"agendav_manifest_arguments_install_language": "Idioma predeterminado para ser utilizado en AgenDAV",
|
||||||
"agendav_manifest_arguments_install_path": "",
|
"agendav_manifest_arguments_install_path": "Elige una ruta para AgenDAV",
|
||||||
"agendav_manifest_description": "",
|
"agendav_manifest_description": "cliente web CalDAV",
|
||||||
"ampache_manifest_arguments_install_admin": "",
|
"ampache_manifest_arguments_install_admin": "Elija el administrador de Ampache (debe existir un usuario de YunoHost)",
|
||||||
"ampache_manifest_arguments_install_domain": "Elija un dominio para Ampache",
|
"ampache_manifest_arguments_install_domain": "Elija un nombre de dominio para Ampache",
|
||||||
"ampache_manifest_arguments_install_path": "",
|
"ampache_manifest_arguments_install_is_public": "¿Es una aplicación pública?",
|
||||||
"ampache_manifest_description": "",
|
"ampache_manifest_arguments_install_path": "Elija una ruta para Ampache",
|
||||||
"baikal_manifest_arguments_install_domain": "Elija un dominio para Baikal",
|
"ampache_manifest_description": "Una aplicación de transmisión de audio / video basada en la web",
|
||||||
"baikal_manifest_arguments_install_password": "",
|
"baikal_manifest_arguments_install_domain": "Choose a domain for Ba\u00efkal",
|
||||||
"baikal_manifest_arguments_install_path": "",
|
"baikal_manifest_arguments_install_password": "Set the password for the administration",
|
||||||
"baikal_manifest_description": "",
|
"baikal_manifest_arguments_install_path": "Choose a path for Ba\u00efkal",
|
||||||
"dokuwiki_manifest_arguments_install_admin": "",
|
"baikal_manifest_description": "Lightweight CalDAV+CardDAV server",
|
||||||
"dokuwiki_manifest_arguments_install_domain": "",
|
"dokuwiki_manifest_arguments_install_admin": "Choose an admin user",
|
||||||
"dokuwiki_manifest_arguments_install_is_public": "",
|
"dokuwiki_manifest_arguments_install_domain": "Choose a domain for DokuWiki",
|
||||||
"dokuwiki_manifest_arguments_install_path": "",
|
"dokuwiki_manifest_arguments_install_is_public": "Is it a public DokuWiki site ?",
|
||||||
"dokuwiki_manifest_description": "DokuWiki es un sistema de Wiki de uso sencillicimo y compatible con los est\u00e1ndares.",
|
"dokuwiki_manifest_arguments_install_language": "Choose the application language",
|
||||||
"etherpad_mypads_manifest_arguments_install_abiword": "",
|
"dokuwiki_manifest_arguments_install_path": "Choose a path for DokuWiki",
|
||||||
"etherpad_mypads_manifest_arguments_install_admin": "",
|
"dokuwiki_manifest_description": "DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database.",
|
||||||
"etherpad_mypads_manifest_arguments_install_domain": "",
|
"etherpad_mypads_manifest_arguments_install_abiword": "Use abiword (~260Mo) to expand export possibilities (pdf, doc) ?",
|
||||||
"etherpad_mypads_manifest_arguments_install_is_public": "",
|
"etherpad_mypads_manifest_arguments_install_admin": "Choose the Etherpad Mypads administrator (must be an existing YunoHost user)",
|
||||||
"etherpad_mypads_manifest_arguments_install_language": "",
|
"etherpad_mypads_manifest_arguments_install_domain": "Choose a domain for Etherpad Mypads.",
|
||||||
"etherpad_mypads_manifest_arguments_install_password": "",
|
"etherpad_mypads_manifest_arguments_install_export": "Use abiword (~260Mo) or libreoffice (~400Mo) (more stable) to expand export possibilities (pdf, doc) ?",
|
||||||
"etherpad_mypads_manifest_description": "",
|
"etherpad_mypads_manifest_arguments_install_help_is_public": "If your etherpad instance is public, everyone will be able to create a pad or see an existing one.",
|
||||||
"hextris_manifest_arguments_install_domain": "",
|
"etherpad_mypads_manifest_arguments_install_help_mypads": "<a href=https://git.framasoft.org/framasoft/ep_mypads target=_blank>mypads plugin</a>",
|
||||||
"hextris_manifest_arguments_install_is_public": "",
|
"etherpad_mypads_manifest_arguments_install_help_path": "If you choose to install mypads plugin, etherpad has to be on /",
|
||||||
"hextris_manifest_arguments_install_path": "",
|
"etherpad_mypads_manifest_arguments_install_help_useldap": "Using ldap won't let you add new user aside from YunoHost users.",
|
||||||
"hextris_manifest_description": "",
|
"etherpad_mypads_manifest_arguments_install_is_public": "Is it a public website?",
|
||||||
"jirafeau_manifest_arguments_install_admin_user": "",
|
"etherpad_mypads_manifest_arguments_install_language": "Choose your language",
|
||||||
"jirafeau_manifest_arguments_install_domain": "",
|
"etherpad_mypads_manifest_arguments_install_mypads": "Do you want to install mypads plugin ?",
|
||||||
"jirafeau_manifest_arguments_install_is_public": "",
|
"etherpad_mypads_manifest_arguments_install_password": "Set the administrator password (between 8 and 30 characters)",
|
||||||
"jirafeau_manifest_arguments_install_path": "",
|
"etherpad_mypads_manifest_arguments_install_path": "Choose a path for Etherpad",
|
||||||
"jirafeau_manifest_arguments_install_upload_password": "",
|
"etherpad_mypads_manifest_arguments_install_useldap": "Do you want to use ldap with mypads ?",
|
||||||
"jirafeau_manifest_description": "",
|
"etherpad_mypads_manifest_description": "Framapad clone, a online editor providing collaborative editing in real-time.",
|
||||||
"kanboard_manifest_arguments_install_admin": "",
|
"hextris_manifest_arguments_install_domain": "Choose a domain for Hextris",
|
||||||
"kanboard_manifest_arguments_install_domain": "",
|
"hextris_manifest_arguments_install_is_public": "Is it a public application?",
|
||||||
"kanboard_manifest_arguments_install_is_public": "",
|
"hextris_manifest_arguments_install_path": "Choose a path for Hextris",
|
||||||
"kanboard_manifest_arguments_install_path": "",
|
"hextris_manifest_description": "A fast paced puzzle game.",
|
||||||
"kanboard_manifest_description": "",
|
"jirafeau_manifest_arguments_install_admin_user": "Choose an admin user (will be able to access admin.php page)",
|
||||||
"my_webapp_manifest_arguments_install_domain": "",
|
"jirafeau_manifest_arguments_install_domain": "Choose a domain for Jirafeau",
|
||||||
"my_webapp_manifest_arguments_install_is_public": "",
|
"jirafeau_manifest_arguments_install_is_public": "Is it a public Jirafeau site?",
|
||||||
"my_webapp_manifest_arguments_install_password": "",
|
"jirafeau_manifest_arguments_install_path": "Choose a path for Jirafeau",
|
||||||
"my_webapp_manifest_arguments_install_path": "",
|
"jirafeau_manifest_arguments_install_upload_password": "Set the password granting upload permissions (leave empty to allow anybody to upload)",
|
||||||
"my_webapp_manifest_arguments_install_with_mysql": "",
|
"jirafeau_manifest_description": "Upload a file in a simple way and give a unique link to it",
|
||||||
"my_webapp_manifest_description": "",
|
"kanboard_manifest_arguments_install_admin": "Choose the admin user for Kanboard",
|
||||||
"nextcloud_manifest_arguments_install_admin": "",
|
"kanboard_manifest_arguments_install_domain": "Choose a domain for Kanboard",
|
||||||
"nextcloud_manifest_arguments_install_domain": "",
|
"kanboard_manifest_arguments_install_is_public": "Is it a public site ?",
|
||||||
"nextcloud_manifest_arguments_install_path": "",
|
"kanboard_manifest_arguments_install_path": "Choose a path for Kanboard",
|
||||||
"nextcloud_manifest_arguments_install_user_home": "",
|
"kanboard_manifest_description": "Kanboard is a simple visual task board web application",
|
||||||
"nextcloud_manifest_description": "",
|
"my_webapp_manifest_arguments_install_domain": "Choose a domain for your Webapp",
|
||||||
"opensondage_manifest_arguments_install_admin": "",
|
"my_webapp_manifest_arguments_install_is_public": "Is it a public website?",
|
||||||
"opensondage_manifest_arguments_install_domain": "",
|
"my_webapp_manifest_arguments_install_password": "Set the password for the SFTP access. \u2265 5 character",
|
||||||
"opensondage_manifest_arguments_install_is_public": "",
|
"my_webapp_manifest_arguments_install_path": "Choose a path for your Webapp",
|
||||||
"opensondage_manifest_arguments_install_language": "",
|
"my_webapp_manifest_arguments_install_with_mysql": "Do you need a MySQL database?",
|
||||||
"opensondage_manifest_arguments_install_path": "",
|
"my_webapp_manifest_description": "Custom Web app with SFTP access",
|
||||||
"opensondage_manifest_description": "",
|
"nextcloud_manifest_arguments_install_admin": "Choose the Nextcloud administrator (must be an existing YunoHost user)",
|
||||||
"phpmyadmin_manifest_arguments_install_admin": "",
|
"nextcloud_manifest_arguments_install_domain": "Choose a domain for Nextcloud",
|
||||||
"phpmyadmin_manifest_arguments_install_domain": "",
|
"nextcloud_manifest_arguments_install_path": "Choose a path for Nextcloud",
|
||||||
"phpmyadmin_manifest_arguments_install_path": "",
|
"nextcloud_manifest_arguments_install_user_home": "Access the users home folder from Nextcloud?",
|
||||||
"phpmyadmin_manifest_description": "",
|
"nextcloud_manifest_description": "Access & share your files, calendars, contacts, mail & more from any device, on your terms",
|
||||||
"piwigo_manifest_arguments_install_admin": "",
|
"opensondage_manifest_arguments_install_admin": "Choose the OpenSondage administrator (must be an existing YunoHost user)",
|
||||||
"piwigo_manifest_arguments_install_domain": "",
|
"opensondage_manifest_arguments_install_domain": "Choose a domain for OpenSondage",
|
||||||
"piwigo_manifest_arguments_install_is_public": "",
|
"opensondage_manifest_arguments_install_is_public": "Can non-members create a poll?",
|
||||||
"piwigo_manifest_arguments_install_language": "",
|
"opensondage_manifest_arguments_install_language": "Choose the default language of this OpenSondage",
|
||||||
"piwigo_manifest_arguments_install_path": "",
|
"opensondage_manifest_arguments_install_path": "Choose a path for OpenSondage",
|
||||||
"piwigo_manifest_description": "",
|
"opensondage_manifest_description": "OpenSondage is an online service for planning an appointment or making a decision quickly and easily. No registration is required.",
|
||||||
"rainloop_manifest_arguments_install_domain": "",
|
"phpmyadmin_manifest_arguments_install_admin": "Choose the only allowed admin user",
|
||||||
"rainloop_manifest_arguments_install_is_public": "",
|
"phpmyadmin_manifest_arguments_install_domain": "Choose a domain for phpMyAdmin",
|
||||||
"rainloop_manifest_arguments_install_lang": "",
|
"phpmyadmin_manifest_arguments_install_path": "Choose a path for phpMyAdmin",
|
||||||
"rainloop_manifest_arguments_install_ldap": "",
|
"phpmyadmin_manifest_description": "Manage MySQL databases over the web",
|
||||||
"rainloop_manifest_arguments_install_password": "",
|
"piwigo_manifest_arguments_install_admin": "Choose an admin user",
|
||||||
"rainloop_manifest_arguments_install_path": "",
|
"piwigo_manifest_arguments_install_domain": "Choose a domain for Piwigo",
|
||||||
"rainloop_manifest_description": "",
|
"piwigo_manifest_arguments_install_is_public": "Is it a public application?",
|
||||||
"roundcube_manifest_arguments_install_domain": "",
|
"piwigo_manifest_arguments_install_language": "Choose the application language",
|
||||||
"roundcube_manifest_arguments_install_path": "",
|
"piwigo_manifest_arguments_install_path": "Choose a path for Piwigo",
|
||||||
"roundcube_manifest_arguments_install_with_carddav": "",
|
"piwigo_manifest_description": "photo gallery",
|
||||||
"roundcube_manifest_description": "",
|
"rainloop_manifest_arguments_install_domain": "Choose a domain name for Rainloop",
|
||||||
"searx_manifest_arguments_install_domain": "",
|
"rainloop_manifest_arguments_install_is_public": "Is it a public application?",
|
||||||
"searx_manifest_arguments_install_is_public": "",
|
"rainloop_manifest_arguments_install_lang": "Select default language",
|
||||||
"searx_manifest_arguments_install_path": "",
|
"rainloop_manifest_arguments_install_ldap": "Do you want to add YunoHost users to the recipients suggestions?",
|
||||||
"searx_manifest_description": "",
|
"rainloop_manifest_arguments_install_password": "Set the administrator password",
|
||||||
"shellinabox_manifest_arguments_install_domain": "",
|
"rainloop_manifest_arguments_install_path": "Choose a path for Rainloop",
|
||||||
"shellinabox_manifest_arguments_install_path": "",
|
"rainloop_manifest_description": "Lightweight multi-account webmail",
|
||||||
"shellinabox_manifest_description": "",
|
"roundcube_manifest_arguments_install_domain": "Choose a domain for Roundcube",
|
||||||
"strut_manifest_arguments_install_domain": "",
|
"roundcube_manifest_arguments_install_path": "Choose a path for Roundcube",
|
||||||
"strut_manifest_arguments_install_path": "",
|
"roundcube_manifest_arguments_install_with_carddav": "Install CardDAV synchronization plugin?",
|
||||||
"strut_manifest_arguments_install_public_site": "",
|
"roundcube_manifest_arguments_install_with_enigma": "Install Enigma messages encryption plugin?",
|
||||||
"strut_manifest_description": "",
|
"roundcube_manifest_description": "Open Source Webmail software",
|
||||||
"synapse_manifest_arguments_install_domain": "",
|
"searx_manifest_arguments_install_domain": "Choose a domain for Searx",
|
||||||
"synapse_manifest_arguments_install_is_public": "",
|
"searx_manifest_arguments_install_is_public": "Is it a public Searx site ?",
|
||||||
"synapse_manifest_description": "",
|
"searx_manifest_arguments_install_path": "Choose a path for Searx",
|
||||||
"transmission_manifest_arguments_install_domain": "",
|
"searx_manifest_description": "A privacy-respecting, hackable metasearch engine",
|
||||||
"transmission_manifest_arguments_install_path": "",
|
"shellinabox_manifest_arguments_install_domain": "Choose a domain for Shell In A Box",
|
||||||
"transmission_manifest_description": "",
|
"shellinabox_manifest_arguments_install_path": "Choose a path for Shell In A Box",
|
||||||
"ttrss_manifest_arguments_install_domain": "",
|
"shellinabox_manifest_description": "Web based AJAX terminal emulator",
|
||||||
"ttrss_manifest_arguments_install_path": "",
|
"strut_manifest_arguments_install_domain": "Choose a domain for Strut",
|
||||||
"ttrss_manifest_description": "",
|
"strut_manifest_arguments_install_is_public": "Could non member create presentations ?",
|
||||||
"wordpress_manifest_arguments_install_admin": "",
|
"strut_manifest_arguments_install_path": "Choose a path for Strut",
|
||||||
"wordpress_manifest_arguments_install_domain": "",
|
"strut_manifest_arguments_install_public_site": "Could non member create presentations ?",
|
||||||
"wordpress_manifest_arguments_install_is_public": "",
|
"strut_manifest_description": "Strut is a slide editor creating impress.js presentations.",
|
||||||
"wordpress_manifest_arguments_install_language": "",
|
"synapse_manifest_arguments_install_domain": "Choose a domain for Synapse",
|
||||||
"wordpress_manifest_arguments_install_multisite": "",
|
"synapse_manifest_arguments_install_is_public": "Is it a public server ?",
|
||||||
"wordpress_manifest_arguments_install_path": "",
|
"synapse_manifest_description": "Instant messaging server who use matrix",
|
||||||
"wordpress_manifest_description": "",
|
"transmission_manifest_arguments_install_domain": "Choose a domain for Transmission",
|
||||||
"zerobin_manifest_arguments_install_domain": "",
|
"transmission_manifest_arguments_install_path": "Choose a path for Transmission",
|
||||||
"zerobin_manifest_arguments_install_is_public": "",
|
"transmission_manifest_description": "A Fast, Easy, and Free BitTorrent Client",
|
||||||
"zerobin_manifest_arguments_install_path": "",
|
"ttrss_manifest_arguments_install_domain": "Choose a domain for Tiny-Tiny-RSS",
|
||||||
"zerobin_manifest_description": ""
|
"ttrss_manifest_arguments_install_path": "Choose a path for Tiny-Tiny-RSS",
|
||||||
|
"ttrss_manifest_description": "A PHP and Ajax feed reader",
|
||||||
|
"wallabag2_manifest_arguments_install_admin": "Choose the Wallabag administrator",
|
||||||
|
"wallabag2_manifest_arguments_install_domain": "Choose a domain for Wallabag",
|
||||||
|
"wallabag2_manifest_arguments_install_path": "Choose a path for Wallabag",
|
||||||
|
"wallabag2_manifest_description": "A self hostable read-it-later app",
|
||||||
|
"wordpress_manifest_arguments_install_admin": "Choose the WordPress administrator (must be an existing YunoHost user)",
|
||||||
|
"wordpress_manifest_arguments_install_domain": "Choose a domain for WordPress",
|
||||||
|
"wordpress_manifest_arguments_install_help_is_public": "A public wordpress will be publicly visible for everyone. If you're looking for a public blog, you should choose to install a public wordpress.",
|
||||||
|
"wordpress_manifest_arguments_install_is_public": "Is it a public WordPress site ?",
|
||||||
|
"wordpress_manifest_arguments_install_language": "Choose the language of the WordPress site",
|
||||||
|
"wordpress_manifest_arguments_install_multisite": "Enable multisite option ?",
|
||||||
|
"wordpress_manifest_arguments_install_path": "Choose a path for WordPress",
|
||||||
|
"wordpress_manifest_description": "Create a beautiful blog or website easily",
|
||||||
|
"zerobin_manifest_arguments_install_domain": "Choose a domain for Zerobin",
|
||||||
|
"zerobin_manifest_arguments_install_is_public": "Is it a public Zerobin site ?",
|
||||||
|
"zerobin_manifest_arguments_install_path": "Choose a path for Zerobin",
|
||||||
|
"zerobin_manifest_description": "A minimalist, opensource online pastebin where the server has zero knowledge of pasted data"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"20euros_manifest_arguments_install_domain": "Choose a domain for 20euros",
|
"20euros_manifest_arguments_install_domain": "Choose a domain for 20euros",
|
||||||
"20euros_manifest_arguments_install_is_public": "Is it a public game?",
|
"20euros_manifest_arguments_install_is_public": "Is it a public game?",
|
||||||
"20euros_manifest_arguments_install_path": "Choose a path for 20euros",
|
"20euros_manifest_arguments_install_path": "Choose a route for the domain of 20 euros",
|
||||||
"20euros_manifest_description": "2048 - 20euros",
|
"20euros_manifest_description": "2048 - 20euros",
|
||||||
"243_manifest_arguments_install_domain": "Choose a domain for 243",
|
"243_manifest_arguments_install_domain": "Choose a domain for 243",
|
||||||
"243_manifest_arguments_install_is_public": "Is it a public game?",
|
"243_manifest_arguments_install_is_public": "Is it a public game?",
|
||||||
|
|
2040
locales/es.json
2040
locales/es.json
File diff suppressed because it is too large
Load diff
|
@ -1,14 +0,0 @@
|
||||||
import json
|
|
||||||
|
|
||||||
community = json.loads(open("community.json").read())
|
|
||||||
official = json.loads(open("official.json").read())
|
|
||||||
|
|
||||||
# Add high quality and set working state for official apps
|
|
||||||
for app, infos in official.items():
|
|
||||||
infos["high_quality"] = True
|
|
||||||
infos["state"] = "working"
|
|
||||||
|
|
||||||
merged = community
|
|
||||||
merged.update(official)
|
|
||||||
|
|
||||||
open("apps.json", "w").write(json.dumps(merged, sort_keys=True, indent=4, separators=(',', ': ')))
|
|
|
@ -2,7 +2,7 @@
|
||||||
- *Description of why you made this PR*
|
- *Description of why you made this PR*
|
||||||
|
|
||||||
## Solution
|
## Solution
|
||||||
- *And how do you fix that problem*
|
- *And how you fix that problem*
|
||||||
|
|
||||||
## PR Status
|
## PR Status
|
||||||
- [ ] Code finished.
|
- [ ] Code finished.
|
||||||
|
|
Loading…
Add table
Reference in a new issue