Exemple #1
0
 def __init__(self, file, **keywords):
     """Constructor
     :param str file: file name
     :param dict keywords: extra parameters for format specific writer
     """
     if isinstance(file, tuple):
         self.writer = get_writer(file[1], file[0], **keywords)
     else:
         self.writer = get_writer(file, **keywords)
Exemple #2
0
    def write_data(self, book):
        if isinstance(self.file_name, tuple):
            writer = get_writer(self.file_name[1],
                                     self.file_name[0],
                                     **self.keywords)
        else:
            writer = get_writer(self.file_name,
                                **self.keywords)

        writer.write(book.to_dict())
        writer.close()
Exemple #3
0
    def write_data(self, sheet):
        if isinstance(self.file_name, tuple):
            writer = get_writer(self.file_name[1],
                                     self.file_name[0],
                                     single_sheet_in_book=True,
                                     **self.keywords)
        else:
            writer = get_writer(self.file_name,
                                single_sheet_in_book=True,
                                **self.keywords)

        raw_sheet = writer.create_sheet(sheet.name)
        data_table = sheet.to_array()
        if len(data_table) > 0:
            rows = len(data_table)
            columns = len(data_table[0])
            raw_sheet.set_size((rows, columns))
            raw_sheet.write_array(data_table)
        raw_sheet.close()
        writer.close()
Exemple #4
0
 def get_writer(self, sheet):
     headers = sheet.colnames
     if len(headers) == 0:
         headers = sheet.rownames
     models = {
         sheet.name:
         (self.model, headers, self.keywords.get(KEYWORD_MAPDICT, None),
          self.keywords.get(KEYWORD_INITIALIZER, None))
     }
     w = get_writer(DB_DJANGO,
                    single_sheet_in_book=True,
                    models=models,
                    batch_size=self.keywords.get(KEYWORD_BATCH_SIZE, None))
     return w
Exemple #5
0
 def get_writer(self, sheet):
     headers = sheet.colnames
     if len(headers) == 0:
         headers = sheet.rownames
     tables = {
         sheet.name:
         (self.table, headers, self.keywords.get(KEYWORD_MAPDICT, None),
          self.keywords.get(KEYWORD_INITIALIZER, None))
     }
     w = get_writer(DB_SQL,
                    single_sheet_in_book=True,
                    session=self.session,
                    tables=tables,
                    **self.keywords)
     return w
Exemple #6
0
 def get_writer(self, sheet):
     models = {
         sheet.name: (
             self.model,
             sheet.colnames,
             self.keywords.get(KEYWORD_MAPDICT, None),
             self.keywords.get(KEYWORD_INITIALIZER, None)
         )
     }
     w = get_writer(
         DB_DJANGO,
         single_sheet_in_book=True,
         models=models,
         batch_size=self.keywords.get(KEYWORD_BATCH_SIZE, None)
     )
     return w
Exemple #7
0
 def get_writer(self, sheet):
     tables = {
         sheet.name: (
             self.table,
             sheet.colnames,
             self.keywords.get(KEYWORD_MAPDICT, None),
             self.keywords.get(KEYWORD_INITIALIZER, None)
         )
     }
     w = get_writer(
         DB_SQL,
         single_sheet_in_book=True,
         session=self.session,
         tables=tables,
         **self.keywords
     )
     return w
Exemple #8
0
 def write_data(self, book):
     initializers = self.keywords.get(params.INITIALIZERS, None)
     if initializers is None:
         initializers = [None] * len(self.tables)
     mapdicts = self.keywords.get(params.MAPDICTS, None)
     if mapdicts is None:
         mapdicts = [None] * len(self.tables)
     for sheet in book:
         if len(sheet.colnames) == 0:
             sheet.name_columns_by_row(0)
     colnames_array = [sheet.colnames for sheet in book]
     x = zip(self.tables, colnames_array, mapdicts, initializers)
     table_dict = dict(zip(book.name_array, x))
     writer = get_writer(DB_SQL,
                         session=self.session,
                         tables=table_dict,
                         **self.keywords)
     _write_book(writer, book)
Exemple #9
0
 def write_data(self, book):
     initializers = self.keywords.get(KEYWORD_INITIALIZERS, None)
     if initializers is None:
         initializers = [None] * len(self.tables)
     mapdicts = self.keywords.get(KEYWORD_MAPDICTS, None)
     if mapdicts is None:
         mapdicts = [None] * len(self.tables)
     for sheet in book:
         if len(sheet.colnames) == 0:
             sheet.name_columns_by_row(0)
     colnames_array = [sheet.colnames for sheet in book]
     x = zip(self.tables, colnames_array, mapdicts, initializers)
     table_dict = dict(zip(book.name_array, x))
     writer = get_writer(DB_SQL,
                         session=self.session,
                         tables=table_dict,
                         **self.keywords)
     _write_book(writer, book)
Exemple #10
0
 def write_data(self, book):
     new_models = [model for model in self.models if model is not None]
     batch_size = self.keywords.get(KEYWORD_BATCH_SIZE, None)
     initializers = self.keywords.get(KEYWORD_INITIALIZERS, None)
     if initializers is None:
         initializers = [None] * len(new_models)
     mapdicts = self.keywords.get(KEYWORD_MAPDICTS, None)
     if mapdicts is None:
         mapdicts = [None] * len(new_models)
     for sheet in book:
         if len(sheet.colnames) == 0:
             sheet.name_columns_by_row(0)
     colnames_array = [sheet.colnames for sheet in book]
     x = zip(new_models, colnames_array, mapdicts, initializers)
     table_dict = dict(zip(book.name_array, x))
     writer = get_writer(DB_DJANGO,
                         models=table_dict,
                         batch_size=batch_size)
     _write_book(writer, book)
Exemple #11
0
 def write_data(self, book):
     new_models = [model for model in self.models if model is not None]
     batch_size = self.keywords.get(params.BATCH_SIZE, None)
     initializers = self.keywords.get(params.INITIALIZERS, None)
     if initializers is None:
         initializers = [None] * len(new_models)
     mapdicts = self.keywords.get(params.MAPDICTS, None)
     if mapdicts is None:
         mapdicts = [None] * len(new_models)
     for sheet in book:
         if len(sheet.colnames) == 0:
             sheet.name_columns_by_row(0)
     colnames_array = [sheet.colnames for sheet in book]
     x = zip(new_models, colnames_array, mapdicts, initializers)
     table_dict = dict(zip(book.name_array, x))
     writer = get_writer(DB_DJANGO,
                         models=table_dict,
                         batch_size=batch_size)
     _write_book(writer, book)
Exemple #12
0
 def get_writer(self, sheet):
     headers = sheet.colnames
     if len(headers) == 0:
         headers = sheet.rownames
     models = {
         sheet.name: (
             self.model,
             headers,
             self.keywords.get(params.MAPDICT, None),
             self.keywords.get(params.INITIALIZER, None)
         )
     }
     w = get_writer(
         DB_DJANGO,
         single_sheet_in_book=True,
         models=models,
         batch_size=self.keywords.get(params.BATCH_SIZE, None)
     )
     return w
Exemple #13
0
 def get_writer(self, sheet):
     headers = sheet.colnames
     if len(headers) == 0:
         headers = sheet.rownames
     tables = {
         sheet.name: (
             self.table,
             headers,
             self.keywords.get(params.MAPDICT, None),
             self.keywords.get(params.INITIALIZER, None)
         )
     }
     w = get_writer(
         DB_SQL,
         single_sheet_in_book=True,
         session=self.session,
         tables=tables,
         **self.keywords
     )
     return w
Exemple #14
0
def test_writer_csvz_data_from_memory():
    if not PY2:
        io = StringIO()
        get_writer(io, file_type="csvz")
    else:
        raise IOError("pass it")
Exemple #15
0
def test_writer_unknown_data_from_memory2():
    io = BytesIO()
    # mock it
    BINARY_STREAM_TYPES.append('unknown1')
    get_writer(io, file_type="unknown1")
Exemple #16
0
def test_writer_xlsm_data_from_memory2():
    io = BytesIO()
    get_writer(io, file_type="xlsm")
Exemple #17
0
def test_write_unknown_data():
    get_writer("test.unknown")
Exemple #18
0
def test_write_xlsx_data():
    get_writer("test.xlsx")
Exemple #19
0
def test_wrong_parameter_to_get_writer2():
    get_writer(1, file_type="csv")
Exemple #20
0
def test_wrong_parameter_to_get_writer():
    get_writer(1)