reposync

Форк
0
/
base.py 
57 строк · 1.8 Кб
1
#
2
# RepoSync.Provider.Base
3
#
4
# Copyright (c) 2023-2024 Владислав Щапов aka Vladislav Shchapov <vladislav@shchapov.ru>
5
#
6
# Licensed under the Apache License, Version 2.0 (the "License");
7
# you may not use this file except in compliance with the License.
8
# You may obtain a copy of the License at
9
#
10
#     http://www.apache.org/licenses/LICENSE-2.0
11
#
12
# Unless required by applicable law or agreed to in writing, software
13
# distributed under the License is distributed on an "AS IS" BASIS,
14
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
# See the License for the specific language governing permissions and
16
# limitations under the License.
17
#
18

19

20
import os.path
21

22
# Базовый класс репозитория
23
class repo_interface:
24

25
    # Имя каталога для временно загруженных файлов перед переносом репозитория в целевое место.
26
    __temp_dir = '.~tmp~'
27

28
    def __init__(self, type, url, dir, opts):
29
        self.__type = type
30
        self.__url  = url
31
        self.__dir  = os.path.abspath(dir)
32
        self.__opts = opts
33

34
    def log(self, level, msg):
35
        if (level <= self.__opts.verbose):
36
            print(msg)
37

38
    def url(self):
39
        return self.__url
40

41
    def dir(self):
42
        return self.__dir
43

44
    def tmpdir(self):
45
        return os.path.join(self.__dir, self.__opts.temp_dir);
46

47
    def verbose(self):
48
        return self.__opts.verbose
49

50
    def delete_extraneous(self):
51
        return self.__opts.delete
52

53
    def check(self):
54
        raise NotImplementedError('The "check" action for %s repository is not implemented' % (self.__type))
55

56
    def mirror(self):
57
        raise NotImplementedError('The "mirror" action for %s repository is not implemented' % (self.__type))
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.