tools.helpers.models package¶
Submodules¶
tools.helpers.models.dict_models module¶
Dictionary-like classes
-
class
tools.helpers.models.dict_models.
BaseDict
(*args, **kwargs)¶ Bases:
object
Base class of ordered-dictionary-like objects where keys have a specified format.
-
TO_KEY_FUNC
(x)¶
-
clear
()¶
-
copy
()¶
-
deepcopy
()¶
-
classmethod
from_dict
(dico)¶
-
classmethod
fromkeys
(*args, **kwargs)¶
-
get
(item, default=None)¶
-
items
()¶
-
keys
()¶
-
move_to_end
(key)¶
-
pop
(item, default=None)¶
-
popitem
(item)¶
-
setdefault
(k, default=None)¶
-
update
(other)¶
-
values
()¶
-
-
class
tools.helpers.models.dict_models.
IdentityDict
(*args, **kwargs)¶ Bases:
collections.UserDict
Dict which returns the key if key not in dict when getting item. If ‘func’ arg is set, the function ‘func’ is applied to key before return
tools.helpers.models.metaclasses module¶
Metaclasses
The syntax to use a metaclass in Python 3 is as follows:
- class MyClass(metaclass=MyMetaClass):
pass
-
class
tools.helpers.models.metaclasses.
LockChangeAttr
¶ Bases:
type
Metaclass that locks attribute modification after a certain limit
-
class
tools.helpers.models.metaclasses.
Singleton
¶ Bases:
type
Metaclass that authorize only one instance of a class.
-
tools.helpers.models.metaclasses.
lock_change_attr_metaclass
(modification_limit=1, attr_exceptions=())¶ Returns a custom metaclass inherited from LockChangeAttr
- Parameters
modification_limit – number of times an attribute can be modified
attr_exceptions – iterable of attributes that can be modified without any limit
tools.helpers.models.path_models module¶
Classes to manipulate paths. Path and PathCollection define custom strings/collections with pathname manipulations methods. FileExt describes a file extension. DefaultFiletypesDict defines a dictionary-like class with file types understandable by tkinter file dialogs.
-
class
tools.helpers.models.path_models.
DefaultFiletypesDict
(dico=None, all_files=True)¶ Bases:
object
-
get
(key, default=None)¶
-
-
class
tools.helpers.models.path_models.
FileExt
¶ Bases:
tools.helpers.models.str_models._CustomStr
File extension class model
-
EXT_SEP
= '.'¶
-
property
isempty
¶
-
-
class
tools.helpers.models.path_models.
Path
¶ Bases:
tools.helpers.models.path_models._BasePath
Class defining a path, inherited from str built-in type. If an iterable is passed, return a PathCollection of multiple Path objects.
>>> p = Path('a/b/c.d') >>> p Path: a/b/c.d >>> Path(None) Path: None >>> p.filename Path: c.d >>> p.isdir False >>> p.split_path [Path: a/b, Path: c.d]
# Collections
>>> p_c = Path(['a/b/c.d', 'e/f/g.h']) >>> p_c [Path: a/b/c.d, Path: e/f/g.h] >>> p_c.filename [Path: c.d, Path: g.h] >>> p_c.isdir [False, False] >>> p_c.split_path [[Path: a/b, Path: c.d], [Path: e/f, Path: g.h]]
# As _MODIFY_COLLECTION_INPLACE is True, PathCollection object has the same behavior as Path:
>>> PathCollection(['a/b/c.d']) == Path(['a/b/c.d']) True >>> PathCollection(['a/b/c.d']) [Path: a/b/c.d]
# Types of supported iterables: list, tuple, set and inherited objects.
>>> Path(['a/b/c.d', ['e/f/g.h'], ('i/j/k.l',), {'m/n/o.p'}]) [Path: a/b/c.d, [Path: e/f/g.h], [Path: i/j/k.l], [Path: m/n/o.p]]
-
class
tools.helpers.models.path_models.
PathCollection
(*args, **kwargs)¶ Bases:
tools.helpers.models.str_models._CollectionCustomStr
Collection of Path objects, inherited from list built-in type
tools.helpers.models.str_models module¶
Classes inherited from string (“Custom strings”) and from list (“Collections”).
tools.helpers.models.types_models module¶
Various model classes and functions linked to them.
-
class
tools.helpers.models.types_models.
EmptyClass
¶ Bases:
object
Class to create empty objects
-
class
tools.helpers.models.types_models.
Property
(fget=None, fset=None, fdel=None, doc=None)¶ Bases:
object
Emulate PyProperty_Type() in Objects/descrobject.c
-
deleter
(fdel)¶
-
getter
(fget)¶
-
setter
(fset)¶
-
-
class
tools.helpers.models.types_models.
Reference
¶ Bases:
object
Reference class
-
class
tools.helpers.models.types_models.
Wildcard
¶ Bases:
object
Class to define wildcard objects
-
tools.helpers.models.types_models.
add_tag
(tag='tag', tag_value=True)¶ Set an attribute to a function or a property.
-
tools.helpers.models.types_models.
keep_type
(func_type='function')¶ Set the attribute ‘keep_type’ to a method or property and convert its result to original class.
Handle functions, methods, properties, class methods.
Module contents¶
Model classes
-
class
tools.helpers.models.
Singleton
¶ Bases:
type
Metaclass that authorize only one instance of a class.
-
class
tools.helpers.models.
Path
¶ Bases:
tools.helpers.models.path_models._BasePath
Class defining a path, inherited from str built-in type. If an iterable is passed, return a PathCollection of multiple Path objects.
>>> p = Path('a/b/c.d') >>> p Path: a/b/c.d >>> Path(None) Path: None >>> p.filename Path: c.d >>> p.isdir False >>> p.split_path [Path: a/b, Path: c.d]
# Collections
>>> p_c = Path(['a/b/c.d', 'e/f/g.h']) >>> p_c [Path: a/b/c.d, Path: e/f/g.h] >>> p_c.filename [Path: c.d, Path: g.h] >>> p_c.isdir [False, False] >>> p_c.split_path [[Path: a/b, Path: c.d], [Path: e/f, Path: g.h]]
# As _MODIFY_COLLECTION_INPLACE is True, PathCollection object has the same behavior as Path:
>>> PathCollection(['a/b/c.d']) == Path(['a/b/c.d']) True >>> PathCollection(['a/b/c.d']) [Path: a/b/c.d]
# Types of supported iterables: list, tuple, set and inherited objects.
>>> Path(['a/b/c.d', ['e/f/g.h'], ('i/j/k.l',), {'m/n/o.p'}]) [Path: a/b/c.d, [Path: e/f/g.h], [Path: i/j/k.l], [Path: m/n/o.p]]
-
class
tools.helpers.models.
PathCollection
(*args, **kwargs)¶ Bases:
tools.helpers.models.str_models._CollectionCustomStr
Collection of Path objects, inherited from list built-in type
-
class
tools.helpers.models.
DefaultFiletypesDict
(dico=None, all_files=True)¶ Bases:
object
-
get
(key, default=None)¶
-
-
class
tools.helpers.models.
FileExt
¶ Bases:
tools.helpers.models.str_models._CustomStr
File extension class model
-
EXT_SEP
= '.'¶
-
property
isempty
¶
-
-
class
tools.helpers.models.
Reference
¶ Bases:
object
Reference class
-
class
tools.helpers.models.
Wildcard
¶ Bases:
object
Class to define wildcard objects
-
class
tools.helpers.models.
Property
(fget=None, fset=None, fdel=None, doc=None)¶ Bases:
object
Emulate PyProperty_Type() in Objects/descrobject.c
-
deleter
(fdel)¶
-
getter
(fget)¶
-
setter
(fset)¶
-
-
class
tools.helpers.models.
EmptyClass
¶ Bases:
object
Class to create empty objects
-
class
tools.helpers.models.
IdentityDict
(*args, **kwargs)¶ Bases:
collections.UserDict
Dict which returns the key if key not in dict when getting item. If ‘func’ arg is set, the function ‘func’ is applied to key before return
-
class
tools.helpers.models.
BaseDict
(*args, **kwargs)¶ Bases:
object
Base class of ordered-dictionary-like objects where keys have a specified format.
-
TO_KEY_FUNC
(x)¶
-
clear
()¶
-
copy
()¶
-
deepcopy
()¶
-
classmethod
from_dict
(dico)¶
-
classmethod
fromkeys
(*args, **kwargs)¶
-
get
(item, default=None)¶
-
items
()¶
-
keys
()¶
-
move_to_end
(key)¶
-
pop
(item, default=None)¶
-
popitem
(item)¶
-
setdefault
(k, default=None)¶
-
update
(other)¶
-
values
()¶
-