Base interface¶
Bases: ABC
Base file limit interface.
Limits used by several onETL components, including File Downloader and File Mover, to determine if internal loop should be stopped.
Unlike file filters, limits have internal state which can be updated or reset.
Added in 0.8.0
is_reached
abstractmethod
property
¶
Check if limit is reached.
Added in 0.8.0
Returns:
-
bool–Trueif limit is reached,Falseotherwise.
Examples:
>>> from onetl.impl import LocalPath
>>> limit.is_reached
False
>>> limit.stops_at(LocalPath("/path/to/file.csv"))
False
>>> limit.is_reached
False
>>> # after limit is reached
>>> limit.stops_at(LocalPath("/path/to/file.csv"))
True
>>> limit.is_reached
True
reset()
abstractmethod
¶
Resets the internal limit state.
Added in 0.8.0
Returns:
-
Self–Returns a filter of the same type, but with non-reached state.
It could be the same filter or a new one, this is an implementation detail.
Examples:
>>> limit.is_reached
True
>>> new_limit = limit.reset()
>>> new_limit.is_reached
False
stops_at(path)
abstractmethod
¶
Update internal state and return current state.
Added in 0.8.0
Parameters:
-
path(PathProtocol) –Path to check
Returns:
-
bool–Trueif limit is reached,Falseotherwise.
Examples:
>>> from onetl.impl import LocalPath
>>> # limit is not reached yet
>>> limit.stops_at(LocalPath("/path/to/file.csv"))
False
>>> # after limit is reached
>>> limit.stops_at(LocalPath("/path/to/another.csv"))
True
>>> # at this point, .stops_at() and .is_reached will always return True,
>>> # even on inputs that returned False before.
>>> # it will be in the same state until .reset() is called
>>> limit.stops_at(LocalPath("/path/to/file.csv"))
True