Skip to content

Commit df91144

Browse files
committed
fix the broken build
1 parent dad9225 commit df91144

File tree

1 file changed

+27
-31
lines changed

1 file changed

+27
-31
lines changed

django_excel/__init__.py

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,50 +17,46 @@
1717
import pyexcel_webio as webio
1818

1919

20-
class ExcelMixin(webio.ExcelInput):
20+
class ExcelMixin(webio.ExcelInputInMultiDict):
2121
"""
2222
Provide additional pyexcel-webio methods to Django's UploadedFiles
2323
"""
24-
def _get_file_extension(self):
24+
def get_params(self, **keywords):
2525
extension = self.name.split(".")[-1]
26-
return extension
27-
28-
def load_single_sheet(self, sheet_name=None, **keywords):
29-
return pe.get_sheet(
30-
file_type=self._get_file_extension(),
31-
file_content=self.file.read(),
32-
sheet_name=sheet_name,
33-
**keywords)
34-
35-
def load_book(self, **keywords):
36-
return pe.get_book(
37-
file_type=self._get_file_extension(),
38-
file_content=self.file.read(),
39-
**keywords)
40-
41-
def save_to_database(self, model=None,
26+
keywords['file_type'] = extension
27+
keywords['file_content'] = self.file.read()
28+
return keywords
29+
30+
def save_to_database(self, model=None, initializer=None, mapdict=None,
4231
sheet_name=None,
4332
name_columns_by_row=0,
4433
name_rows_by_column=-1,
4534
**keywords):
4635
"""
4736
Save data from a sheet to a nominated django model
4837
"""
49-
sheet = self.load_single_sheet(
50-
sheet_name=sheet_name,
51-
name_columns_by_row=name_columns_by_row,
52-
name_rows_by_column=name_rows_by_column,
53-
**keywords)
54-
if sheet:
55-
sheet.save_to_django_model(model, **keywords)
56-
57-
def save_book_to_database(self, models=None, **keywords):
38+
params = self.get_params(**keywords)
39+
if 'name_columns_by_row' not in params:
40+
params['name_columns_by_row'] = 0
41+
if 'name_rows_by_column' not in params:
42+
params['name_rows_by_column'] = -1
43+
params['dest_model'] = model
44+
params['dest_initializer'] = initializer
45+
params['dest_mapdict'] = mapdict
46+
pe.save_as(**params)
47+
48+
def save_book_to_database(self, models=None, initializers=None,
49+
mapdicts=None, batch_size=None,
50+
**keywords):
5851
"""
5952
Save data from a book to a nominated django models
60-
"""
61-
book = self.load_book(**keywords)
62-
if book:
63-
book.save_to_django_models(models, **keywords)
53+
"""
54+
params = self.get_params(**keywords)
55+
params['dest_models'] = models
56+
params['dest_initializers']=initializers
57+
params['dest_mapdicts'] = mapdicts
58+
params['dest_batch_size'] = batch_size
59+
pe.save_book_as(**params)
6460

6561

6662
class ExcelInMemoryUploadedFile(ExcelMixin, InMemoryUploadedFile):

0 commit comments

Comments
 (0)