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 | |