def headerfooter(pageid, publisher_name, publisher_color): hide_header_footer = len(publisher_name) == 0 hide_price = False # Early screenshots had a two-line publisher name with # the BTX logo in it for BTX-internal pages. Some .meta # files still reference this, but we should remove this. if publisher_name == "!BTX": # publisher_name = ( # b'\x1b\x22\x41' # parallel mode # b'\x9b\x30\x40' # select palette #0 # b'\x9e' # ??? # b'\x87' # set fg color to #7 # b'\x1b\x28\x20\x40' # load DRCs into G0 # b'\x0f' # G0 into left charset # b'\x21\x22\x23' # "!"#" # b'\n' # b'\r' # b'\x24\x25\x26' # "$%&" # b'\x0b' # cursor up # b'\x09' # cursor right # b'\x1b\x28\x40' # load G0 into G0 # b'\x0f' # G0 into left charset # b'\n' # b'\x8d' # double height # # TODO: this does not draw!! :( # b'Bildschirmtext' # ) publisher_name = "Bildschirmtext" hide_price = True else: publisher_name = publisher_name[:30] hf = bytearray(Cept.set_res_40_24()) hf.extend(Cept.set_cursor(23, 1)) hf.extend(Cept.unprotect_line()) hf.extend(Cept.set_line_fg_color_simple(12)) hf.extend(Cept.parallel_limited_mode()) hf.extend(Cept.set_cursor(24, 1)) hf.extend(Cept.unprotect_line()) hf.extend(b' \b') hf.extend(Cept.clear_line()) hf.extend(Cept.cursor_home()) hf.extend(Cept.unprotect_line()) hf.extend(b' \b') hf.extend(Cept.clear_line()) hf.extend(Cept.serial_limited_mode()) hf.extend(Cept.set_cursor(24, 1)) hf.extend(Cept.set_fg_color(8)) hf.extend(b'\b') hf.extend(Cept.code_9d()) hf.extend(b'\b') if publisher_color < 8: color_string = Cept.set_fg_color(publisher_color) else: color_string = Cept.set_fg_color_simple(publisher_color - 8) hf.extend(color_string) hf.extend(Cept.set_cursor(24, 19)) if not hide_header_footer: hf.extend(Cept.from_str(pageid).rjust(22)) hf.extend(Cept.cursor_home()) hf.extend(Cept.set_palette(1)) hf.extend(Cept.set_fg_color(8)) hf.extend(b'\b') hf.extend(Cept.code_9d()) hf.extend(b'\b') hf.extend(color_string) hf.extend(b'\r') hf.extend(Cept.from_str(publisher_name)) # TODO: price if not hide_header_footer and not hide_price: hf.extend(Cept.set_cursor(1, 31)) hf.extend(b' ') hf.extend(Cept.from_str(Util.format_currency(0))) hf.extend(Cept.cursor_home()) hf.extend(Cept.set_palette(0)) hf.extend(Cept.protect_line()) hf.extend(b'\n') return hf
def create_start(user): links = { "#": "0" } if user.messaging.has_new_messages(): links["8"] = "88" if user.user_id == "0": links["7"] = "77" meta = { "include": "a", "clear_screen": True, "links": links, "publisher_color": 7 } t = datetime.datetime.now() current_date = t.strftime("%d.%m.%Y %H:%M") if user.stats.last_login is not None: t = datetime.datetime.fromtimestamp(user.stats.last_login) last_date = t.strftime("%d.%m.%Y") last_time = t.strftime("%H:%M") else: last_date = "--.--.----" last_time = "--:--" user_name = "" if user.salutation: user_name += user.salutation + "\n" if user.first_name: user_name += user.first_name + "\n" if user.last_name: user_name += user.last_name + "\n" notifications = Login_UI.notifications(user) data_cept = bytearray() data_cept.extend(Cept.clear_screen()) data_cept.extend(Cept.cursor_home()) data_cept.extend(b'\n') data_cept.extend(Cept.set_palette(1)) data_cept.extend(Cept.set_screen_bg_color_simple(4)) data_cept.extend(Cept.load_g0_g0()) data_cept.extend(Cept.set_left_g0()) data_cept.extend(Cept.parallel_mode()) data_cept.extend(Cept.set_palette(0)) data_cept.extend(Cept.code_9e()) data_cept.extend(Cept.set_fg_color_simple(7)) data_cept.extend(Cept.load_g0_drcs()) data_cept.extend(Cept.set_left_g0()) data_cept.extend(b'!"#\r\n$%&') data_cept.extend(Cept.cursor_up()) data_cept.extend(Cept.cursor_right()) data_cept.extend(Cept.load_g0_g0()) data_cept.extend(Cept.set_left_g0()) data_cept.extend(b'\n') data_cept.extend(Cept.double_height()) data_cept.extend(Cept.from_str("Bildschirmtext")) data_cept.extend(b'\r\n') data_cept.extend(Cept.set_line_bg_color_simple(4)) data_cept.extend(b'\n') data_cept.extend(Cept.set_line_bg_color_simple(4)) data_cept.extend(Cept.set_palette(1)) data_cept.extend(Cept.double_height()) data_cept.extend(b'\r') data_cept.extend(Cept.from_str("Deutsche Bundespost")) data_cept.extend(b'\n\r') data_cept.extend(Cept.set_palette(0)) data_cept.extend(Cept.normal_size()) data_cept.extend(Cept.code_9e()) data_cept.extend(b'\r\n') data_cept.extend(Cept.set_fg_color_simple(3)) data_cept.extend(Cept.from_str(current_date)) data_cept.extend(Cept.set_fg_color_simple(7)) data_cept.extend(b'\r\n\n') data_cept.extend(Cept.from_str("Guten Tag")) data_cept.extend(b'\r\n') data_cept.extend(Cept.from_str(user_name)) data_cept.extend(b'\r\n') data_cept.extend(Cept.set_fg_color_simple(3)) data_cept.extend(Cept.from_str(notifications)) data_cept.extend(Cept.set_fg_color_simple(7)) data_cept.extend(Cept.set_cursor(19, 1)) data_cept.extend(Cept.from_str("Sie benutzten Bildschirmtext zuletzt")) data_cept.extend(b'\r\n') data_cept.extend(Cept.from_str("am ")) data_cept.extend(Cept.set_fg_color_simple(3)) data_cept.extend(Cept.from_str(last_date)) data_cept.extend(Cept.set_fg_color_simple(7)) data_cept.extend(Cept.from_str(" bis ")) data_cept.extend(Cept.set_fg_color_simple(3)) data_cept.extend(Cept.from_str(last_time)) data_cept.extend(Cept.set_fg_color_simple(7)) data_cept.extend(b'\r\n\r\n\r\n') data_cept.extend(Cept.set_line_bg_color_simple(4)) data_cept.extend(Cept.from_str("Weiter mit # oder *Seitennummer#")) return (meta, data_cept)