2
# RepoSync.Provider.Base
4
# Copyright (c) 2023-2024 Владислав Щапов aka Vladislav Shchapov <vladislav@shchapov.ru>
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
10
# http://www.apache.org/licenses/LICENSE-2.0
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.
22
# Базовый класс репозитория
25
# Имя каталога для временно загруженных файлов перед переносом репозитория в целевое место.
28
def __init__(self, type, url, dir, opts):
31
self.__dir = os.path.abspath(dir)
34
def log(self, level, msg):
35
if (level <= self.__opts.verbose):
45
return os.path.join(self.__dir, self.__opts.temp_dir);
48
return self.__opts.verbose
50
def delete_extraneous(self):
51
return self.__opts.delete
54
raise NotImplementedError('The "check" action for %s repository is not implemented' % (self.__type))
57
raise NotImplementedError('The "mirror" action for %s repository is not implemented' % (self.__type))