Spaces:
Build error
Build error
# Copyright (c) Meta Platforms, Inc. and affiliates. | |
# All rights reserved. | |
# | |
# This source code is licensed under the license found in the | |
# LICENSE file in the root directory of this source tree. | |
import logging | |
from abc import ABCMeta, abstractmethod | |
from mmengine.logging import print_log | |
class BaseStorageBackend(metaclass=ABCMeta): | |
"""Abstract class of storage backends. | |
All backends need to implement two apis: :meth:`get()` and | |
:meth:`get_text()`. | |
- :meth:`get()` reads the file as a byte stream. | |
- :meth:`get_text()` reads the file as texts. | |
""" | |
# a flag to indicate whether the backend can create a symlink for a file | |
# This attribute will be deprecated in future. | |
_allow_symlink = False | |
def allow_symlink(self): | |
print_log( | |
'allow_symlink will be deprecated in future', | |
logger='current', | |
level=logging.WARNING) | |
return self._allow_symlink | |
def name(self): | |
return self.__class__.__name__ | |
def get(self, filepath): | |
pass | |
def get_text(self, filepath): | |
pass | |