From f9121c9c1650947e5ce1deaba49e0387bbc2bc22 Mon Sep 17 00:00:00 2001 From: Dmitriy Shesterkin Date: Mon, 19 Jun 2017 14:27:12 +0300 Subject: [PATCH] pep8 --- src/commons/xls/__init__.py | 6 +- src/commons/xls/get_xlwt_style_list.py | 37 ++++------- src/commons/xls/useful_tools.py | 89 ++++++++++---------------- 3 files changed, 51 insertions(+), 81 deletions(-) diff --git a/src/commons/xls/__init__.py b/src/commons/xls/__init__.py index f454af5..a216c26 100644 --- a/src/commons/xls/__init__.py +++ b/src/commons/xls/__init__.py @@ -1,3 +1,3 @@ -from commons.xls.useful_tools import * -from commons.xls.get_xlwt_style_list import * -from commons.xls.xls_to_response import * +from commons.xls.useful_tools import * # noqa +from commons.xls.get_xlwt_style_list import * # noqa +from commons.xls.xls_to_response import * # noqa diff --git a/src/commons/xls/get_xlwt_style_list.py b/src/commons/xls/get_xlwt_style_list.py index e4e6c3c..d5cecfc 100644 --- a/src/commons/xls/get_xlwt_style_list.py +++ b/src/commons/xls/get_xlwt_style_list.py @@ -5,13 +5,9 @@ def get_xlwt_style_list(rdbook): wt_style_list = [] for rdxf in rdbook.xf_list: wtxf = xlwt.Style.XFStyle() - # # number format - # wtxf.num_format_str = rdbook.format_map[rdxf.format_key].format_str - # # font - # wtf = wtxf.font rdf = rdbook.font_list[rdxf.font_index] wtf.height = rdf.height @@ -20,49 +16,43 @@ def get_xlwt_style_list(rdbook): wtf.outline = rdf.outline wtf.shadow = rdf.outline wtf.colour_index = rdf.colour_index - wtf.bold = rdf.bold #### This attribute is redundant, should be driven by weight - wtf._weight = rdf.weight #### Why "private"? + # This attribute is redundant, should be driven by weight + wtf.bold = rdf.bold + # Why "private"? + wtf._weight = rdf.weight wtf.escapement = rdf.escapement - wtf.underline = rdf.underline_type #### + wtf.underline = rdf.underline_type # wtf.???? = rdf.underline #### redundant attribute, set on the fly when writing wtf.family = rdf.family wtf.charset = rdf.character_set wtf.name = rdf.name - # # protection - # wtp = wtxf.protection rdp = rdxf.protection wtp.cell_locked = rdp.cell_locked wtp.formula_hidden = rdp.formula_hidden - # # border(s) (rename ????) - # wtb = wtxf.borders rdb = rdxf.border - wtb.left = rdb.left_line_style - wtb.right = rdb.right_line_style - wtb.top = rdb.top_line_style + wtb.left = rdb.left_line_style + wtb.right = rdb.right_line_style + wtb.top = rdb.top_line_style wtb.bottom = rdb.bottom_line_style - wtb.diag = rdb.diag_line_style - wtb.left_colour = rdb.left_colour_index - wtb.right_colour = rdb.right_colour_index - wtb.top_colour = rdb.top_colour_index + wtb.diag = rdb.diag_line_style + wtb.left_colour = rdb.left_colour_index + wtb.right_colour = rdb.right_colour_index + wtb.top_colour = rdb.top_colour_index wtb.bottom_colour = rdb.bottom_colour_index - wtb.diag_colour = rdb.diag_colour_index + wtb.diag_colour = rdb.diag_colour_index wtb.need_diag1 = rdb.diag_down wtb.need_diag2 = rdb.diag_up - # # background / pattern (rename???) - # wtpat = wtxf.pattern rdbg = rdxf.background wtpat.pattern = rdbg.fill_pattern wtpat.pattern_fore_colour = rdbg.pattern_colour_index wtpat.pattern_back_colour = rdbg.background_colour_index - # # alignment - # wta = wtxf.alignment rda = rdxf.alignment wta.horz = rda.hor_align @@ -74,6 +64,5 @@ def get_xlwt_style_list(rdbook): wta.shri = rda.shrink_to_fit wta.inde = rda.indent_level # wta.merg = ???? - # wt_style_list.append(wtxf) return wt_style_list diff --git a/src/commons/xls/useful_tools.py b/src/commons/xls/useful_tools.py index be0a993..cafe12a 100644 --- a/src/commons/xls/useful_tools.py +++ b/src/commons/xls/useful_tools.py @@ -1,19 +1,18 @@ # -*- coding: utf-8 -*- -def copy_cells(src_sheet, dst_sheet, style_list, - row_from=0, row_to=None, dst_row_shift=0, - col_from=0, col_to=None, dst_col_shift=0): +def copy_cells(src_sheet, dst_sheet, style_list, row_from=0, row_to=None, dst_row_shift=0, + col_from=0, col_to=None, dst_col_shift=0): """ Скопировать блок ячеек из диапазона строк [row_from, row_to] и колонок [col_from, col_to] исходного листа в новый лист с сохранением их контента, исходных стилей форматирования, объединения и высоты строк. """ - row_to = row_to or src_sheet.nrows-1 - col_to = col_to or src_sheet.ncols-1 + row_to = row_to or src_sheet.nrows - 1 + col_to = col_to or src_sheet.ncols - 1 - for row in range(row_from, row_to+1): - for col in range(col_from, col_to+1): + for row in range(row_from, row_to + 1): + for col in range(col_from, col_to + 1): cell = src_sheet.cell(row, col) # скопировать контент и стиль ячейки dst_sheet.write( @@ -27,26 +26,23 @@ def copy_cells(src_sheet, dst_sheet, style_list, height_rows(src_sheet, dst_sheet, row_from, row_to, dst_row_shift) # объединить ячейки - merge_cells(src_sheet, dst_sheet, style_list, - row_from, row_to, dst_row_shift, - col_from, col_to, dst_col_shift) + merge_cells(src_sheet, dst_sheet, style_list, row_from, + row_to, dst_row_shift, col_from, col_to, dst_col_shift) -def height_rows(src_sheet, dst_sheet, - row_from=0, row_to=None, dst_row_shift=0): +def height_rows(src_sheet, dst_sheet, row_from=0, row_to=None, dst_row_shift=0): """Задать в диапазоне строк [row_from, row_to] высоту как в исходном листе. """ - row_to = row_to or src_sheet.nrows-1 - for row in range(row_from, row_to+1): + row_to = row_to or src_sheet.nrows - 1 + for row in range(row_from, row_to + 1): src_rowinfo = src_sheet.rowinfo_map.get(row) if src_rowinfo: - dst_sheet.row(row+dst_row_shift).height = src_rowinfo.height - dst_sheet.row(row+dst_row_shift).height_mismatch = True + dst_sheet.row(row + dst_row_shift).height = src_rowinfo.height + dst_sheet.row(row + dst_row_shift).height_mismatch = True -def merge_cells(src_sheet, dst_sheet, style_list, - row_from=0, row_to=None, dst_row_shift=0, - col_from=0, col_to=None, dst_col_shift=0): +def merge_cells(src_sheet, dst_sheet, style_list, row_from=0, + row_to=None, dst_row_shift=0, col_from=0, col_to=None, dst_col_shift=0): """ Объединить ячейки в заданном блоке нового листа, ограниченном строками [row_from, row_to] и колонками [col_from, col_to], если в исходном листе @@ -55,7 +51,7 @@ def merge_cells(src_sheet, dst_sheet, style_list, row_to = row_to or src_sheet.nrows col_to = col_to or src_sheet.ncols - for r1,r2,c1,c2 in src_sheet.merged_cells: + for r1, r2, c1, c2 in src_sheet.merged_cells: if r1 < row_from or r1 > row_to: continue if c1 < col_from or c1 > col_to: @@ -64,23 +60,9 @@ def merge_cells(src_sheet, dst_sheet, style_list, cell = src_sheet.cell(r1, c1) style = style_list[cell.xf_index] - # сохранить границы "крайней" ячейки - # нафиг пока эту фичу - из-за нее повылазили какие-то границы, - # которых не было вообще -# brd_1 = style.borders -# cell_2 = src_sheet.cell(r2-1, c2-1) -# brd_2 = style_list[cell_2.xf_index].borders -# print r1,c1,r2,c2, -# print 'borders 1 (left, right, top, bottom)', -# print brd_1.left, brd_1.right, brd_1.top, brd_1.bottom, -# print 'border 2 (same)', -# print brd_2.left, brd_2.right, brd_2.top, brd_2.bottom -# brd_1.right = brd_2.right -# brd_1.right_colour = brd_2.right_colour - dst_sheet.merge( - r1+dst_row_shift, r2+dst_row_shift-1, - c1+dst_col_shift, c2+dst_col_shift-1, + r1 + dst_row_shift, r2 + dst_row_shift - 1, + c1 + dst_col_shift, c2 + dst_col_shift - 1, style) @@ -88,15 +70,15 @@ def width_cols(src_sheet, dst_sheet, col_from=0, col_to=None, dst_col_shift=0): """Задать в диапазоне колонок [col_from, col_to] ширину как в исходном листе. """ - col_to = col_to or src_sheet.ncols-1 - for col in range(col_from, col_to+1): - dst_sheet.col(col+dst_col_shift).width = ( + col_to = col_to or src_sheet.ncols - 1 + for col in range(col_from, col_to + 1): + dst_sheet.col(col + dst_col_shift).width = ( src_sheet.computed_column_width(col)) def mm_to_twips(x): """Перевести из миллиметров в twips.""" - return int(x/25.4*72*20) + return int(x / 25.4 * 72 * 20) def horz_page_break(dst_sheet, row): @@ -104,25 +86,22 @@ def horz_page_break(dst_sheet, row): dst_sheet.horz_page_breaks.append((row, 0, 255)) -# -------------------------------------------------------------- прочие хелперы - -def clone_row(src_sheet, dst_sheet, style_list, - src_row, n_times=1, dst_row_shift=0): +def clone_row(src_sheet, dst_sheet, style_list, src_row, n_times=1, dst_row_shift=0): """ Размножить n_times раз строку из исходного листа, с сохранением стилей форматирования. """ - for offset in range(n_times+1): + for offset in range(n_times + 1): copy_cells(src_sheet, dst_sheet, style_list, - row_from=src_row, row_to=src_row, - dst_row_shift=dst_row_shift+offset) + row_from=src_row, row_to=src_row, + dst_row_shift=dst_row_shift + offset) # задать высоту строк height_rows(src_sheet, dst_sheet, src_row, src_row, dst_row_shift) # объединить ячейки merge_cells(src_sheet, dst_sheet, style_list, - src_row, src_row, dst_row_shift) + src_row, src_row, dst_row_shift) def merge_cells_in_row(src_sheet, dst_sheet, style_list, src_row, dst_row): @@ -130,19 +109,20 @@ def merge_cells_in_row(src_sheet, dst_sheet, style_list, src_row, dst_row): Объединить ячейки в заданной строке нового листа, если в исходном листе они были объединены, с сохранением исходных стилей форматирования. """ - for r1,r2,c1,c2 in src_sheet.merged_cells: + for r1, r2, c1, c2 in src_sheet.merged_cells: if r1 != src_row: continue cell = src_sheet.cell(r1, c1) - dst_sheet.merge(dst_row, dst_row, c1, c2-1, style_list[cell.xf_index]) + dst_sheet.merge(dst_row, dst_row, c1, c2 - 1, style_list[cell.xf_index]) def sum_src_heights(src_sheet, row_from, row_to): - """Суммарная высота всех строк диапазона [row_from, row_to] + """ + Суммарная высота всех строк диапазона [row_from, row_to] исходного листа. """ result = 0 - for row in range(row_from, row_to+1): + for row in range(row_from, row_to + 1): src_rowinfo = src_sheet.rowinfo_map.get(row) if src_rowinfo: result += src_rowinfo.height @@ -150,10 +130,11 @@ def sum_src_heights(src_sheet, row_from, row_to): def sum_dst_heights(dst_sheet, row_from, row_to): - """Суммарная высота всех строк диапазона [row_from, row_to] + """ + Суммарная высота всех строк диапазона [row_from, row_to] на новом листе. """ result = 0 - for row in range(row_from, row_to+1): + for row in range(row_from, row_to + 1): result += dst_sheet.row(row).height return result