Skip to content

Commit b694f3d

Browse files
authored
Merge pull request #517 from nikkuAg/bloom
Allow uploading of bloom format files
2 parents 4f32521 + 3be5d5d commit b694f3d

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

ricecooker/classes/files.py

+13-3
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,10 @@ def extract_ext_from_header(res):
9595
content_dis = res.headers.get("content-disposition")
9696
if content_dis:
9797
filename = get_filename_from_content_disposition_header(content_dis)
98-
ext = filename.split(".")
99-
if len(ext) > 1:
100-
return ext[-1]
98+
if filename:
99+
ext = filename.split(".")
100+
if len(ext) > 1:
101+
return ext[-1]
101102
return None
102103

103104

@@ -769,6 +770,15 @@ def get_preset(self):
769770
return self.preset or format_presets.EPUB
770771

771772

773+
class BloomPubFile(DownloadFile):
774+
default_ext = file_formats.BLOOMPUB
775+
allowed_formats = [file_formats.BLOOMPUB, file_formats.BLOOMD]
776+
is_primary = True
777+
778+
def get_preset(self):
779+
return self.preset or format_presets.BLOOMPUB
780+
781+
772782
class HTMLZipFile(DownloadFile):
773783
default_ext = file_formats.HTML5
774784
allowed_formats = [file_formats.HTML5]

ricecooker/classes/nodes.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1042,7 +1042,7 @@ def validate(self):
10421042
Args: None
10431043
Returns: boolean indicating if document is valid
10441044
"""
1045-
from .files import DocumentFile, EPubFile, StudioFile
1045+
from .files import DocumentFile, EPubFile, StudioFile, BloomPubFile
10461046

10471047
try:
10481048
assert (
@@ -1063,6 +1063,7 @@ def validate(self):
10631063
isinstance(f, StudioFile)
10641064
and f.preset in (format_presets.DOCUMENT, format_presets.EPUB)
10651065
)
1066+
or isinstance(f, BloomPubFile)
10661067
], "Assumption Failed: Document should have at least one document file"
10671068
return super(DocumentNode, self).validate()
10681069
except AssertionError as ae:

0 commit comments

Comments
 (0)