def client_orders(request, client_id): row_names, data = list_request(request, 'client_orders', [int(client_id)]) is_ready_index = row_names.index('Is ready') data = convert_to_type(data, bool, is_ready_index) return render(request, 'django_app/client_orders_list.html', {"headers": row_names, "data": data})
def get_order_info(request, order_id): row_names, data = list_request(request, 'get_order_info', [int(order_id)]) is_ready_index = row_names.index('Is ready') data = convert_to_type(data, bool, is_ready_index) return render(request, 'django_app/order_status.html', {"headers": row_names, "data": data})
def client_info(request, client_id): row_names, data = list_request(request, 'client_info', [int(client_id)]) is_ready_index = row_names.index('Best client') data = convert_to_type(data, bool, is_ready_index) return render(request, 'django_app/client_info.html', {"headers": row_names, "data": data, 'extra_thing': {'url': 'django_app:update_client', 'text': 'Update client'} })
def client_orders_ready_not_returned(request, client_id): row_names, data = list_request(request, 'ready_not_returned', [int(client_id)]) is_ready_index = row_names.index('Is ready') data = convert_to_type(data, bool, is_ready_index) extra_thing = None if 'connection' in request.COOKIES and request.COOKIES['connection'] == 'worker': extra_thing = {'url': 'django_app:return_order', 'text': 'Return'} return render(request, 'django_app/orders_ready_not_returned_list.html', {"headers": row_names, "data": data, 'extra_thing': extra_thing})
def parse_xml(self, data_file_name): xml = ET.parse(data_file_name) root = xml.getroot() string = "\{(.*?)\}" prefix = re.search(string, root.tag)[0] data_dict = {} for tname in root.findall('.//' + prefix + 'ClinicalVariables'): attribute = tname.find(prefix + 'TypeName').text if attribute not in data_dict.keys(): data_dict[attribute] = [] data_dict[attribute].append( convert_to_type(tname.find(prefix + 'Value').text)) data = pd.DataFrame.from_dict(data_dict) del data_dict return data
def f_validate(numpy_type, value): try: utils.convert_to_type(numpy_type, value) except ValueError: return "'{0}' is not convertible to '{1}' type.".format( value, utils.numpy_type_to_string(numpy_type))
def run(self, app, table): assistant = settingswindow.BasicSettingAssistant(3, "Filter setting", app.window) assistant.set_size_request(600, 400) def create_page_1(setting): items = [(label, idx, False) for idx, label in enumerate(table.header)] s_widget = settingswindow.SettingWidget() s_widget.add_checkbuttons_list( "selected_cols", "Columns", items, ["Column", "Select?"]) return s_widget def create_page_2(setting): items = [(label, idx, False) for idx, label in enumerate(table.header)] s_widget = settingswindow.SettingWidget() s_widget.add_checkbuttons_list( "filter_by", "Filter by columns", items, ["Column", "Select?"]) return s_widget def create_page_3(setting): filter_by_columns = setting.get_value("filter_by") filter_by_columns.sort() s_widget = settingswindow.SettingWidget() def f_validate(numpy_type, value): try: utils.convert_to_type(numpy_type, value) except ValueError: return "'{0}' is not convertible to '{1}' type.".format( value, utils.numpy_type_to_string(numpy_type)) for idx, col_idx in enumerate(filter_by_columns): if idx > 0: s_widget.add_separator() s_widget.add_entry("filter_value{0}".format(col_idx), table.header[col_idx], "", validator=partial(f_validate, table.types[col_idx])) s_widget.add_radiobuttons("cmp_fn{0}".format(col_idx), "Compare", [("Equal", lambda x, y: x == y), ("Not equal", lambda x, y: x != y), ("Less than", lambda x, y: x < y), ("Greater than", lambda x, y: x > y)], ncols=2) return s_widget assistant.append_setting_widget("Select columns", create_page_1) assistant.append_setting_widget("Filter rows", create_page_2) assistant.append_setting_widget("Set filters", create_page_3) if assistant.run() != RESPONSE_APPLY: return selected_columns = assistant.get_setting("selected_cols") filter_by_columns = assistant.get_setting("filter_by") filters = [] for col_idx in filter_by_columns: cmp_function = assistant.get_setting("cmp_fn{0}".format(col_idx)) value = assistant.get_setting("filter_value{0}".format(col_idx)) value = utils.convert_to_type(table.types[col_idx], value) filters.append((table.header[col_idx], cmp_function, value)) filtered = table.select(selected_columns, filters) t = Table.create_from_data(filtered) return Source("Filtered table", t_table, t)