FileLoader#
Superclasses: Object
Load a file into a GtkSourceBuffer.
A GtkSourceFileLoader
object permits to load the contents of a File
or a
InputStream
into a Buffer
.
A file loader should be used only for one load operation, including errors
handling. If an error occurs, you can reconfigure the loader and relaunch the
operation with load_async
.
Running a GtkSourceFileLoader
is an undoable action for the
Buffer
.
After a file loading, the buffer is reset to the contents provided by the
File
or InputStream
, so the buffer is set as “unmodified”, that is,
set_modified
is called with False
. If the contents isn’t
saved somewhere (for example if you load from stdin), then you should
probably call set_modified
with True
after calling
load_finish
.
Constructors#
- class FileLoader
- classmethod new(buffer: Buffer, file: File) FileLoader #
Creates a new
GtkSourceFileLoader
object. The contents is read from theFile
's location.If not already done, call
set_location
before calling this constructor. The previous location is anyway not needed, because as soon as the file loading begins, thebuffer
is emptied.
- classmethod new_from_stream(buffer: Buffer, file: File, stream: InputStream) FileLoader #
Creates a new
FileLoader
object. The contents is read fromstream
.- Parameters:
buffer – the
Buffer
to load the contents into.file – the
File
.stream – the
InputStream
to load, e.g. stdin.
Methods#
- class FileLoader
-
- get_compression_type() CompressionType #
- get_input_stream() InputStream | None #
- get_newline_type() NewlineType #
- load_async(io_priority: int, cancellable: Cancellable | None = None, progress_callback: Callable[[int, int, Any], None] | None = None, progress_callback_data: Any = None, callback: Callable[[Object | None, AsyncResult, Any], None] | None = None, user_data: Any = None) None #
Loads asynchronously the file or input stream contents into the
Buffer
.See the
AsyncResult
documentation to know how to use this function.- Parameters:
io_priority – the I/O priority of the request. E.g. %G_PRIORITY_LOW, %G_PRIORITY_DEFAULT or %G_PRIORITY_HIGH.
cancellable – optional
Cancellable
object,None
to ignore.progress_callback – function to call back with progress information, or
None
if progress information is not needed.progress_callback_data – user data to pass to
progress_callback
.callback – a
AsyncReadyCallback
to call when the request is satisfied.user_data – user data to pass to
callback
.
- load_finish(result: AsyncResult) bool #
Finishes a file loading started with
load_async
.If the contents has been loaded, the following
File
properties will be updated: the location, the encoding, the newline type and the compression type.- Parameters:
result – a
AsyncResult
.
- set_candidate_encodings(candidate_encodings: list[Encoding]) None #
Sets the candidate encodings for the file loading.
The encodings are tried in the same order as the list.
For convenience,
candidate_encodings
can contain duplicates. Only the first occurrence of a duplicated encoding is kept in the list.By default the candidate encodings are (in that order in the list):
If set, the
File
's encoding as returned byget_encoding
.The default candidates as returned by
get_default_candidates
.
- Parameters:
candidate_encodings – a list of
Encoding
<!– –>s.