Commit graph

283 commits

Author SHA1 Message Date
Alexandre Aubin
5ae558edc9 [fix] Clean madness related to DynDNS (#353)
* Add a function to check if a dyndns provider provides a domain
* Add a function to check a domain availability from a dyndns provider
* Use new functions in dyndns_subscribe
* Replace complete madness by _dyndns_available in dyndns_update
* This regex is only used in dyndns_update, no need to define it at the whole file scope level
* Try to clarify management of old ipv4/ipv6 ...
* Add a nice helper to get both ipv4 and ipv6...
* Clarify the dyndns_update madness to get current ipv4/v6
* Remove now useless IPRouteLine
* Change default values of old ipv4/v6 to None, otherwise shit gets update just because IPv6 = None
* Rearrange thing a bit, move path to global variable
* Copypasta typo
* Dyndns zone file as a global variable
* Use helper to write zone content to file
* Adding some debugs/info messages
* Move the domain guessing to a dedicated function...
* Adding comments..
* Using subprocess check_call instead of os.system for nsupdate
* Removing dump of the zone update because it's kinda duplicated from what nsupdate already does
* Ignore error if old_ipvx file is non existent
* Add docstring for _dyndns_available
* Remove parenthesis otherwise this gonna displease Bram-sama :P
* Start working on postinstall .. use _dyndns_provides to check if domain is a .nohost.me or .nohost.st
* Use _dyndns_available to cleanly check for domain availability
* Forget about the weird 'domain split' check...
* Clean dyndns stuff in domain.py
* Missing argument for string
2017-10-08 23:44:07 +02:00
Weblate Admin
43dbf03ac8 Translated using Weblate (French)
Currently translated at 100.0% (353 of 353 strings)

Translation: YunoHost/YunoHost
Translate-URL: https://holcroft.fr/weblate/projects/yunohost/yunohost/fr/
2017-10-04 12:26:28 +02:00
YunoHost Bot
2a49613e59 Update from Weblate. (#355)
* [i18n] Translated using Weblate (French)

Currently translated at 100.0% (351 of 351 strings)

* [i18n] Translated using Weblate (French)

Currently translated at 100.0% (351 of 351 strings)
2017-10-02 19:56:31 +02:00
JimboJoe
1086a50eb2 Fix #1005 (add missing 'ask_path' key) (#369) 2017-09-13 19:35:29 +02:00
Laurent Peuch
fea6d3568f [fix] previous string was expecting an app name but we don't have any 2017-08-28 18:00:23 +02:00
Laurent Peuch
66524213cd Merge pull request #348 from YunoHost/clean_domains.py
Clean domains.py
2017-08-19 20:23:31 +02:00
Laurent Peuch
8567164d58 Merge pull request #346 from YunoHost/fix-559-dns-conf-is-not-actual-conf
[fix] Tell user that domain dns-conf shows a recommendation only
2017-08-18 03:24:48 +02:00
Laurent Peuch
4c069c5c3f [mod] fails when registering dynette domain and that dynette can't be reached 2017-08-13 23:32:50 +02:00
ljf (zamentur)
bb4af396d8 [fix] Make read-only mount bind actually read-only (#343)
* [fix] Mount bind readonly not really readonly
* Attempt to clarify and fix some issues with the readonly mount
* Fix some missing messages and exception handling
* Get rid of horrible bash command
* Use subproces.check_call to avoid security hazard
* Revert comment about hard link
* Add test that mount binds are readonly
2017-08-13 22:28:36 +02:00
Alexandre Aubin
1f7d56940e [fix] Tell user that domain dns-conf shows a recommendation only 2017-08-13 14:00:15 -04:00
Laurent Peuch
02ea0c0656 [enh] Add reboot/shutdown actions in tools (#190)
* [enh] Implements shutdown/reboot helpers.
* [enh] Improve reboot/shutdown help.
2017-08-11 16:16:09 +02:00
YunoHost Bot
7054f8a5bf Update from Weblate. (#340)
* Added translation using Weblate (Russian)
* [i18n] Translated using Weblate (Russian)

Currently translated at 2.4% (8 of 332 strings)
2017-08-07 18:23:53 +02:00
Laurent Peuch
a441f37454 Migration framework (#195)
* [enh] list migrations
* [enh] first version of the migrate command
* [mod] add todo comment
* [mod] migrate command shouldn't return anything
* [mod] rename yunohost_migrations to data_migrations
* [mod] better regex
* [enh] had base class for migration
* [fix] inverted condition
* [enh] save last runned migration
* [enh] add migrations state command
* [mod] add todo comments
* [mod] error handling
* [mod] DRY
* [doc] more comment
* [enh] handle exceptions on migration
* [mod] error handling
* [mod] DRY
* [enh] error handling
* [mod] this is done earlier
* [doc] docstring
* [enh] handle fail to load migration case
* [doc] add TODO Comment
* [fix] typos, thx ju
* [enh] add a migration to remove archivemount (as an example)
* [fix] check_call is boring
* [enh] support forward/backward migrations
* [mod] I don't need auth
* [fix] apt is expecting input...
* [mod] save it as int
* [mod] add some logging
* [doc] update todo
* [fix] I also need to run backward latest runed migration
* [enh] add target cli argument
* [enh] fake migration
* [enh] uniformly convert to int at the same place
* [fix] we need to filename now
* [enh] validate input
* [enh] handle 0 special case
* [mod] rename fake to skip
* [mod] s/runed/run/g
* [doc] anglich typo in comments
* [mod] more explicit error message
* [mod] more typo
* [doc] put comment in the right place
* [mod] typo
* [fix] forgot to cape migrations by target
* [fix] typo
* [mod] uses moulinette helpers
* [enh] launch migrations during package upgrade
* [mod] remove unused import
* [mod] sort translation keys
* [enh] i18n
* [fix] missing __init__.py in data_migrations
* [mod] move to a subcategory
* Typo / caps / consistency
* [fix] forgot that migrations is now in tools, in postinst
* Skip migrations during postinstall
* Remove archivemount example migration
It relied on apt-get, which can't be used during 'postinst' debian scripts because we're already inside a apt
* Add migration for cert group from 'metronome' to 'ssl-cert'
2017-08-07 15:55:18 +02:00
opi
535f36b1c1 [fix] Properly catch Invalid manifest json with ValueError. (#324)
* [fix] Properly catch Invalid manifest json with ValueError.
* [fix] display detailed error in every case for invalid manifest
2017-08-07 15:29:53 +02:00
YunoHost Bot
a8eac8ac42 Update from Weblate. (#323)
* [i18n] Translated using Weblate (Spanish)
* [i18n] Translated using Weblate (German)
* [i18n] Translated using Weblate (French)
2017-06-21 21:32:18 +02:00
YunoHost Bot
8948694610 Update from Weblate. (#318)
* [i18n] Translated using Weblate (Spanish)
Currently translated at 97.9% (281 of 287 strings)

* [i18n] Translated using Weblate (German)
Currently translated at 96.8% (278 of 287 strings)

* [i18n] Translated using Weblate (French)
Currently translated at 95.3% (287 of 301 strings)

* [i18n] Translated using Weblate (French)
Currently translated at 100.0% (301 of 301 strings)
2017-06-02 14:55:06 +02:00
ljf (zamentur)
d3eeb4bbc7 [enh] Refactor backup management to pave the way to borg (#275)
* [enh] Use a csv to list file to backup
* [enh] Use csv python module
* [wip] Backup refactoring
* [wip] Backup class refactoring
* [enh] Add archivemount dependencies
* [wip] Restore refactoring
* [fix] Some error in this refactoring
* [fix] Missing backup key translation
* [fix] Bad YNH_CWD in hook backup
* [fix] App backup part was broken
* [fix] Restore operation was broken
* [fix] No compressed backup
* [fix] Don't commit backup path into csv if app backup fail
* [fix] Default backup collect_dir should be in tmp subdir
* [enh] Simplify a copy code
* [enh] Build backup info from properties
* [enh] Improve comments presentation
* Adding first tests for backup/restore
* Adding more backup/restore app test scenario
* [enh] Separate BackupMethods in distinct class
* Adding test of restoring a wordpress archive from 2.4
* [fix] Be able to delete backup link too
* [fix] Bad internationalization key
* [fix] Edge case with empty mysql pwd restore
* [fix] Unset var in restore
* [fix] Edge case with empty mysql pwd restore
* Adding test for backup crash handling
* Cleaning tests + checking tmp dir is empty
* [fix] Missing tmp in backup path
* [fix] Error on reading backup csv
* Adding test of failed restore
* Adding tests when not enough space available
* Simplifying tests using markers
* [fix] ynh backup/restore helpers with only one arg
* [fix] Unmount subdir with python
* [enh] Improve backup size management
* [fix] None object in backup
* [enh] Remove dead code
* [fix] Missing locales
* [enh] Adapat test about needed space
* [fix] Pass some test
* [enh] Remove dead code
* [enh] Pass all test
* [enh] Adding test that backups contains what's expected
* Fix typo in tests
* [fix] Bad documentation
* [enh] Add comment
* [enh] Use len in place of implicit {} == False
* [enh] Add comment
* [enh] Add comment
* [enh] Refactoring on _collect_app_files
* Adding skeleton for remaining tests to write
* [enh] Use a csv to list file to backup
* [enh] Use csv python module
* [wip] Backup refactoring
* [wip] Backup class refactoring
* [enh] Add archivemount dependencies
* [wip] Restore refactoring
* [fix] Some error in this refactoring
* [fix] Missing backup key translation
* [fix] Bad YNH_CWD in hook backup
* [fix] App backup part was broken
* [fix] Restore operation was broken
* [fix] No compressed backup
* [fix] Don't commit backup path into csv if app backup fail
* [fix] Default backup collect_dir should be in tmp subdir
* [enh] Simplify a copy code
* [enh] Build backup info from properties
* [enh] Improve comments presentation
* Adding first tests for backup/restore
* Adding more backup/restore app test scenario
* [enh] Separate BackupMethods in distinct class
* Adding test of restoring a wordpress archive from 2.4
* [fix] Be able to delete backup link too
* [fix] Bad internationalization key
* [fix] Edge case with empty mysql pwd restore
* [fix] Unset var in restore
* [fix] Edge case with empty mysql pwd restore
* Adding test for backup crash handling
* Cleaning tests + checking tmp dir is empty
* [fix] Missing tmp in backup path
* [fix] Error on reading backup csv
* Adding test of failed restore
* Adding tests when not enough space available
* Simplifying tests using markers
* [fix] ynh backup/restore helpers with only one arg
* [fix] Unmount subdir with python
* [enh] Improve backup size management
* [fix] None object in backup
* [enh] Remove dead code
* [fix] Missing locales
* [enh] Adapat test about needed space
* [fix] Pass some test
* [enh] Remove dead code
* [enh] Pass all test
* [enh] Adding test that backups contains what's expected
* Fix typo in tests
* [fix] Bad documentation
* Adding skeleton for remaining tests to write
* [enh] Add comment
* [enh] Use len in place of implicit {} == False
* [enh] Add comment
* [enh] Add comment
* [enh] Refactoring on _collect_app_files
* [fix] Replay e1a507 deleted by rebase
* [fix] ynh_restore helper
* Renaming 'hooks' terminology to 'system' where it makes sense
* Propagating new --system/--ignore-system to actionmap
* Adding more tests + clarifying some functions and messages
* Factorize out the definition and validation of backup/restore targets
* Add missing key
* Use list comprehension instead of dirty loops
* [enh] Add docstring in BackupManager
* [enh] Add docstring on BackupMethod(s)
* [fix] Remove deadcode
* [fix] Remove debug message
* [enh] Add comments on RestoreManager
* [enh] Add comments on backup constants
* Adding a proper report/result for each backup target
* Skipping tests not implemented yet
* Fixing little mistake from merging
* [fix] Support different fs or archivemount error
* [enh] Backup helpers readability
* [fix] Copy backup method
* [fix] Deprecated warning always displayed
* [enh] Retrieve info.json file inside tar.gz
* Trying to reorganize methods with sections for readability
* [enh] Support archivemount failure
* [fix] Missing env var for system part restore helpers
* Clarifying disk usage / free space computation
* [enh] Refactoring around backup set_targets()
* Clarifying structure of backup_create and backup_restore
* Move RestoreManager between BackupManager and BackupMethods
* [fix] Missing locales
* [fix] System part restore if archivemount failure
* [enh] Extract all conf instead of specific code
* [fix] Other output directory (compressed archive)
* [enh] Add test for uncompressed backup
* [fix] Compressed backup in an existing output directory
* [fix] Return size for retro-compatibility
* [fix] Mountpoint check aborting script when called with -eu
* [fix] Avoid failure test with set -eu
* [fix] locale strings missing/bad arguments
* Check free space before mount
* [fix] ynh_restore_helpers with existing archive path
* Adding skeletons for moar tests
* Fixing some weird bug in _get_archive_path
* Adding a regen-conf at the end of system restore
* Adding tests of system restore from 2.4
* Have a class dedicated to target management
* Cleaning tests
* Misc formatting
* More meaningful variable names inside app restore
* [fix] can't call source ../settings/scripts/_common.sh in app backup
* [fix] ynh_install_app_dependencies is not compatible with readonly mount
* [fix] Remove temporary file
2017-06-02 13:41:16 +02:00
Jean-Baptiste
64ab4a82b3 [fix] Yypos in en.json (#314)
* serialzed => serialized
* typo close global_settings_key_doesnt_exists
* serialized/serialize & setings/settings
2017-05-31 17:06:40 +02:00
Alexandre Aubin
7af130d81b Allow regen-conf to manage new files already when they're already present on the system (#311) 2017-05-22 15:24:47 +02:00
opi
c0146b69c6 [fix] Wrong identifier for diagnosis related strings. (#309) 2017-05-22 15:23:24 +02:00
Laurent Peuch
f9437bbd33 Global settings (#229)
* [enh] add base to run tests
* [enh] start global settings proto
* [mod] has -> exists
* [enh] configure actionmap for settings module
* [enh] add a default values mecanism
* [enh] nicer yaml dump
* [mod] DRY
* [fix] moulinette doesn't respect positionned arguments
* [fix] typo
* [mod] don't print when it's not needed
* [enh] raise a moulinette exception when the key doesn't exists
* [mod] add todo comments
* [mod] no more default value
* [enh] namespace all global settings commands
* [mod] unix way, be quiet except when needed
* [fix] forgot to add namespace argument to settings-list
* [fix] fail_silently wasn't considered as a cli flag
* [mod] refactoring
* [enh] remove empty namespace on remove
* [enh] print a warning if attempt to list an empty namespace settings
* [mod] refactoring
* [enh] handle case where I can't open settings file
* [enh] handle case where I can't write settings file
* [enh] handle case where I can't serialized settings data into yaml
* [mod] add error return codes
* [enh] start to move to new architecture for settings
* [enh] uses a dict instead of a tuple for settings
* [mod] no more namespace in settings list
* [mod] settings.exists isn't relevant anymore
* [mod] settings.remove isn't relevant anymore
* [enh] fix settings and switch to json
* [enh] adapt settings set
* [enh] don't set a key that doesn't exists
* [enh] check type of keys before settings them
* [enh] start implement default
* [enh] handle case where key doesnt exist for default
* [enh] i18n for bad key type on settings set
* [enh] i18n for bad key type on settings set for enum
* [mod] exception for weird situation
* [mod] this message isn't used anymore
* [enh] i18n for unknown setting key from local settings
* [mod] style
* [enh] start to work on a reset mecanism
* [enh] complain if settings_reset is called without yes
* [fix] --yes of reset is a boolean option
* [enh] backup old settings before resetting
* [fix] bad usage of logger
* [enh] backup unknown settings
* [enh] move settings description in translations
* [enh] add tests for settings
* [enh] migrate to pytest assert style
* [fix] typo
* [doc] add some comments for not explicite part of the code
* [mod] possibilities -> choices for uniformised vocabulary
* [mod] follow rest semantic
* [doc] made namespace usage more explicit
* [fix] we don't use namespace key anymore
* [enh] make settings_default available in cli
* [fix] *really* be Rest semantic
* [doc] add docstrings to settings module functions
* [enh] reset-all and --full option
* [fix] Remove unused global_settings_reset_not_yes
2017-05-16 17:18:07 +02:00
Jean-Baptiste Holcroft
883fe46d89 [i18n] Translated using Weblate (French)
Currently translated at 100.0% (287 of 287 strings)
2017-04-24 13:39:39 +02:00
Jean-Baptiste Holcroft
6e3b67a843 [i18n] Translated using Weblate (French)
Currently translated at 100.0% (278 of 278 strings)
2017-04-24 13:39:39 +02:00
Jeroen Keerl
0088483835 [i18n] Translated using Weblate (German)
Currently translated at 98.9% (275 of 278 strings)
2017-04-24 13:39:38 +02:00
Jean-Baptiste Holcroft
b6b66f231f [i18n] Translated using Weblate (French)
Currently translated at 100.0% (278 of 278 strings)
2017-04-24 13:39:38 +02:00
Jeroen Keerl
78c88dee32 [i18n] Translated using Weblate (Dutch)
Currently translated at 48.2% (134 of 278 strings)
2017-04-24 13:39:38 +02:00
Philip Gatzka
793baf9484 [i18n] Translated using Weblate (German)
Currently translated at 95.6% (266 of 278 strings)
2017-04-24 13:39:37 +02:00
Jean-Baptiste Holcroft
8687f9ef46 [i18n] Translated using Weblate (French)
Currently translated at 100.0% (278 of 278 strings)
2017-04-24 13:39:37 +02:00
Jean-Baptiste Holcroft
b1119c8289 [i18n] Translated using Weblate (French)
Currently translated at 100.0% (273 of 273 strings)
2017-04-24 13:39:37 +02:00
Jean
482410233a [i18n] Translated using Weblate (French)
Currently translated at 100.0% (273 of 273 strings)
2017-04-24 13:39:36 +02:00
Jean
067137ea82 [i18n] Translated using Weblate (Spanish)
Currently translated at 100.0% (273 of 273 strings)
2017-04-24 13:39:36 +02:00
bricabraque
82de25f6fc [i18n] Translated using Weblate (Italian)
Currently translated at 92.6% (252 of 272 strings)
2017-04-24 13:39:36 +02:00
bricabraque
89589ebaa7 [i18n] Translated using Weblate (Italian)
Currently translated at 92.2% (251 of 272 strings)
2017-04-24 13:39:35 +02:00
fummelmann
ed4fc0f7b9 [i18n] Translated using Weblate (German)
Currently translated at 100.0% (272 of 272 strings)
2017-04-24 13:39:34 +02:00
fummelmann
3eb160707a [i18n] Translated using Weblate (Spanish)
Currently translated at 100.0% (272 of 272 strings)
2017-04-24 13:39:34 +02:00
Laurent Peuch
1516f48699 [enh] Allow applications to ship a script to change its url (#185)
* [enh] add app_change_url
* [fix] avoid unecessary io and reuse already existing variable
* [fix] bad comment
* [fix] another bad comment
* [fix] I need to be able to call yunohost during change_url scripts
* [mod] global variables are now uppercased
* [mod] compress condition
* [enh] don't change_url if old/new domain_path are identical
* [mod] i18n
* [enh] ensure that nginx doesn't failed at the end of change_url
* [fix] forgot to call this damn m18n
* [mod] m18n
* [enh] ask and requires new domain/path for change_url
* [fix] missing translation key
* [mod] ordering
* [mod] lisibility
* [enh] avoid common mistakes
* [fix] check_output is annoying
* [fix] locale: typo.
* Adding changeurl unit test draft
* [mod] remove useless imports
* [mod] style
* [mod] change_url -> changeurl
* Moving comment about checkurl near checkurl call
* Normalize new path and domain format
* Adding test about trying to changeurl to same url
* Internationalizing change app success message
* Removing 'trimed' stuff
* Moving check for change_url script at beginning of function
* Use _run_service_command to reload nginx
* Changing changeurl back to change-url, gomennasai :s
2017-04-18 00:38:40 +02:00
Alexandre Aubin
5820f79772 [fix] Properly define app upgradability / Fix app part of tools update (#255)
* Adding a 'upgradable' attribute directly in app_info
Conflicts:
	src/yunohost/app.py
	src/yunohost/tools.py
* Fixing a few weird stuff from cherry-picking
2017-04-16 16:51:03 +02:00
Alexandre Aubin
f646fdf272 [fix] Split checkurl into two functions : availability + booking (#267)
* Splitting checkurl into two functions, one to check availability, the other for booking
* [fix] move import at file's beginning.
* Rename bookurl to registerurl
* Set registerurl as a PUT request for the api
* urlavailable returns a boolean now
* Revert moving import to top of file :/
* Have domain and path as separate arguments
* Flagging checkurl as deprecated in the actionmap
* Adding unit tests for registerurl and related
* Using built-in deprectation mechanism of Moulinette
* Using - separator in names + moving url-available to domain
* Returning directly a bool in url-available
2017-04-16 16:47:51 +02:00
Jean-Baptiste
804daf63bf rewrite proposal for certmanager_http_check_timeout
hairpinning is the answer to the problem, not the problem itself. We should probably rewrite the whole sentence, but to keep it simple, let's just add it is an issue related to hairpinning.
2017-04-09 16:03:02 +02:00
Jean-Baptiste
f8ace3153a new text proposal "appslist_retrieve_bad_format"
Fix: https://dev.yunohost.org/issues/895
2017-04-08 11:30:21 +02:00
Laurent Peuch
a4c487a0aa [enh] Refactor applist management (#160)
* [mod] directly use python to retreive json list

* [enh] app_fetchlist fetch all app_list by default

* [fix] name variable doesn't exists here

* [fix] re returns None when there is not matchs

* [enh] app_fetchlist fetch all app_list by default

* Some cleaning for better readability

* Simpler variable name

* Prepare a function that register lists to be fetched

* Skeletong for applist system migration

* Add implementation of migration system with tests

* Refactorize app_fetchlist

* Misc fixes + adding test for single app fetching

* Fixing a few issues + test removelist

* Adding fetchlist and cron install during postinstall

* Adding debug messages

* Adding particular exception for SSL connection error

* Update actionmap help

* We don't use urlretrieve

* Clean tests, some description were bad

* [mod] some cleaning

* Moving to a .json file to store lists url + adjusting tests

* Adding missing string in locale

* Moving exception to logger.error when fetching fails

* Adding name of applist in error messages

* Fixing cron job stuff + adding proper tests

* Using None instead of -1 for applist lastupdate

* Handling exceptions when writing applist files

* More exception handling...

* [mod] pep8

* Updating test for migration of conflicting lists

* More general error when return code is not 200

* [enh] Improve app_fetchlist help.

* [fix] Use appslist instead of applist.

* [fix] Consistent user string for translation.
2017-04-06 22:21:25 +02:00
Alexandre Aubin
86f0978dfb Cleaner postinstall logs during CA creation (#250) 2017-03-29 02:39:00 +02:00
Alexandre Aubin
5dc86e6dbf Mention limit of 30 characters in message 2017-03-28 01:33:20 +02:00
Lapineige
26bf985d6d [i18n] Translated using Weblate (French)
Currently translated at 100.0% (272 of 272 strings)
2017-02-20 16:41:24 +01:00
Fabian Gruber
2735de875f [i18n] Translated using Weblate (German)
Currently translated at 100.0% (271 of 271 strings)
2017-02-20 16:41:24 +01:00
bricabraque
77046715ff [i18n] Translated using Weblate (Italian)
Currently translated at 19.6% (53 of 270 strings)
2017-02-20 16:41:24 +01:00
Fabian Gruber
fe4e64d467 [i18n] Translated using Weblate (German)
Currently translated at 100.0% (270 of 270 strings)
2017-02-20 16:41:23 +01:00
Fabian Gruber
e210dc17ff [i18n] Translated using Weblate (German)
Currently translated at 100.0% (270 of 270 strings)
2017-02-20 16:41:23 +01:00
rokaz
f49809f15f [i18n] Translated using Weblate (Spanish)
Currently translated at 100.0% (270 of 270 strings)
2017-02-20 16:41:23 +01:00
Trollken
d05cf26b40 [i18n] Translated using Weblate (Portuguese)
Currently translated at 42.2% (114 of 270 strings)
2017-02-20 16:41:23 +01:00