__init__.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. __version__ = '2.15.0'
  2. from . import models, exceptions, defaults
  3. from .api import Service, Bucket
  4. from .auth import Auth, AuthV2, AnonymousAuth, StsAuth, AUTH_VERSION_1, AUTH_VERSION_2, make_auth, ProviderAuth, ProviderAuthV2
  5. from .http import Session, CaseInsensitiveDict
  6. from .credentials import EcsRamRoleCredentialsProvider, EcsRamRoleCredential, CredentialsProvider, StaticCredentialsProvider
  7. from .iterators import (BucketIterator, ObjectIterator, ObjectIteratorV2,
  8. MultipartUploadIterator, ObjectUploadIterator,
  9. PartIterator, LiveChannelIterator)
  10. from .resumable import resumable_upload, resumable_download, ResumableStore, ResumableDownloadStore, determine_part_size
  11. from .resumable import make_upload_store, make_download_store
  12. from .compat import to_bytes, to_string, to_unicode, urlparse, urlquote, urlunquote
  13. from .utils import SizedFileAdapter, make_progress_adapter
  14. from .utils import content_type_by_name, is_valid_bucket_name, is_valid_endpoint
  15. from .utils import http_date, http_to_unixtime, iso8601_to_unixtime, date_to_iso8601, iso8601_to_date
  16. from .models import BUCKET_ACL_PRIVATE, BUCKET_ACL_PUBLIC_READ, BUCKET_ACL_PUBLIC_READ_WRITE
  17. from .models import SERVER_SIDE_ENCRYPTION_AES256, SERVER_SIDE_ENCRYPTION_KMS, SERVER_SIDE_ENCRYPTION_SM4, KMS_DATA_ENCRYPTION_SM4
  18. from .models import OBJECT_ACL_DEFAULT, OBJECT_ACL_PRIVATE, OBJECT_ACL_PUBLIC_READ, OBJECT_ACL_PUBLIC_READ_WRITE
  19. from .models import BUCKET_STORAGE_CLASS_STANDARD, BUCKET_STORAGE_CLASS_IA, BUCKET_STORAGE_CLASS_ARCHIVE, BUCKET_STORAGE_CLASS_COLD_ARCHIVE
  20. from .models import BUCKET_VERSIONING_ENABLE, BUCKET_VERSIONING_SUSPEND
  21. from .models import BUCKET_DATA_REDUNDANCY_TYPE_LRS, BUCKET_DATA_REDUNDANCY_TYPE_ZRS
  22. from .crypto import LocalRsaProvider, AliKMSProvider, RsaProvider,EncryptionMaterials
  23. from .crypto_bucket import CryptoBucket
  24. import logging
  25. logger = logging.getLogger('oss2')
  26. def set_file_logger(file_path, name="oss2", level=logging.INFO, format_string=None):
  27. global logger
  28. if not format_string:
  29. format_string = "%(asctime)s %(name)s [%(levelname)s] %(thread)d : %(message)s"
  30. logger = logging.getLogger(name)
  31. logger.setLevel(level)
  32. fh = logging.FileHandler(file_path)
  33. fh.setLevel(level)
  34. formatter = logging.Formatter(format_string)
  35. fh.setFormatter(formatter)
  36. logger.addHandler(fh)
  37. def set_stream_logger(name='oss2', level=logging.DEBUG, format_string=None):
  38. global logger
  39. if not format_string:
  40. format_string = "%(asctime)s %(name)s [%(levelname)s] %(thread)d : %(message)s"
  41. logger = logging.getLogger(name)
  42. logger.setLevel(level)
  43. fh = logging.StreamHandler()
  44. fh.setLevel(level)
  45. formatter = logging.Formatter(format_string)
  46. fh.setFormatter(formatter)
  47. logger.addHandler(fh)