woob.tools.captcha.virtkeyboard
¶
- class VirtKeyboard(file=None, coords=None, color=None, convert=None)[source]¶
Bases:
object
Handle a virtual keyboard.
- Attribute margin
Margin used by
get_symbol_coords()
to reduce size of each “key” of the virtual keyboard. This attribute is always converted to a 4-tuple, and has the same semantic as the CSSmargin
property (top, right, bottom, right), in pixels.
- codesep = ''¶
Output separator between code strings.
See
get_string_code()
.
- margin = None¶
- class MappedVirtKeyboard(file, document, img_element, color, map_attr='onclick', convert=None)[source]¶
Bases:
VirtKeyboard
- class GridVirtKeyboard(symbols, cols, rows, image, color, convert=None)[source]¶
Bases:
VirtKeyboard
Make a virtual keyboard where “keys” are distributed on a grid. Example here: https://www.e-sgbl.com/portalserver/sgbl-web/login
- Parameters:
- param symbols
Sequence of symbols, ordered in the grid from left to right and up to down
- type symbols
iterable
- param cols
Column count of the grid
- type cols
int
- param rows
Row count of the grid
- type rows
int
- param image
File-like object to be used as data source
- type image
file
- param color
Color of the meaningful pixels
- type color
3-tuple
- param convert
Mode to which convert color of pixels, see
Image.Image.convert()
for more information
- Attributes:
- attribute symbols
Association table between symbols and md5s
- type symbols
dict
- symbols = {}¶
- class SplitKeyboard(code_to_filedata)[source]¶
Bases:
object
Virtual keyboard for when the chars are in individual images, not a single grid
- char_to_hash = None¶
dict mapping password characters to image hashes
- codesep = ''¶
Output separator between symbols
- class Tile(matching_symbol, coords, image=None, md5=None)[source]¶
Bases:
object
Tile of a image grid for SimpleVirtualKeyboard
- class SimpleVirtualKeyboard(file, cols, rows, matching_symbols=None, matching_symbols_coords=None, browser=None)[source]¶
Bases:
object
Handle a virtual keyboard where “keys” are distributed on a simple grid.
- Parameters:
- param cols
Column count of the grid
- type cols
int
- param rows
Row count of the grid
- type rows
int
- param image
File-like object to be used as data source
- type image
file
- param convert
Mode to which convert color of pixels, see
Image.Image.convert()
for more information- param matching_symbols
symbol that match all case of image grid from left to right and top to down, European reading way.
- type matching_symbols
iterable
- param matching_symbols_coords
dict mapping matching website symbols to their image coords (x0, y0, x1, y1) on grid image from left to right and top to down, European reading way. It’s not symbols in the image.
- type matching_symbols_coords
dict[str:4-tuple(int)]
- param browser
Browser of woob session. Allow to dump tiles files in same directory than session folder
- type browser
obj(Browser)
- Attributes:
- attribute codesep
Output separator between matching symbols
- type codesep
str
- param margin
Useless image pixel to cut. See
cut_margin()
.- type margin
4-tuple(int), same as HTML margin: (top, right, bottom, left). or 2-tuple(int), (top = bottom, right = left), or int, top = right = bottom = left
- attribute tile_margin
Useless tile pixel to cut. See
cut_margin()
.- attribute symbols
Association table between image symbols and md5s
- type symbols
dict[str:str] or dict[str:n-tuple(str)]
- attribute convert
Mode to which convert color of pixels, see
Image.Image.convert()
for more information- attribute alter
Allow custom main image alteration. Then overwrite
alter_image()
.- type alter
boolean
- codesep = ''¶
- margin = None¶
- tile_margin = None¶
- symbols = None¶
- convert = None¶