Python curses.ascii() Examples
The following are 30
code examples of curses.ascii().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
curses
, or try the search function
.
Example #1
Source File: textpad.py From Imogen with MIT License | 6 votes |
def _insert_printable_char(self, ch): self._update_max_yx() (y, x) = self.win.getyx() backyx = None while y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if not self.insert_mode or not curses.ascii.isprint(oldch): break ch = oldch (y, x) = self.win.getyx() # Remember where to put the cursor back since we are in insert_mode if backyx is None: backyx = y, x if backyx is not None: self.win.move(*backyx)
Example #2
Source File: textpad.py From BinderFilter with MIT License | 6 votes |
def _insert_printable_char(self, ch): (y, x) = self.win.getyx() if y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if self.insert_mode: (backy, backx) = self.win.getyx() if curses.ascii.isprint(oldch): self._insert_printable_char(oldch) self.win.move(backy, backx)
Example #3
Source File: wgwidget.py From HomePWN with GNU General Public License v3.0 | 6 votes |
def set_up_handlers(self): """This function should be called somewhere during object initialisation (which all library-defined widgets do). You might like to override this in your own definition, but in most cases the add_handers or add_complex_handlers methods are what you want.""" #called in __init__ self.handlers = { curses.ascii.NL: self.h_exit_down, curses.ascii.CR: self.h_exit_down, curses.ascii.TAB: self.h_exit_down, curses.KEY_BTAB: self.h_exit_up, curses.KEY_DOWN: self.h_exit_down, curses.KEY_UP: self.h_exit_up, curses.KEY_LEFT: self.h_exit_left, curses.KEY_RIGHT: self.h_exit_right, # "^P": self.h_exit_up, # "^N": self.h_exit_down, curses.ascii.ESC: self.h_exit_escape, curses.KEY_MOUSE: self.h_exit_mouse, } self.complex_handlers = []
Example #4
Source File: wgtextbox.py From TelegramTUI with MIT License | 6 votes |
def set_up_handlers(self): super(Textfield, self).set_up_handlers() # For OS X del_key = curses.ascii.alt('~') self.handlers.update({curses.KEY_LEFT: self.h_cursor_left, curses.KEY_RIGHT: self.h_cursor_right, curses.KEY_DC: self.h_delete_right, curses.ascii.DEL: self.h_delete_left, curses.ascii.BS: self.h_delete_left, curses.KEY_BACKSPACE: self.h_delete_left, # mac os x curses reports DEL as escape oddly # no solution yet "^K": self.h_erase_right, "^U": self.h_erase_left, }) self.complex_handlers.extend(( (self.t_input_isprint, self.h_addch), # (self.t_is_ck, self.h_erase_right), # (self.t_is_cu, self.h_erase_left), ))
Example #5
Source File: textpad.py From ironpython2 with Apache License 2.0 | 6 votes |
def gather(self): "Collect and return the contents of the window." result = "" self._update_max_yx() for y in range(self.maxy+1): self.win.move(y, 0) stop = self._end_of_line(y) if stop == 0 and self.stripspaces: continue for x in range(self.maxx+1): if self.stripspaces and x > stop: break result = result + chr(curses.ascii.ascii(self.win.inch(y, x))) if self.maxy > 0: result = result + "\n" return result
Example #6
Source File: textpad.py From oss-ftp with MIT License | 6 votes |
def _insert_printable_char(self, ch): (y, x) = self.win.getyx() if y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if self.insert_mode: (backy, backx) = self.win.getyx() if curses.ascii.isprint(oldch): self._insert_printable_char(oldch) self.win.move(backy, backx)
Example #7
Source File: textpad.py From ironpython2 with Apache License 2.0 | 6 votes |
def _insert_printable_char(self, ch): self._update_max_yx() (y, x) = self.win.getyx() backyx = None while y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if not self.insert_mode or not curses.ascii.isprint(oldch): break ch = oldch (y, x) = self.win.getyx() # Remember where to put the cursor back since we are in insert_mode if backyx is None: backyx = y, x if backyx is not None: self.win.move(*backyx)
Example #8
Source File: wgtextbox.py From HomePWN with GNU General Public License v3.0 | 6 votes |
def set_up_handlers(self): super(Textfield, self).set_up_handlers() # For OS X del_key = curses.ascii.alt('~') self.handlers.update({curses.KEY_LEFT: self.h_cursor_left, curses.KEY_RIGHT: self.h_cursor_right, curses.KEY_DC: self.h_delete_right, curses.ascii.DEL: self.h_delete_left, curses.ascii.BS: self.h_delete_left, curses.KEY_BACKSPACE: self.h_delete_left, # mac os x curses reports DEL as escape oddly # no solution yet "^K": self.h_erase_right, "^U": self.h_erase_left, }) self.complex_handlers.extend(( (self.t_input_isprint, self.h_addch), # (self.t_is_ck, self.h_erase_right), # (self.t_is_cu, self.h_erase_left), ))
Example #9
Source File: tabview.py From OpenTrader with GNU Lesser General Public License v3.0 | 6 votes |
def _search_validator(self, ch): """Fix Enter and backspace for textbox. Used as an aux function for the textpad.edit method """ if ch == curses.ascii.NL: # Enter return curses.ascii.BEL elif ch == 127: # Backspace self.search_str = self.textpad.gather().strip().lower()[:-1] return 8 else: if 0 < ch < 256: c = chr(ch) if c in string.printable: res = self.textpad.gather().strip().lower() self.search_str = res + chr(ch) self.search_results(look_in_cur=True) self.display() return ch
Example #10
Source File: wgwidget.py From TelegramTUI with MIT License | 6 votes |
def set_up_handlers(self): """This function should be called somewhere during object initialisation (which all library-defined widgets do). You might like to override this in your own definition, but in most cases the add_handers or add_complex_handlers methods are what you want.""" #called in __init__ self.handlers = { curses.ascii.NL: self.h_exit_down, curses.ascii.CR: self.h_exit_down, curses.ascii.TAB: self.h_exit_down, curses.KEY_BTAB: self.h_exit_up, curses.KEY_DOWN: self.h_exit_down, curses.KEY_UP: self.h_exit_up, curses.KEY_LEFT: self.h_exit_left, curses.KEY_RIGHT: self.h_exit_right, # "^P": self.h_exit_up, # "^N": self.h_exit_down, curses.ascii.ESC: self.h_exit_escape, curses.KEY_MOUSE: self.h_exit_mouse, } self.complex_handlers = []
Example #11
Source File: textpad.py From PokemonGo-DesktopMap with MIT License | 6 votes |
def _insert_printable_char(self, ch): (y, x) = self.win.getyx() if y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if self.insert_mode: (backy, backx) = self.win.getyx() if curses.ascii.isprint(oldch): self._insert_printable_char(oldch) self.win.move(backy, backx)
Example #12
Source File: wgwidget.py From apple_bleee with GNU General Public License v3.0 | 6 votes |
def set_up_handlers(self): """This function should be called somewhere during object initialisation (which all library-defined widgets do). You might like to override this in your own definition, but in most cases the add_handers or add_complex_handlers methods are what you want.""" #called in __init__ self.handlers = { curses.ascii.NL: self.h_exit_down, curses.ascii.CR: self.h_exit_down, curses.ascii.TAB: self.h_exit_down, curses.KEY_BTAB: self.h_exit_up, curses.KEY_DOWN: self.h_exit_down, curses.KEY_UP: self.h_exit_up, curses.KEY_LEFT: self.h_exit_left, curses.KEY_RIGHT: self.h_exit_right, # "^P": self.h_exit_up, # "^N": self.h_exit_down, curses.ascii.ESC: self.h_exit_escape, curses.KEY_MOUSE: self.h_exit_mouse, } self.complex_handlers = []
Example #13
Source File: vi_editor.py From ci_edit with Apache License 2.0 | 6 votes |
def setTextBuffer(self, textBuffer): app.controller.Controller.setTextBuffer(self, textBuffer) normalCommandSet = { ord('^'): textBuffer.cursorStartOfLine, ord('$'): textBuffer.cursorEndOfLine, ord('h'): textBuffer.cursorLeft, ord('i'): self.switchToCommandSetInsert, ord('j'): textBuffer.cursorDown, ord('k'): textBuffer.cursorUp, ord('l'): textBuffer.cursorRight, } self.commandSet = normalCommandSet self.commandSet_Insert = { curses.ascii.ESC: self.switchToCommandSetNormal, } self.commandDefault = self.textBuffer.insertPrintable
Example #14
Source File: textpad.py From Splunking-Crime with GNU Affero General Public License v3.0 | 6 votes |
def _insert_printable_char(self, ch): (y, x) = self.win.getyx() if y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if self.insert_mode: (backy, backx) = self.win.getyx() if curses.ascii.isprint(oldch): self._insert_printable_char(oldch) self.win.move(backy, backx)
Example #15
Source File: wgtextbox.py From EDCOP with Apache License 2.0 | 6 votes |
def set_up_handlers(self): super(Textfield, self).set_up_handlers() # For OS X del_key = curses.ascii.alt('~') self.handlers.update({curses.KEY_LEFT: self.h_cursor_left, curses.KEY_RIGHT: self.h_cursor_right, curses.KEY_DC: self.h_delete_right, curses.ascii.DEL: self.h_delete_left, curses.ascii.BS: self.h_delete_left, curses.KEY_BACKSPACE: self.h_delete_left, # mac os x curses reports DEL as escape oddly # no solution yet "^K": self.h_erase_right, "^U": self.h_erase_left, }) self.complex_handlers.extend(( (self.t_input_isprint, self.h_addch), # (self.t_is_ck, self.h_erase_right), # (self.t_is_cu, self.h_erase_left), ))
Example #16
Source File: textpad.py From ironpython3 with Apache License 2.0 | 6 votes |
def _insert_printable_char(self, ch): (y, x) = self.win.getyx() if y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if self.insert_mode: (backy, backx) = self.win.getyx() if curses.ascii.isprint(oldch): self._insert_printable_char(oldch) self.win.move(backy, backx)
Example #17
Source File: textpad.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def _insert_printable_char(self, ch): self._update_max_yx() (y, x) = self.win.getyx() backyx = None while y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if not self.insert_mode or not curses.ascii.isprint(oldch): break ch = oldch (y, x) = self.win.getyx() # Remember where to put the cursor back since we are in insert_mode if backyx is None: backyx = y, x if backyx is not None: self.win.move(*backyx)
Example #18
Source File: wgwidget.py From EDCOP with Apache License 2.0 | 6 votes |
def set_up_handlers(self): """This function should be called somewhere during object initialisation (which all library-defined widgets do). You might like to override this in your own definition, but in most cases the add_handers or add_complex_handlers methods are what you want.""" #called in __init__ self.handlers = { curses.ascii.NL: self.h_exit_down, curses.ascii.CR: self.h_exit_down, curses.ascii.TAB: self.h_exit_down, curses.KEY_BTAB: self.h_exit_up, curses.KEY_DOWN: self.h_exit_down, curses.KEY_UP: self.h_exit_up, curses.KEY_LEFT: self.h_exit_left, curses.KEY_RIGHT: self.h_exit_right, "^P": self.h_exit_up, "^N": self.h_exit_down, curses.ascii.ESC: self.h_exit_escape, curses.KEY_MOUSE: self.h_exit_mouse, } self.complex_handlers = []
Example #19
Source File: textpad.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def _insert_printable_char(self, ch): (y, x) = self.win.getyx() if y < self.maxy or x < self.maxx: if self.insert_mode: oldch = self.win.inch() # The try-catch ignores the error we trigger from some curses # versions by trying to write into the lowest-rightmost spot # in the window. try: self.win.addch(ch) except curses.error: pass if self.insert_mode: (backy, backx) = self.win.getyx() if curses.ascii.isprint(oldch): self._insert_printable_char(oldch) self.win.move(backy, backx)
Example #20
Source File: textpad.py From Imogen with MIT License | 6 votes |
def gather(self): "Collect and return the contents of the window." result = "" self._update_max_yx() for y in range(self.maxy+1): self.win.move(y, 0) stop = self._end_of_line(y) if stop == 0 and self.stripspaces: continue for x in range(self.maxx+1): if self.stripspaces and x > stop: break result = result + chr(curses.ascii.ascii(self.win.inch(y, x))) if self.maxy > 0: result = result + "\n" return result
Example #21
Source File: textpad.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def gather(self): "Collect and return the contents of the window." result = "" self._update_max_yx() for y in range(self.maxy+1): self.win.move(y, 0) stop = self._end_of_line(y) if stop == 0 and self.stripspaces: continue for x in range(self.maxx+1): if self.stripspaces and x > stop: break result = result + chr(curses.ascii.ascii(self.win.inch(y, x))) if self.maxy > 0: result = result + "\n" return result
Example #22
Source File: wgtextbox.py From HomePWN with GNU General Public License v3.0 | 5 votes |
def _print_unicode_char(self, ch): # return the ch to print. For python 3 this is just ch if self._force_ascii: return ch.encode('ascii', 'replace') elif sys.version_info[0] >= 3: return ch else: return ch.encode('utf-8', 'strict')
Example #23
Source File: textpad.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def gather(self): "Collect and return the contents of the window." result = "" for y in range(self.maxy+1): self.win.move(y, 0) stop = self._end_of_line(y) if stop == 0 and self.stripspaces: continue for x in range(self.maxx+1): if self.stripspaces and x > stop: break result = result + chr(curses.ascii.ascii(self.win.inch(y, x))) if self.maxy > 0: result = result + "\n" return result
Example #24
Source File: textpad.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def _end_of_line(self, y): """Go to the location of the first blank on the given line, returning the index of the last non-blank character.""" self._update_max_yx() last = self.maxx while True: if curses.ascii.ascii(self.win.inch(y, last)) != curses.ascii.SP: last = min(self.maxx, last+1) break elif last == 0: break last = last - 1 return last
Example #25
Source File: wgtextbox.py From EDCOP with Apache License 2.0 | 5 votes |
def _print_unicode_char(self, ch): # return the ch to print. For python 3 this is just ch if self._force_ascii: return ch.encode('ascii', 'replace') elif sys.version_info[0] >= 3: return ch else: return ch.encode('utf-8', 'strict')
Example #26
Source File: wgtextbox.py From HomePWN with GNU General Public License v3.0 | 5 votes |
def h_addch(self, inp): if self.editable: #self.value = self.value[:self.cursor_position] + curses.keyname(input) \ # + self.value[self.cursor_position:] #self.cursor_position += len(curses.keyname(input)) # workaround for the metamode bug: if self._last_get_ch_was_unicode == True and isinstance(self.value, bytes): # probably dealing with python2. ch_adding = inp self.value = self.value.decode() elif self._last_get_ch_was_unicode == True: ch_adding = inp else: try: ch_adding = chr(inp) except TypeError: ch_adding = input self.value = self.value[:self.cursor_position] + ch_adding \ + self.value[self.cursor_position:] self.cursor_position += len(ch_adding) # or avoid it entirely: #self.value = self.value[:self.cursor_position] + curses.ascii.unctrl(input) \ # + self.value[self.cursor_position:] #self.cursor_position += len(curses.ascii.unctrl(input))
Example #27
Source File: wgtextbox.py From HomePWN with GNU General Public License v3.0 | 5 votes |
def t_input_isprint(self, inp): if self._last_get_ch_was_unicode and inp not in '\n\t\r': return True if curses.ascii.isprint(inp) and \ (chr(inp) not in '\n\t\r'): return True else: return False
Example #28
Source File: textpad.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def _end_of_line(self, y): """Go to the location of the first blank on the given line, returning the index of the last non-blank character.""" last = self.maxx while True: if curses.ascii.ascii(self.win.inch(y, last)) != curses.ascii.SP: last = min(self.maxx, last+1) break elif last == 0: break last = last - 1 return last
Example #29
Source File: wgtextbox.py From HomePWN with GNU General Public License v3.0 | 5 votes |
def print_cursor_pre_unicode(self): # Cursors do not seem to work on pads. #self.parent.curses_pad.move(self.rely, self.cursor_position - self.begin_at) # let's have a fake cursor _cur_loc_x = self.cursor_position - self.begin_at + self.relx + self.left_margin # The following two lines work fine for ascii, but not for unicode #char_under_cur = self.parent.curses_pad.inch(self.rely, _cur_loc_x) #self.parent.curses_pad.addch(self.rely, self.cursor_position - self.begin_at + self.relx, char_under_cur, curses.A_STANDOUT) #The following appears to work for unicode as well. try: char_under_cur = self.display_value(self.value)[self.cursor_position] except: char_under_cur = ' ' self.parent.curses_pad.addstr(self.rely, self.cursor_position - self.begin_at + self.relx + self.left_margin, char_under_cur, curses.A_STANDOUT)
Example #30
Source File: wgwidget.py From HomePWN with GNU General Public License v3.0 | 5 votes |
def safe_filter(self, this_string): try: this_string = this_string.decode(self.encoding, 'replace') return this_string.encode('ascii', 'replace').decode() except: # Things have gone badly wrong if we get here, but let's try to salvage it. try: if self._safe_filter_value_cache[0] == this_string: return self._safe_filter_value_cache[1] except AttributeError: pass s = [] for cha in this_string.replace('\n', ' '): #if curses.ascii.isprint(cha): # s.append(cha) #else: # s.append('?') try: s.append(str(cha)) except: s.append('?') s = ''.join(s) self._safe_filter_value_cache = (this_string, s) return s #s = '' #for cha in this_string.replace('\n', ''): # try: # s += cha.encode('ascii') # except: # s += '?' #return s