ExtronLib-CDS/extronlib/system/File.py
2021-09-21 10:27:39 -05:00

178 lines
4.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import Union
class File():
""" Access to files located in user area. These files are stored in a location that can be accessed using 3rd party SFTP clients.
Note: File class accesses user area with admin privileges.
---
Arguments:
- Filename (string) - Name of file to open
- mode (string) - the mode in which the files is opened.
- encoding (string) - the name of the encoding used to decode/encode the file.
- newline (string) - controls how universal newlines mode works
Note:
- mode, encoding, and newline have the same meanings as those passed to the built-in function open(). See the documentation at python.org.
- ChangeDir(), DeleteDir(), DeleteFile(), Exists(), GetCurrentDir(), ListDir(), MakeDir(), and RenameFile() are all classmethods.
Note: For restricted file access, substitute File with RFile in the examples above and below.
---
Parameters:
- Filename - Returns (string) - name of file
"""
Filename: str = ''
mode: str = ''
encoding: str = ''
newline: str = ''
def __init__(self, Filename: str, mode: str='r', encoding: str=None, newline: str=None) -> None:
""" File class constructor.
Arguments:
- Filename (string) - Name of file to open
- mode (string) - the mode in which the files is opened.
- encoding (string) - the name of the encoding used to decode/encode the file.
- newline (string) - controls how universal newlines mode works
"""
...
def ChangeDir(self, path: str) -> None:
""" Change the current working directory to path
Arguments:
- path (string) - path to directory
"""
...
def DeleteDir(self, path: str) -> None:
""" Remove a directory
Arguments:
- path (string) - path to directory
"""
...
def DeleteFile(self, filename: str) -> None:
""" Delete a file
Arguments:
- filename (string) - the name of the file to be deleted (path to file)
"""
...
def Exists(self, path: str) -> bool:
""" Return True if path exists
Arguments:
- path (string) - path to directory
Returns
- true if exists else false (bool)
"""
...
def GetCurrentDir(self) -> str:
""" Get the current path.
Returns
- the current working directory (string)
"""
...
def ListDir(self, path: str=None) -> str:
""" List directory contents
Arguments:
- path (string) - if provided, path to directory to list, else list current directory
Returns
- directory listing (string)
"""
...
def MakeDir(self, path: str) -> None:
""" Make a new directory
Arguments:
- path (string) - path to directory
"""
...
def RenameFile(self, oldname: str, newname: str) -> None:
""" Rename a file from oldname to newname
Arguments:
- oldname (string) - the original filename
- newname (string) - the filename to rename to
"""
...
def close(self) -> None:
""" Close an already opened file """
...
def read(self, size:int=-1) -> bytes:
""" Read data from opened file
Arguments:
- size (int) - max number of char/bytes to read
Returns
- data (bytes)
"""
...
def readline(self) -> bytes:
""" Read from opened file until newline or EOF occurs
Returns
- data (bytes)
"""
...
def seek(self, offset: int, whence: int=0) -> None:
""" Change the stream position
Arguments:
- offset (int) - offset from the start of the file
- (optional) whence (int) -
- 0 = absolute file positioning
- 1 = seek relative to the current position
- 2 = seek relative to the files end.
Note: Files opened in text mode (i.e. not using 'b'), only seeks relative to the beginning of the file are allowed the exception being a seek to the very file end with seek(0,2).
"""
...
def tell(self) -> int:
""" Returns the current cursor position
Returns
- the current cursor position (int)
"""
...
def write(self, data: Union[str, bytes]) -> None:
""" Write string or bytes to file
Arguments:
- data (string, bytes) - data to be written to file
"""
...
def writelines(self, seq: list[str]) -> None:
""" Write iterable object such as a list of strings
Arguments:
- seq (e.g. list of strings) - iterable sequence
Raises:
- FileNotOpenError
"""
...