from datetime import datetime, timedelta from data import model from data.database import BlobUpload as BlobUploadTable from workers.blobuploadcleanupworker.models_interface import ( BlobUpload, BlobUploadCleanupWorkerDataInterface) class PreOCIModel(BlobUploadCleanupWorkerDataInterface): def get_stale_blob_upload(self, stale_threshold): blob_upload = model.blob.get_stale_blob_upload(stale_threshold) if blob_upload is None: return None return BlobUpload(blob_upload.uuid, blob_upload.storage_metadata, blob_upload.location.name) def delete_blob_upload(self, blob_upload): blob_upload = model.blob.get_blob_upload_by_uuid(blob_upload.uuid) if blob_upload is None: return try: blob_upload.delete_instance() except BlobUploadTable.DoesNotExist: pass def create_stale_upload_for_testing(self): blob_upload = model.blob.initiate_upload('devtable', 'simple', 'foobarbaz', 'local_us', {}) blob_upload.created = datetime.now() - timedelta(days=60) blob_upload.save() return BlobUpload(blob_upload.uuid, blob_upload.storage_metadata, blob_upload.location.name) def blob_upload_exists(self, upload_uuid): blob_upload = model.blob.get_blob_upload_by_uuid(upload_uuid) return blob_upload is not None pre_oci_model = PreOCIModel()