def file_download(storage_name, file_name): dto = {"storage_name": storage_name, "file_name": file_name} file_download_reader = FileDownload(dto) result = file_download_reader.execute() response = make_send_file_response(result.file_content, result.file_name) response.headers['Content-Type'] = "file/{}".format(file_info.get_extension(result.file_name)) return response
def execute(self): super().string.size(self.instance.storage_name, 2, 20) super().string.size(self.instance.file["file_name"], 2, 500) super().string.size(self.instance.package_name, 2, 150) super().string.size(self.instance.version, 2, 50) super().integer.positive(self.instance.version_id, include_zero=False) super().validate() if not self.instance.file["file_content"]: super().custom.manual(ApkErrorCodes.RESOURCE_CONTENT_IS_EMPTY) if not file_info.get_file_name(self.instance.file["file_name"]) or not file_info.get_extension( self.instance.file["file_name"]): super().custom.manual(ApkErrorCodes.APK_NAME_OR_EXTENSION_NOT_EXIST, data=self.instance.file["file_name"]) super().custom.register(self.instance.file["file_name"], ApkFileExtensionNotExist()) super().custom.register("{}_{}.{}".format(self.instance.package_name, self.instance.version, file_info.get_extension(self.instance.file["file_name"])), ApkFileNameExist(self.instance.storage_name)) super().custom.register(self.instance.version_id, ApkVersionIdExist(self.instance.storage_name)) super().validate()
def validate(self, original_file_name): file_extension = file_info.get_extension(original_file_name) if not file_extension.strip().lower() in FileExtentions.FILE_EXTENTIONS: super().custom.manual(FileErrorCodes.FILE_EXTENSION_IS_NOT_VALID, data=file_extension)
def validate(self, file_name): file_extension = file_info.get_extension(file_name) if not file_extension.strip().lower() in ['apk']: super().custom.manual(ApkErrorCodes.APK_EXTENSION_IS_NOT_VALID, data=file_extension)
def validate(self, file_name): if "." not in file_name: super().custom.manual(FileErrorCodes.FILE_NAME_IS_INVALID, data=file_name) else: if not file_info.get_file_name(file_name) or not file_info.get_extension(file_name): super().custom.manual(FileErrorCodes.FILE_NAME_OR_EXTENSION_NOT_EXIST, file_name)
def _persisted_file_name_create(self): self.persisted_file_name = "{}.{}".format(self._id, file_info.get_extension(self.original_file_name))
def _persisted_file_name_get(self): return "{}_{}.{}".format(self.package_name, self.version.version_name, file_info.get_extension(self.original_file_name))