Home
pyte Release 0.4.9
Contents
1. 3 A mapping of ANSI foreground color codes to color names example 22 Chapter 4 Show me the code pyte Release 0 4 9 gt gt gt FG 30 black gt gt gt FG 38 default pyte graphics BG 49 default 40 black 41 red 42 green 43 brown 44 blue 45 magenta 46 cyan 47 A mapping of ANSI background color codes to color names example gt gt gt BG 40 black gt gt gt BG 48 default 4 2 8 pyte charsets This module defines GO and G1 charset mappings the same way they are defined for linux terminal see linux drivers tty consolemap c http git kernel org Note VT100 MAP and IBMPC MAP were taken unchanged from linux kernel source and therefore are licensed under GPL copyright 3 2011 2013 by Selectel see AUTHORS for details license LGPL see LICENSE for more details pyte c harsets LAT1 MAP x00 x01 x02 x03 x04 x05 x06 x07 x08 NE An xO0b x0c Mr x0 Latinl pyte c harsets VT100 MAP x00 x01 x02 x03 x04 x05 x06 x07 x08 t n x0b x0c r x0e xOf x 10 x 1 1 x12 x13 x14 x15 x16 x 1 VT100 graphic character set pyte c harsets IBMPC MAP x00eh STJ PHS amp V 0123456789 lt gt O ABCDEFGHIJKLMNOPQRSTUV IBM Codepage 437 pyte c harsets VAX42 MAP Ax00 ATST
2. Horizontal Vertical position Same as CUP pyte escape TBC g Tabulation clear Clears a horizontal tab stop at cursor position pyte escape SM h Set mode pyte escape RM P Reset mode pyte escape SGR m Select graphics rendition The terminal can display the following character attributes that change the character display without changing the character see pyte graphics pyte escape DECSTBM r Select top and bottom margins Selects margins defining the scrolling region parameters are top and bottom line If called without any arguments whole screen is used 66 pyte escape HPA Horizontal position adjust Same as CHA 4 2 7 pyte graphics This module defines graphic related constants mostly taken from console codes 4 and http pueblo sourceforge net doc manual ansi color codes html copyright 3 2011 2013 by Selectel see AUTHORS for details license LGPL see LICENSE for more details pyte graphics TEXT 27 reverse 1 bold 3 italics 4 underscore 22 bold 7 reverse 24 underscore A mapping of ANSI text style codes to style names means the attribute is set reset example gt gt gt text 1 bold gt gt gt text 9 strikethrough pyte graphics FG 32 green 33 brown 34 blue 35 magenta 36 cyan 37 white 39 default 30 black
3. e y int vertical cursor position e attrs pyte screens Char cursor attributes see selectel graphic rendition for details class pyte screens Screen columns lines A screen is an in memory matrix of characters that represents the screen display of the terminal It can be instantiated on it s own and given explicit commands or it can be attached to a stream and will respond to events buffer A lines x columns Char matrix cursor Reference to the Cursor object holding cursor position and attributes margins Top and bottom screen margins defining the scrolling region the actual values are top and bottom line charset Current charset number can be either 0 or 1 for GO and G1 respectively note that GO is activated by default Note According to ECMA 48 standard lines and columnns are 1 indexed so for instance ESC 10 10 f really means move cursor to position 9 9 in the display matrix Changed in version 0 4 7 Warning LNM is reset by default to match VT220 specification Changed in version 0 4 8 Warning If DECAWM mode is set than a cursor will be wrapped to the beginning of the next line which is the behaviour described in man console codes See also Standard ECMA 48 Section 6 1 1 For a description of the presentational component implemented by Screen default char Char data fg default bg default bold False italics False underscore False s
4. gt lt H amp 0123456789 lt gt O ABCDEFGHIJKLMNOPQRSTUVW VAX42 character set 4 3 pyte Changelog Here you can see the full list of changes between each pyte release 4 3 1 Version 0 4 9 Bugfix release released on December 3rd 2014 e Fixed a bug in pyte screens Char initialisation see issue 24 on GitHub for details e Updated error message in pyte streams Stream referencing str is relevant for Python 3 but not Python 2 4 3 pyte Changelog 23 pyte Release 0 4 9 4 3 2 Version 0 4 8 Released on January 13th 2014 e pyte screens Screen does NOT inherit from builtin list use screen buffer to access individual characters directly This is a backward INCOMPATIBLE change e pyte screens Char _asdict was broken on Python 3 3 because of the changes in namedtuple implementation e pyte charsets LATI MAP was an iterator because of the change in map semantics in Python 3 e Changed pyte screens Screen to issues a CR in addition to LF when DECAWM mode is set and the cursor is at the right border of the screen See http www vt100 net docs vt5 10 rm DECAWM and issue 20 on GitHub for details 4 3 3 Version 0 4 7 Bugfix release released on March 28th 2013 e Updated pyte and tests suite to work under Python 3 3 e Changed pyte screens Screen so that LNM mode is reset by default see http www vt100 net docs vt5 10 rm LNM and issue 11 on GitHub for details 4 3 4 Version 0 4 6 Bugfix
5. Set display attributes Parameters attrs list a list of display attributes to set class pyte screens DiffScreen args A screen subclass which maintains a set of dirty lines in its dirty attribute The end user is responsible for emptying a set when a diff is applied 4 2 API reference 17 pyte Release 0 4 9 dirty A set of line numbers which should be re drawn gt gt gt screen DiffScreen 80 24 gt gt gt screen dirty clear gt gt gt screen draw u gt gt gt screen dirty set 0 class pyte screens HistoryScreen columns lines history 100 ratio 0 5 A screen subclass which keeps track of screen history and allows pagination This is not linux specific but still useful see page 462 of VT520 User s Manual Parameters e history int total number of history lines to keep is split between top and bottom queues e ratio int defines how much lines to scroll on next page and prev page calls history A pair of history queues for top and bottom margins accordingly here s the overall screen structure BS vee lt top history 3 oO OR A U NSE lt bottom history Note Don t forget to update Stream class with appropriate escape sequences you can use any since pagination protocol is not standardized for example Stream escape N next page Stream escape P prev page reset O
6. is set Parameters char str a character to display carriage return Move the cursor to the beginning of the current line index Move the cursor down one line in the same column If the cursor is at the last line create a new line at the bottom reverse_index Move the cursor up one line in the same column If the cursor is at the first line create a new line at the top linefeed Performs an index and if LNM is set a carriage return tab Move to the next tab space or the end of the screen if there aren t anymore left backspace Move cursor to the left one or keep it in it s position if it s at the beginning of the line already save_cursor Push the current cursor position onto the stack restore cursor Set the current cursor position to whatever cursor is on top of the stack insert lines count None Inserts the indicated of lines at line with cursor Lines displayed at and below the cursor move down Lines moved past the bottom margin are lost Parameters count number of lines to delete delete lines count None Deletes the indicated of lines starting at line with cursor As lines are deleted lines displayed below cursor move up Lines added to bottom of screen have spaces with same character attributes as last line moved up Parameters count int number of lines to delete insert characters count None Inserts the indicated of blank characters at the cursor p
7. s a quick example of how streams are typically used gt gt gt import pyte gt gt gt gt gt gt class Dummy object def _ init self self y 0 def cursor_up self count None self y count or 1 gt gt gt dummy Dummy gt gt gt stream pyte Stream gt gt gt stream attach dummy gt gt gt stream feed u 5A Move the cursor up 5 rows gt gt gt dummy y copyright 3 2011 2013 by Selectel see AUTHORS for details license LGPL see LICENSE for more details 10 Chapter 4 Show me the code pyte Release 0 4 9 class pyte streams Stream A stream is a state machine that parses a stream of characters and dispatches events based on what it sees Note Stream only accepts strings as input but if for some reason you need to feed it with bytes consider using ByteSt ream instead See also man console codes For details on console codes listed bellow in basic escape csi and sharp basic x07 bell t tab Ax0b linefeed xOf shift in n linefeed Ax0c linefeed x0e shift out Control sequences which don t require any arguments escape H set_tab_stop D index c reset 8 restore cursor 7 save_cursor M reverse index E non CSI escape sequences sharp 8 alignment_display
8. sharp escape sequences ESC lt N gt csi H cursor position L insert lines f cursor position F cursor_up1 cursor to column X CSI escape sequences CSI P1 P2 Pn lt fn gt reset Reset state to st ream and empty parameter attributes consume char Consume a single string character and advance the state as necessary Parameters char str a character to consume feed chars Consume a string and advance the state as necessary Parameters chars str a string to feed from attach screen only Adds a given screen to the listeners queue Parameters screen pyte screens Screen a screen to attach to only list a list of events you want to dispatch to a given screen empty by default which means dispatch all events detach screen Removes a given screen from the listeners queue and failes silently if it s not attached Parameters screen pyte screens Screen a screen to detach dispatch event args kwargs Dispatch an event Event handlers are looked up implicitly in the listeners ___dict__ so if a listener only wants to handle DRAW events it should define a draw method or pass only draw argument to attach Warning If any of the attached listeners throws an exception the subsequent callbacks are be aborted Parameters e event str event to d
9. ape HTS H Tabulation set Set a horizontal tab stop at cursor position pyte escape RI M Reverse index Move cursor up one line in same column If the cursor is at the top margin the screen performs a scroll down pyte escape DECSC 7 Save cursor Save cursor position character attribute graphic rendition character set and origin mode selec tion see DECRC pyte escape DECRC 8 Restore cursor Restore previously saved cursor position character attribute graphic rendition character set and origin mode selection If none were saved move cursor to home position pyte escape DECALN 8 Alignment display Fill screen with uppercase E s for testing screen focus and alignment pyte escape ICH Insert character Insert the indicated of blank characters pyte escape CUU A Cursor up Move cursor up the indicated of lines in same column Cursor stops at top margin pyte escape CUD B Cursor down Move cursor down the indicated of lines in same column Cursor stops at bottom margin pyte escape CUF C Cursor forward Move cursor right the indicated of columns Cursor stops at right margin pyte escape CUB D Cursor back Move cursor left the indicated of columns Cursor stops at left margin pyte escape CNL F Cursor next line Move cursor down the indicated of lines to column 1 pyte escape CPL F Cursor previous line Move cu
10. aracters moved past the right margin are lost Otherwise new display characters replace old display characters at the cursor position pyte modes DECTCEM 800 Text Cursor Enable Mode determines if the text cursor is visible pyte modes DECSCNM 160 Screen Mode toggles screen wide reverse video mode pyte modes DECOM 192 Origin Mode allows cursor addressing relative to a user defined origin This mode resets when the terminal is powered up or reset It does not affect the erase in display ED function pyte modes DECAWM 224 Auto Wrap Mode selects where received graphic characters appear when the cursor is at the right margin pyte modes DECCOLM 96 Column Mode selects the number of columns per line 80 or 132 on the screen 4 2 5 pyte control This module defines simple control sequences recognized by St ream the set of codes here is for TERM linux which is a superset of VT102 copyright 3 2011 2013 by Selectel see AUTHORS for details license LGPL see LICENSE for more details pyte control SP Space Not suprisingly 4 2 API reference 19 pyte Release 0 4 9 pyte control NUL x00 Null Does nothing pyte control BEL x07 Bell Beeps pyte control BS x08 Backspace Backspace one column but not past the begining of the line pyte control HT N Horizontal tab Move cursor to the next tab stop or to the end of the line if there is no earli
11. ase 0 4 9 4 Chapter 1 Installation CHAPTER 2 Similar projects pyte is not alone in the weird world of terminal emulator libraries here s a few other options worth checking out Termemulator pygonsole webtty AjaxTerm and of course vt102 pyte Release 0 4 9 6 Chapter 2 Similar projects CHAPTER 3 pyte Users Believe it or not there re projects which actually need a terminal emulator library not many of them use pyte though Selectel hey we wrote this thing e Ajenti easy to use weadmin panel for Linux and BSD uses pyte for its terminal plugin e Neutron IDE personal cloud IDE pyte Release 0 4 9 8 Chapter 3 pyte users CHAPTER 4 Show me the code Head over to our brief Tutorial or if you re feeling brave dive right into the API reference pyte also has a couple of minimal examples in the examples directory 4 1 Tutorial There are two important classes in pyte Screen and Stream The Screen is the terminal screen emulator It maintains an in memory buffer of text and text attributes to display on screen The Stream is the stream processor It manages the state of the input and dispatches events to anything that s listening about things that are going on Events are things like LINEFEED DRAW a or CURSOR POSITION 10 10 See the API reference for more details In general if you just want to know what s being displayed on scre
12. by default gt gt gt stream DebugStream gt gt gt stream feed 1 24r 41 24 1H 0 10m SET MARGINS 1 24 RESET MODE 4 CURSOR POSITION 24 1 SELECT GRAPHIC RENDITION 0 10 Parameters e to file a file like object to write debug information to e only list a list of events you want to debug empty by default which means debug all events 4 2 3 pyte screens This module provides classes for terminal screens currently it contains three screens with different features e Screen base screen implementation which handles all the core escape sequences recognized by St ream e If you need a screen to keep track of the changed lines which you probably do need use DiffScreen e If you also want a screen to collect history and allow pagination pyte screen HistoryScreen is here for ya Note It would be nice to split those features into mixin classes rather than subclasses but it s not obvious how to do feel free to submit a pull request 12 Chapter 4 Show me the code pyte Release 0 4 9 copyright 3 2011 2013 Selectel see AUTHORS for details license LGPL see LICENSE for more details class pyte screens Cursor x y attrs Char data fg default bg default bold False ital ics False underscore False strikethrough False reverse False Screen cursor Parameters e x int horizontal cursor position
13. en method 17 cursor_down1 pyte screens Screen method 17 cursor_forward pyte screens Screen method 17 cursor_position pyte screens Screen method 17 cursor_to_column pyte screens Screen method 17 cursor_to_line pyte screens Screen method 17 cursor_up pyte screens Screen method 16 cursor_upl pyte screens Screen method 17 CUU in module pyte escape 21 D DCH in module pyte escape 21 DebugStream class in pyte streams 12 DECALN in module pyte escape 21 DECAWM in module pyte modes 19 DECCOLM in module pyte modes 19 DECOM in module pyte modes 19 DECRC in module pyte escape 21 DECSC in module pyte escape 21 DECSCNM in module pyte modes 19 DECSTBM in module pyte escape 22 DECTCEM in module pyte modes 19 default_char pyte screens Screen attribute 13 default_line pyte screens Screen attribute 13 DEL in module pyte control 20 delete_characters pyte screens Screen method 16 delete_lines pyte screens Screen method 15 detach pyte streams Stream method 11 DiffScreen class in pyte screens 17 dirty pyte screens DiffScreen attribute 17 dispatch pyte streams Stream method 11 display pyte screens Screen attribute 14 DL in module pyte escape 21 draw pyte screens Screen method 15 E ECH in module pyte escape 22 ED in module pyte escape 21 EL in module pyte escape 21 ensure_bounds pyte screens Screen method 16 erase_c
14. en you can do something like the following gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt import pyte screen pyte Screen 80 24 stream pyte Stream stream attach screen stream feed Hello World screen display Hello World pyte Release 0 4 9 Note Screen has no idea what is the source of bytes fed into Stream so obviously it can t read or change environment variables which implies that e it doesn t adjust LINES and COLUMNS on resize event e it doesn t use locale settings LC_ and LANG e it doesn t use TERM value and expects it to be linux and only linux 4 2 API reference 4 2 1 pyte pyte implements a mix of VT100 VT220 and VT520 specification and aims to support most of the TERM linux functionality Two classes St ream which parses the command stream and dispatches events for commands and Screen which when used with a stream maintains a buffer of strings representing the screen of a terminal Warning From xterm main c If you think you know what all of this code is doing you are probably very mistaken There be serious and nasty dragons here nothing has changed copyright 3 2011 2013 by Selectel see AUTHORS for details license LGPL see LICENSE for more details 4 2 2 pyte streams This module provides three stream implementations with different features for starters here
15. er tab stop pyte control LF An Linefeed Give a line feed and if pyte modes LNM new line mode is set also a carriage return pyte control VT x0b Vertical tab Same as LF pyte control FF x0c Form feed Same as LF pyte control CR Ar Carriage return Move cursor to left margin on current line pyte control SO x0e Shift out Activate Gl character set pyte control SI x0f Shift in Activate GO character set pyte control CAN x18 Cancel Interrupt escape sequence If received during an escape or control sequence cancels the sequence and displays substitution character pyte control SUB xla Substitute Same as CAN pyte control ESC Axlb Escape Starts an escape sequence pyte control DEL x7f Delete Is ignored pyte control CSI x9b Control sequence introducer An equavalent for ESC 4 2 6 pyte escape This module defines bot CSI and non CSI escape sequences recognized by St ream and subclasses copyright 3 2011 2013 by Selectel see AUTHORS for details license LGPL see LICENSE for more details pyte escape RIS c Reset pyte escape IND D Index Move cursor down one line in same column If the cursor is at the bottom margin the screen performs a scroll up 20 Chapter 4 Show me the code pyte Release 0 4 9 pyte escape NEL FE Next line Same as pyte control LF pyte esc
16. haracters pyte screens Screen method 16 erase_in_display pyte screens Screen method 16 erase_in_line pyte screens Screen method 16 ESC in module pyte control 20 escape pyte streams Stream attribute 11 F feed pyte streams Stream method 11 29 pyte Release 0 4 9 FF in module pyte control 20 FG in module pyte graphics 22 H history pyte screens HistoryScreen attribute 18 HistoryScreen class in pyte screens 18 HPA in module pyte escape 22 HPR in module pyte escape 22 HT in module pyte control 20 HTS in module pyte escape 21 HVP in module pyte escape 22 IBMPC_MAP in module pyte charsets 23 ICH in module pyte escape 21 IL in module pyte escape 21 IND in module pyte escape 20 index pyte screens HistoryScreen method 18 index pyte screens Screen method 15 insert_characters pyte screens Screen method 15 insert_lines pyte screens Screen method 15 IRM in module pyte modes 19 L LAT 1_MAP in module pyte charsets 23 LF in module pyte control 20 linefeed pyte screens Screen method 15 LNM in module pyte modes 19 M margins pyte screens Screen attribute 13 N NEL in module pyte escape 20 next_page pyte screens HistoryScreen method 18 NUL in module pyte control 19 P prev_page pyte screens HistoryScreen method 18 pyte module 10 pyte charsets module 23 pyte control module 19 p
17. igin mode and screen margins see xterm screen c 1761 Parameters e lines int number of lines in the new screen columns int number of columns in the new screen set margins top None bottom None Selects top and bottom margins for the scrolling region Margins determine which screen lines move during scrolling see index and reverse index Characters added outside the scrolling region do not cause the screen to scroll Parameters e top int the smallest line number that is scrolled e bottom int the biggest line number that is scrolled set charset code mode Set active GO or G1 charset Parameters e code str character set code should be a character from BOUK otherwise ignored e mode str if GO charset is set if we operate on G1 Warning User defined charsets are currently not supported 14 Chapter 4 Show me the code pyte Release 0 4 9 set mode modes kwargs Sets enables a given list of modes Parameters modes list modes to set where each mode is a constant from pyte modes reset mode modes kwargs Resets disables a given list of modes Parameters modes list modes to reset hopefully each mode is a constant from pyte modes shift in Activates GO character set shift out Activates G1 character set draw char Display a character at the current cursor position and advance the cursor if DECAWM
18. indicated of lines in same column Cursor stops at bottom margin Parameters count int number of lines to skip cursor downl count None Moves cursor down the indicated of lines to column 1 Cursor stops at bottom margin Parameters count int number of lines to skip cursor back count None Moves cursor left the indicated of columns Cursor stops at left margin Parameters count int number of columns to skip cursor forward count None Moves cursor right the indicated of columns Cursor stops at right margin Parameters count int number of columns to skip cursor position line None column None Set the cursor to a specific line and column Cursor is allowed to move out of the scrolling region only when DECOM is reset otherwise the position doesn t change Parameters e line int line number to move the cursor to e column int column number to move the cursor to cursor to column column None Moves cursor to a specific column in the current line Parameters column int column number to move the cursor to cursor to line line None Moves cursor to a specific line in the current column Parameters line int line number to move the cursor to bell args Bell stub the actual implementation should probably be provided by the end user alignment display Fills screen with uppercase E s for screen focus and alignment select graphic rendition aitrs
19. ispatch 4 2 API reference 11 pyte Release 0 4 9 args list arguments to pass to event handlers class pyte streams ByteStream encodings None A stream which takes bytes instead of strings as input and tries to decode them using a given list of possible encodings It uses codecs IncrementalDecoder internally so broken bytes is not an issue By default the following decoding strategy is used First try strict ut 8 proceed if recieved and UnicodeDecodeError Try strict cp437 failed move on Use ut f 8 with invalid bytes replaced this one will allways succeed gt gt gt stream ByteStream gt gt gt stream feed b foo decode utf 8 Traceback most recent call last File lt stdin gt line 1 in lt module gt File pyte streams py line 323 in feed o s requires input in bytes self class name TypeError ByteStream requires input in bytes gt gt gt stream feed b foo Parameters encodings list a list of encoding errors pairs where the first element is encoding name ex ut 8 and second defines how decoding errors should be handeld see str decode for possible values class pyte streams DebugSt ream to lt _io TextIOWrapper name lt stdout gt mode w encoding UTF 8 gt only args kwargs Stream which dumps a subset of the dispatched events to a given file like object sys stdout
20. n display type of 0 private False Erases display in a specific way Parameters e type of int defines the way the line should be erased in 0 Erases from cursor to end of screen including cursor position 1 Erases from beginning of screen to cursor including cursor position 2 Erases complete display All lines are erased and changed to single width Cursor does not move e private bool when True character attributes aren left unchanged not implemented set tab stop Sest a horizontal tab stop at cursor position clear tab stop type of None Clears a horizontal tab stop in a specific way depending on the type of value 0 or nothing Clears a horizontal tab stop at cursor position e3 Clears all horizontal tab stops ensure bounds use margins None Ensure that current cursor position is within screen bounds Parameters use margins bool when True or when DECOM is set cursor is bounded by top and and bottom margins instead of 0 lines 1 16 Chapter 4 Show me the code pyte Release 0 4 9 cursor up count None Moves cursor up the indicated of lines in same column Cursor stops at top margin Parameters count int number of lines to skip cursor upl count None Moves cursor up the indicated of lines to column 1 Cursor stops at bottom margin Parameters count int number of lines to skip cursor down count None Moves cursor down the
21. osition The cursor does not move and remains at the beginning of the inserted blank characters Data on the line is shifted forward 4 2 API reference 15 pyte Release 0 4 9 Parameters count int number of characters to insert delete characters count None Deletes the indicated of characters starting with the character at cursor position When a character is deleted all characters to the right of cursor move left Character attributes move with the characters Parameters count int number of characters to delete erase characters count None Erases the indicated of characters starting with the character at cursor position Character attributes are set cursor attributes The cursor remains in the same position Parameters count int number of characters to erase Warning Even though ALL of the VTXXX manuals state that character attributes should be reset to defaults Libvte xterm and ROTE completely ignore this Same applies too all erase_ and delete_x methods erase in line type_of 0 private False Erases a line in a specific way Parameters e type of int defines the way the line should be erased in 0 Erases from cursor to end of line including cursor position 1 Erases from beginning of line to cursor including cursor position 2 Erases complete line e private bool when True character attributes aren left unchanged not implemented erase i
22. phics 22 V VAX42 MAP in module pyte charsets 23 VPA in module pyte escape 22 VPR in module pyte escape 22 VT in module pyte control 20 VT100_MAP in module pyte charsets 23 30 Index
23. pyte Release 0 4 9 August 04 2015 Contents 1 Installation 3 2 Similar projects 5 3 pyte users 7 4 Show me the code 9 del Titoniai ne oa sne Ae ee BR See Re Se ER ee eR Bee RO ee BA 9 42 APlrefetence qa ss varanen LER Ye Aw OR RRS Bw e E BS bw HARES 10 43 pyte Ch ngelos su gs snor Beas der ee ee do o Soars Gate fob Belo eo a Soe dg a 23 Python Module Index 27 pyte Release 0 4 9 Tee ek ief aS PI TP tet tt tet l LN AAN _ pee 0 4 9 It s an in memory VTXXX compatible terminal emulator XXX stands for a series of video terminals developed by DEC between 1970 and 1995 The first and probably the most famous one was VT100 terminal which is now a de facto standard for all virtual terminal emulators pyte follows the suit So why would one need a terminal emulator library e To screen scrape terminal apps for example ht op or aptitude e To write cross platform terminal emulators either with a graphical xterm rxvt or a web interface like Ajax Term e To have fun hacking on the ancient poorly documented technologies Note pyte started as a fork of vt102 which is an incomplete pure Python implementation of VT100 terminal Contents pyte Release 0 4 9 2 Contents CHAPTER 1 Installation If you have setuptools you can use easy install U pyte Otherwise you can download the source from GitHub and run python setup py install pyte Rele
24. reen event handlers are now implicitly looked up in screen s ___dict__ not connected manually e Changed cursor API cursor position and attributes are encapsulated in a separate Cursor class e Added support for DECSCNM toggle screen wide reverse video mode e Added a couple of useful Screen subclasses HistoryScreen which allows screen pagination and DiffScreen which tracks the changed lines 4 3 11 Version 0 3 9 Released on May 31st 2011 e Added initial support for GO 1 charsets mappings taken from tty kernel driver and SI SO escape sequences e Changed ByteSt ream to support fallback encodings it nows takes a listof encoding errors pairs and traverses it left to right on feed e Switched to unicode_literals one step closer to Python3 4 3 12 Version 0 3 8 Released on May 23rd 2011 e Major rewrite of Screen internals highlights inherits from list each character is represented by namedtuple which also holds SGR data e Numerous bugfixes especialy in methods dealing with manipulating character attributes 4 3 pyte Changelog 25 pyte Release 0 4 9 4 3 13 Version 0 3 7 First release after the adoption skipped a few version to reflect that Released on May 16th 2011 e Added support for ANSI color codes as listed in man console codes Not implemnted yet setting alter nate font setting and resetting mappings blinking text e Added a couple of trivial usage examples in
25. release released on February 29th 2012 4 3 5 Version 0 4 5 Technical release released on September Ist 2011 e Created MANIFEST in file e Added CentOS spec file 4 3 6 Version 0 4 4 Bugfix release released on July 17th 2011 e Removed pdb calls left from HistoryScreen debugging silly I know 4 3 7 Version 0 4 3 Bugfix release released on July 12th 2011 e Fixed encoding issues in DebugStream Unicode was not converted to bytes properly e Fixed GO 1 charset handling and added VAX42 charset for the ancient stuff to work correctly 24 Chapter 4 Show me the code pyte Release 0 4 9 4 3 8 Version 0 4 2 Bugfix release released on June 27th 2011 Added a tiny debugging helper python m pyte your escape codes Added Screen __ before after __ hooks to Screen now subclasses can extend more than one command easily Fixed HistoryScreen now not as buggy as it used to be and allows for custom ratio aspect when browsing history see HistoryScreen documentation for details Fixed DECTCEM private mode handling when the mode is reset Screen cursor hidden is True oth erwise it s False 4 3 9 Version 0 4 1 Bugfix release released on June 21st 2011 Minor examples and documentation update before the first public release 4 3 10 Version 0 4 0 Released on June 21st 2011 e Improved cursor movement Screen passes all but one tests in vttest e Changed the way St ream interacts with Sc
26. rsor up the indicated of lines to column 1 pyte escape CHA G Cursor horizontal align Move cursor to the indicated column in current line pyte escape CUP H Cursor position Move cursor to the indicated line column origin at 1 1 pyte escape ED J Erase data default from cursor to end of line pyte escape EL K Erase in line default from cursor to end of line pyte escape IL V Insert line Insert the indicated of blank lines starting from the current line Lines displayed below cursor move down Lines moved past the bottom margin are lost pyte escape DL M Delete line Delete the indicated of lines starting from the current line As lines are deleted lines displayed below cursor move up Lines added to bottom of screen have spaces with same character attributes as last line move up 4 2 API reference 21 pyte Release 0 4 9 pyte escape DCH P Delete character Delete the indicated of characters on the current line When character is deleted all charac ters to the right of cursor move left pyte escape ECH X Erase character Erase the indicated of characters on the current line pyte escape HPR a Horizontal position relative Same as CUF pyte escape VPA d Vertical position adjust Move cursor to the indicated line current column pyte escape VPR fe Vertical position relative Same as CUD pyte escape HVP P
27. the examples dir 26 Chapter 4 Show me the code Python Module Index p pyte pyte pyte pyte pyte pyte pyte pyte 10 charsets 23 control 19 escape 20 graphics 22 modes 19 screens 12 streams 10 27 pyte Release 0 4 9 28 Python Module Index Index A alignment display pyte screens Screen method 17 attach pyte streams Stream method 11 B backspace pyte screens Screen method 15 basic pyte streams Stream attribute 11 BEL in module pyte control 20 bell pyte screens Screen method 17 BG in module pyte graphics 23 BS in module pyte control 20 buffer pyte screens Screen attribute 13 ByteStream class in pyte streams 12 C CAN in module pyte control 20 carriage_return pyte screens Screen method 15 CHA in module pyte escape 21 charset pyte screens Screen attribute 13 clear_tab_stop pyte screens Screen method 16 CNL in module pyte escape 21 consume pyte streams Stream method 11 CPL in module pyte escape 21 CR in module pyte control 20 CSI in module pyte control 20 csi pyte streams Stream attribute 11 CUB in module pyte escape 21 CUD in module pyte escape 21 CUF in module pyte escape 21 CUP in module pyte escape 21 Cursor class in pyte screens 13 cursor pyte screens Screen attribute 13 cursor_back pyte screens Screen method 17 cursor_down pyte screens Scre
28. trikethrough A plain empty character with default foreground and background colors default line repeat Char data fg default bg default bold False italics False underscore False strikethr An inifinite sequence of default characters used for populating new lines and columns 4 2 API reference 13 pyte Release 0 4 9 size Returns screen size lines columns display Returns a list of screen lines as unicode strings reset Resets the terminal to its initial state Scroll margins are reset to screen boundaries Cursor is moved to home location 0 O and its attributes are set to defaults see default char eScreen is cleared each character is reset to default char eTabstops are reset to every eight columns Note Neither VT220 nor VT102 manuals mentioned that terminal modes and tabstops should be reset as well thanks to xterm we now know that resize lines None columns None Resize the screen to the given dimensions If the requested screen size has more lines than the existing screen lines will be added at the bottom If the requested size has less lines than the existing screen lines will be clipped at the top of the screen Similarly if the existing screen has less columns than the requested screen columns will be added at the right and if it has more columns will be clipped at the right Note According to xterm we should also reset or
29. verloaded to reset screen history state history position is reset to bottom of both queues queues them selves are emptied index Overloaded to update top history with the removed lines reverse index Overloaded to update bottom history with the removed lines prev page Moves the screen page up through the history buffer Page size is defined by history ratio so for instance ratio 5 means that half the screen is restored from history on page switch 18 Chapter 4 Show me the code pyte Release 0 4 9 next page Moves the screen page down through the history buffer 4 2 4 pyte modes This module defines terminal mode switches used by Screen There re two types of terminal modes e non private which should be set with ESC N h where N is an integer representing mode being set and e private which should be set with ESC N h The latter are shifted 5 times to the right to be easily distinguishable from the former ones for example Origin Mode DECOM is 192 not 6 gt gt gt DECOM 192 copyright 3 2011 2013 by Selectel see AUTHORS for details license LGPL see LICENSE for more details pyte modes LNM 20 Line Feed New Line Mode When enabled causes a received LF pyte control FF or VT to move the cursor to the first column of the next line pyte modes IRM 4 Insert Replace Mode When enabled new display characters move old display characters to the right Ch
30. yte escape module 20 pyte graphics module 22 pyte modes module 19 pyte screens module 12 pyte streams module 10 R reset pyte screens HistoryScreen method 18 reset pyte screens Screen method 14 reset pyte streams Stream method 11 reset_mode pyte screens Screen method 15 resize pyte screens Screen method 14 restore_cursor pyte screens Screen method 15 reverse_index pyte screens HistoryScreen method 18 reverse_index pyte screens Screen method 15 RI in module pyte escape 21 RIS in module pyte escape 20 RM in module pyte escape 22 S save cursor pyte screens Screen method 15 Screen class in pyte screens 13 select graphic rendition pyte screens Screen method 17 set charset pyte screens Screen method 14 set margins pyte screens Screen method 14 set mode pyte screens Screen method 14 set tab stop pyte screens Screen method 16 SGR in module pyte escape 22 sharp pyte streams Stream attribute 11 shift in pyte screens Screen method 15 shift out pyte screens Screen method 15 SI in module pyte control 20 size pyte screens Screen attribute 13 SM in module pyte escape 22 SO in module pyte control 20 SP in module pyte control 19 Stream class in pyte streams 10 SUB in module pyte control 20 T tab pyte screens Screen method 15 TBC in module pyte escape 22 TEXT in module pyte gra
Download Pdf Manuals
Related Search
Related Contents
Equip DVI to VGA Adapter Cable, 1.8m Tribhuvan University Institute of Engineering Pulchowk Infrarood massage apparaat Appareil de massage à Guida dell`utente 取 扱 説 明 書 Samsung YP-T8QW دليل المستخدم 450 - Omega Engineering CEM_SWAN_manual ショッピングカート・省力化カートカタログ Copyright © All rights reserved.
Failed to retrieve file