mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge remote-tracking branch 'origin/11.1' into merge-firstname-and-lastname
This commit is contained in:
commit
581fe631fd
50 changed files with 808 additions and 687 deletions
101
CONTRIBUTORS.md
101
CONTRIBUTORS.md
|
@ -1,101 +0,0 @@
|
||||||
YunoHost core contributors
|
|
||||||
==========================
|
|
||||||
|
|
||||||
YunoHost is built and maintained by the YunoHost project community.
|
|
||||||
Everyone is encouraged to submit issues and changes, and to contribute in other ways -- see https://yunohost.org/contribute to find out how.
|
|
||||||
|
|
||||||
--
|
|
||||||
|
|
||||||
Initial YunoHost core was built by Kload & beudbeud, for YunoHost v2.
|
|
||||||
|
|
||||||
Most of code was written by Kload and jerome, with help of numerous contributors.
|
|
||||||
|
|
||||||
Translation is made by a bunch of lovely people all over the world.
|
|
||||||
|
|
||||||
We would like to thank anyone who ever helped the YunoHost project <3
|
|
||||||
|
|
||||||
|
|
||||||
YunoHost core Contributors
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
- Jérôme Lebleu
|
|
||||||
- Kload
|
|
||||||
- Laurent 'Bram' Peuch
|
|
||||||
- Julien 'ju' Malik
|
|
||||||
- opi
|
|
||||||
- Aleks
|
|
||||||
- Adrien 'beudbeud' Beudin
|
|
||||||
- M5oul
|
|
||||||
- Valentin 'zamentur' / 'ljf' Grimaud
|
|
||||||
- Jocelyn Delalande
|
|
||||||
- infertux
|
|
||||||
- Taziden
|
|
||||||
- ZeHiro
|
|
||||||
- Josue-T
|
|
||||||
- nahoj
|
|
||||||
- a1ex
|
|
||||||
- JimboJoe
|
|
||||||
- vetetix
|
|
||||||
- jellium
|
|
||||||
- Sebastien 'sebian' Badia
|
|
||||||
- lmangani
|
|
||||||
- Julien Vaubourg
|
|
||||||
- thardev
|
|
||||||
- zimo2001
|
|
||||||
|
|
||||||
|
|
||||||
YunoHost core Translators
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
If you want to help translation, please visit https://translate.yunohost.org/projects/yunohost/yunohost/
|
|
||||||
|
|
||||||
|
|
||||||
### Dutch
|
|
||||||
|
|
||||||
- DUBWiSE
|
|
||||||
- Jeroen Keerl
|
|
||||||
- marut
|
|
||||||
|
|
||||||
### English
|
|
||||||
|
|
||||||
- Bugsbane
|
|
||||||
- rokaz
|
|
||||||
|
|
||||||
### French
|
|
||||||
|
|
||||||
- aoz roon
|
|
||||||
- Genma
|
|
||||||
- Jean-Baptiste Holcroft
|
|
||||||
- Jean P.
|
|
||||||
- Jérôme Lebleu
|
|
||||||
- Lapineige
|
|
||||||
- paddy
|
|
||||||
|
|
||||||
|
|
||||||
### German
|
|
||||||
|
|
||||||
- david.bartke
|
|
||||||
- Fabian Gruber
|
|
||||||
- Felix Bartels
|
|
||||||
- Jeroen Keerl
|
|
||||||
- martin kistner
|
|
||||||
- Philip Gatzka
|
|
||||||
|
|
||||||
### Hindi
|
|
||||||
|
|
||||||
- Anmol
|
|
||||||
|
|
||||||
### Italian
|
|
||||||
|
|
||||||
- bricabrac
|
|
||||||
- Thomas Bille
|
|
||||||
|
|
||||||
### Portuguese
|
|
||||||
|
|
||||||
- Deleted User
|
|
||||||
- Trollken
|
|
||||||
|
|
||||||
### Spanish
|
|
||||||
|
|
||||||
- Juanu
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#! /usr/bin/python3
|
#! /usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#! /usr/bin/python3
|
#! /usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import yunohost
|
import yunohost
|
||||||
|
|
|
@ -932,7 +932,7 @@ ynh_compare_current_package_version() {
|
||||||
_ynh_apply_default_permissions() {
|
_ynh_apply_default_permissions() {
|
||||||
local target=$1
|
local target=$1
|
||||||
|
|
||||||
local ynh_requirement=$(ynh_read_manifest --manifest_key="requirements.yunohost")
|
local ynh_requirement=$(ynh_read_manifest --manifest_key="requirements.yunohost" | tr -d '<>= ')
|
||||||
|
|
||||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 || [ -z "$ynh_requirement" ] || [ "$ynh_requirement" == "null" ] || dpkg --compare-versions $ynh_requirement ge 4.2; then
|
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 || [ -z "$ynh_requirement" ] || [ "$ynh_requirement" == "null" ] || dpkg --compare-versions $ynh_requirement ge 4.2; then
|
||||||
chmod o-rwx $target
|
chmod o-rwx $target
|
||||||
|
|
16
maintenance/agplv3.tpl
Normal file
16
maintenance/agplv3.tpl
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
Copyright (c) ${years} ${owner}
|
||||||
|
|
||||||
|
This file is part of ${projectname} (see ${projecturl})
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Affero General Public License as
|
||||||
|
published by the Free Software Foundation, either version 3 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Affero General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
12
maintenance/update_copyright_headers.sh
Normal file
12
maintenance/update_copyright_headers.sh
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# To run this you'll need to:
|
||||||
|
#
|
||||||
|
# pip3 install licenseheaders
|
||||||
|
|
||||||
|
licenseheaders \
|
||||||
|
-o "YunoHost Contributors" \
|
||||||
|
-n "YunoHost" \
|
||||||
|
-u "https://yunohost.org" \
|
||||||
|
-t ./agplv3.tpl \
|
||||||
|
--current-year \
|
||||||
|
-f ../src/*.py ../src/{utils,diagnosers,authenticators}/*.py
|
||||||
|
|
|
@ -1,5 +1,22 @@
|
||||||
#! /usr/bin/python
|
#! /usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
42
src/app.py
42
src/app.py
|
@ -1,28 +1,22 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
""" License
|
|
||||||
|
|
||||||
Copyright (C) 2013 YunoHost
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU Affero General Public License as published
|
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU Affero General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Affero General Public License
|
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_app.py
|
|
||||||
|
|
||||||
Manage apps
|
|
||||||
"""
|
|
||||||
import glob
|
import glob
|
||||||
import os
|
import os
|
||||||
import toml
|
import toml
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
import ldap
|
import ldap
|
||||||
|
|
|
@ -1,28 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_backup.py
|
|
||||||
|
|
||||||
Manage backups
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import json
|
import json
|
||||||
|
|
|
@ -1,27 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2016 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
yunohost_certificate.py
|
|
||||||
|
|
||||||
Manage certificates, in particular Let's encrypt
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import shutil
|
import shutil
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
import requests
|
import requests
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import dns.resolver
|
import dns.resolver
|
||||||
import re
|
import re
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import psutil
|
import psutil
|
||||||
import datetime
|
import datetime
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
#!/usr/bin/env python
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
|
@ -1,29 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2018 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" diagnosis.py
|
|
||||||
|
|
||||||
Look for possible issues on the server
|
|
||||||
"""
|
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
|
44
src/dns.py
44
src/dns.py
|
@ -1,28 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_domain.py
|
|
||||||
|
|
||||||
Manage domains
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
@ -35,7 +28,6 @@ from moulinette.utils.log import getActionLogger
|
||||||
from moulinette.utils.filesystem import read_file, write_to_file, read_toml, mkdir
|
from moulinette.utils.filesystem import read_file, write_to_file, read_toml, mkdir
|
||||||
|
|
||||||
from yunohost.domain import (
|
from yunohost.domain import (
|
||||||
domain_list,
|
|
||||||
_assert_domain_exists,
|
_assert_domain_exists,
|
||||||
domain_config_get,
|
domain_config_get,
|
||||||
_get_domain_settings,
|
_get_domain_settings,
|
||||||
|
|
|
@ -1,31 +1,24 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_domain.py
|
|
||||||
|
|
||||||
Manage domains
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
from typing import List
|
from typing import List, Optional
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
from moulinette import m18n, Moulinette
|
from moulinette import m18n, Moulinette
|
||||||
|
@ -53,7 +46,7 @@ DOMAIN_SETTINGS_DIR = "/etc/yunohost/domains"
|
||||||
# yunohost CLI and API which run in different processes
|
# yunohost CLI and API which run in different processes
|
||||||
domain_list_cache: List[str] = []
|
domain_list_cache: List[str] = []
|
||||||
domain_list_cache_timestamp = 0
|
domain_list_cache_timestamp = 0
|
||||||
main_domain_cache: str = None
|
main_domain_cache: Optional[str] = None
|
||||||
main_domain_cache_timestamp = 0
|
main_domain_cache_timestamp = 0
|
||||||
DOMAIN_CACHE_DURATION = 15
|
DOMAIN_CACHE_DURATION = 15
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_dyndns.py
|
|
||||||
|
|
||||||
Subscribe and Update DynDNS Hosts
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import json
|
import json
|
||||||
|
|
|
@ -1,28 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_firewall.py
|
|
||||||
|
|
||||||
Manage firewall rules
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import yaml
|
import yaml
|
||||||
import miniupnpc
|
import miniupnpc
|
||||||
|
|
43
src/hook.py
43
src/hook.py
|
@ -1,28 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_hook.py
|
|
||||||
|
|
||||||
Manage hooks
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
44
src/log.py
44
src/log.py
|
@ -1,29 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2018 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_log.py
|
|
||||||
|
|
||||||
Manage debug logs
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import yaml
|
import yaml
|
||||||
|
|
|
@ -1,29 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2014 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_permission.py
|
|
||||||
|
|
||||||
Manage permissions
|
|
||||||
"""
|
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import copy
|
import copy
|
||||||
import grp
|
import grp
|
||||||
|
|
|
@ -1,24 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2019 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import yaml
|
import yaml
|
||||||
import shutil
|
import shutil
|
||||||
|
|
|
@ -1,29 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_service.py
|
|
||||||
|
|
||||||
Manage services
|
|
||||||
"""
|
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
|
19
src/ssh.py
19
src/ssh.py
|
@ -1,4 +1,21 @@
|
||||||
# encoding: utf-8
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
|
|
|
@ -49,7 +49,7 @@ def test_authenticate_with_user_who_is_not_admin():
|
||||||
with pytest.raises(MoulinetteError) as exception:
|
with pytest.raises(MoulinetteError) as exception:
|
||||||
LDAPAuth().authenticate_credentials(credentials="bob:test123Ynh")
|
LDAPAuth().authenticate_credentials(credentials="bob:test123Ynh")
|
||||||
|
|
||||||
translation = m18n.n("invalid_password")
|
translation = m18n.n("invalid_credentials")
|
||||||
expected_msg = translation.format()
|
expected_msg = translation.format()
|
||||||
assert expected_msg in str(exception)
|
assert expected_msg in str(exception)
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ def test_authenticate_with_wrong_password():
|
||||||
with pytest.raises(MoulinetteError) as exception:
|
with pytest.raises(MoulinetteError) as exception:
|
||||||
LDAPAuth().authenticate_credentials(credentials="alice:bad_password_lul")
|
LDAPAuth().authenticate_credentials(credentials="alice:bad_password_lul")
|
||||||
|
|
||||||
translation = m18n.n("invalid_password")
|
translation = m18n.n("invalid_credentials")
|
||||||
expected_msg = translation.format()
|
expected_msg = translation.format()
|
||||||
assert expected_msg in str(exception)
|
assert expected_msg in str(exception)
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ def test_authenticate_change_password():
|
||||||
with pytest.raises(MoulinetteError) as exception:
|
with pytest.raises(MoulinetteError) as exception:
|
||||||
LDAPAuth().authenticate_credentials(credentials="alice:Yunohost")
|
LDAPAuth().authenticate_credentials(credentials="alice:Yunohost")
|
||||||
|
|
||||||
translation = m18n.n("invalid_password")
|
translation = m18n.n("invalid_credentials")
|
||||||
expected_msg = translation.format()
|
expected_msg = translation.format()
|
||||||
assert expected_msg in str(exception)
|
assert expected_msg in str(exception)
|
||||||
|
|
||||||
|
|
39
src/tools.py
39
src/tools.py
|
@ -1,24 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2013 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
43
src/user.py
43
src/user.py
|
@ -1,28 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2014 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
""" yunohost_user.py
|
|
||||||
|
|
||||||
Manage users
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import pwd
|
import pwd
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
|
@ -1,24 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2018 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
import glob
|
import glob
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2018 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
import dns.resolver
|
import dns.resolver
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2018 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from moulinette.core import MoulinetteError, MoulinetteAuthenticationError
|
from moulinette.core import MoulinetteError, MoulinetteAuthenticationError
|
||||||
from moulinette import m18n
|
from moulinette import m18n
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2018 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
from moulinette import m18n
|
from moulinette import m18n
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
""" License
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
Copyright (C) 2019 YunoHost
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
This program is free software; you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# it under the terms of the GNU Affero General Public License as
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
(at your option) any later version.
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU Affero General Public License for more details.
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import atexit
|
import atexit
|
||||||
import logging
|
import logging
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import glob
|
import glob
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2017 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import logging
|
import logging
|
||||||
|
|
|
@ -1,24 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2018 YunoHost
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import string
|
import string
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2021 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
import os
|
import os
|
||||||
import copy
|
import copy
|
||||||
import shutil
|
import shutil
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
""" License
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
Copyright (C) 2015 YUNOHOST.ORG
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
This program is free software; you can redistribute it and/or modify
|
# it under the terms of the GNU Affero General Public License as
|
||||||
it under the terms of the GNU Affero General Public License as published
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
by the Free Software Foundation, either version 3 of the License, or
|
# License, or (at your option) any later version.
|
||||||
(at your option) any later version.
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# GNU Affero General Public License for more details.
|
||||||
GNU Affero General Public License for more details.
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
You should have received a copy of the GNU Affero General Public License
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
along with this program; if not, see http://www.gnu.org/licenses
|
#
|
||||||
|
|
||||||
"""
|
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
|
|
|
@ -1,5 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
#
|
||||||
|
# Copyright (c) 2022 YunoHost Contributors
|
||||||
|
#
|
||||||
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
import requests
|
import requests
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
|
Loading…
Add table
Reference in a new issue