Panda3D
|
The name of a file, such as a texture file or an Egg file. More...
Public Types | |
enum | Type { TGeneral = 0, TDso = 1, TExecutable = 2 } |
Public Member Functions | |
Filename (Filename const copy) | |
Filename (Filename const dirname, Filename const basename) | |
Filename () | |
Filename (string filename) | |
Filename (string filename) | |
bool | chdir () |
int | compareTimestamps (Filename const other, bool this_missing_is_old, bool other_missing_is_old) |
int | compareTimestamps (Filename const other, bool this_missing_is_old) |
int | compareTimestamps (Filename const other) |
int | compareTo (Filename const other) |
bool | copyTo (Filename const other) |
string | cStr () |
bool | empty () |
bool | exists () |
extractComponents (vectorbasic_stringchar components) | |
int | findOnSearchpath (DSearchPath const searchpath) |
unsigned int | getAccessTimestamp () |
string | getBasename () |
Returns the basename part of the filename. | |
string | getBasenameWoExtension () |
Returns the basename part of the filename, without the file extension. | |
string | getDirname () |
Returns the directory part of the filename. | |
string | getExtension () |
Returns the file extension. | |
Filename | getFilenameIndex (int index) |
int | getFileSize () |
string | getFullpath () |
Returns the entire filename: directory, basename, extension. | |
string | getFullpathWoExtension () |
Returns the full filename--directory and basename parts--except for the extension. | |
int | getHash () |
string | getHashToEnd () |
Returns the part of the filename beginning at the hash sequence (if any), and continuing to the end of the filename. | |
bool | getPattern () |
Returns the flag indicating whether this is a filename pattern. | |
unsigned int | getTimestamp () |
Type | getType () |
Returns the type of the file represented by the filename, as previously set by set_type(). | |
bool | hasHash () |
Returns true if the filename is indicated to be a filename pattern (that is, set_pattern(true) was called), and the filename pattern did include a sequence of hash marks, or false if it was not a filename pattern or did not include hash marks. | |
bool | isBinary () |
Returns true if the Filename has been indicated to represent a binary file via a previous call to set_binary(). | |
bool | isDirectory () |
bool | isExecutable () |
bool | isFullyQualified () |
Returns true if the filename is fully qualified, e.g. | |
bool | isLocal () |
Returns true if the filename is local, e.g. | |
bool | isRegularFile () |
bool | isText () |
Returns true if the Filename has been indicated to represent a text file via a previous call to set_text(). | |
unsigned int | length () |
makeAbsolute () | |
makeAbsolute (Filename const start_directory) | |
bool | makeCanonical () |
bool | makeDir () |
bool | makeRelativeTo (Filename directory, bool allow_backups) |
bool | makeRelativeTo (Filename directory) |
bool | makeTrueCase () |
bool | mkdir () |
bool | nonzero () |
Returns true if the Filename is valid (not empty), or false if it is an empty string. | |
bool | openAppend (OFileStream stream) |
bool | openAppend (ofstream stream) |
bool | openRead (IFileStream stream) |
bool | openRead (ifstream stream) |
bool | openReadAppend (FileStream stream) |
bool | openReadAppend (fstream stream) |
bool | openReadWrite (FileStream stream) |
bool | openReadWrite (FileStream stream, bool truncate) |
bool | openReadWrite (fstream stream, bool truncate) |
bool | openReadWrite (fstream stream) |
bool | openWrite (OFileStream stream) |
bool | openWrite (OFileStream stream, bool truncate) |
bool | openWrite (ofstream stream) |
bool | openWrite (ofstream stream, bool truncate) |
bool | operator!= (string other) |
Filename | operator+ (string other) |
Returns a new Filename representing the concatenation of the two filenames. | |
Filename | operator+= (string other) |
Appends the other filename onto the end of this one. | |
bool | operator< (string other) |
Filename | operator= (string filename) |
Filename | operator= (string filename) |
Filename | operator= (Filename const copy) |
bool | operator== (string other) |
char | operator[] (int n) |
output (ostream out) | |
PyObject | reduce (PyObject self) |
bool | renameTo (Filename const other) |
bool | resolveFilename (DSearchPath const searchpath) |
bool | resolveFilename (DSearchPath const searchpath, string default_extension) |
bool | rmdir () |
PyObject | scanDirectory () |
bool | scanDirectory (vectorbasic_stringchar contents) |
setBasename (string s) | |
setBasenameWoExtension (string s) | |
setBinary () | |
Indicates that the filename represents a binary file. | |
setDirname (string s) | |
setExtension (string s) | |
setFullpath (string s) | |
setFullpathWoExtension (string s) | |
setHashToEnd (string s) | |
setPattern (bool pattern) | |
Sets the flag indicating whether this is a filename pattern. | |
setText () | |
Indicates that the filename represents a text file. | |
setType (Type type) | |
Sets the type of the file represented by the filename. | |
standardize () | |
string | substr (unsigned int begin) |
string | substr (unsigned int begin, unsigned int end) |
string | toOsGeneric () |
string | toOsLongName () |
string | toOsShortName () |
string | toOsSpecific () |
bool | touch () |
bool | unlink () |
Static Public Member Functions | |
static Filename | binaryFilename (string filename) |
static Filename | dsoFilename (string filename) |
static Filename | executableFilename (string filename) |
static Filename | expandFrom (string user_string, Type type) |
static Filename | expandFrom (string user_string) |
static Filename | fromOsSpecific (string os_specific, Type type) |
static Filename | fromOsSpecific (string os_specific) |
static TypeHandle | getClassType () |
static Filename const | getCommonAppdataDirectory () |
static Filename const | getHomeDirectory () |
static Filename const | getTempDirectory () |
static Filename const | getUserAppdataDirectory () |
static Filename | patternFilename (string filename) |
Constructs a filename that represents a sequence of numbered files. | |
static Filename | temporary (string dirname, string prefix, string suffix, Type type) |
static Filename | temporary (string dirname, string prefix, string suffix) |
static Filename | temporary (string dirname, string prefix) |
static Filename | textFilename (string filename) |
The name of a file, such as a texture file or an Egg file.
Stores the full pathname, and includes functions for extracting out the directory prefix part and the file extension and stuff.
A Filename is also aware of the mapping between the Unix-like filename convention we use internally, and the local OS's specific filename convention, and it knows how to perform basic OS-specific I/O, like testing for file existence and searching a searchpath, as well as the best way to open an fstream for reading or writing.
enum Type |
Filename | ( | string | filename | ) |
Filename | ( | ) |
Filename | ( | string | filename | ) |
static Filename binaryFilename | ( | string | filename | ) | [static] |
bool chdir | ( | ) |
bool copyTo | ( | Filename const | other | ) |
string cStr | ( | ) |
static Filename dsoFilename | ( | string | filename | ) | [static] |
bool empty | ( | ) |
static Filename executableFilename | ( | string | filename | ) | [static] |
bool exists | ( | ) |
static Filename expandFrom | ( | string | user_string | ) | [static] |
extractComponents | ( | vectorbasic_stringchar | components | ) |
int findOnSearchpath | ( | DSearchPath const | searchpath | ) |
static Filename fromOsSpecific | ( | string | os_specific | ) | [static] |
unsigned int getAccessTimestamp | ( | ) |
string getBasename | ( | ) |
Returns the basename part of the filename.
This is everything in the filename after the rightmost slash, including any extensions.
string getBasenameWoExtension | ( | ) |
Returns the basename part of the filename, without the file extension.
static TypeHandle getClassType | ( | ) | [static] |
static Filename const getCommonAppdataDirectory | ( | ) | [static] |
string getDirname | ( | ) |
Returns the directory part of the filename.
This is everything in the filename up to, but not including the rightmost slash.
string getExtension | ( | ) |
Returns the file extension.
This is everything after the rightmost dot, if there is one, or the empty string if there is not.
int getFileSize | ( | ) |
string getFullpath | ( | ) |
Returns the entire filename: directory, basename, extension.
This is the same thing returned by the string typecast operator, so this function is a little redundant.
string getFullpathWoExtension | ( | ) |
Returns the full filename--directory and basename parts--except for the extension.
int getHash | ( | ) |
string getHashToEnd | ( | ) |
Returns the part of the filename beginning at the hash sequence (if any), and continuing to the end of the filename.
static Filename const getHomeDirectory | ( | ) | [static] |
bool getPattern | ( | ) |
Returns the flag indicating whether this is a filename pattern.
See set_pattern().
static Filename const getTempDirectory | ( | ) | [static] |
unsigned int getTimestamp | ( | ) |
Type getType | ( | ) |
Returns the type of the file represented by the filename, as previously set by set_type().
static Filename const getUserAppdataDirectory | ( | ) | [static] |
bool hasHash | ( | ) |
Returns true if the filename is indicated to be a filename pattern (that is, set_pattern(true) was called), and the filename pattern did include a sequence of hash marks, or false if it was not a filename pattern or did not include hash marks.
If this is true, then get_filename_index() will return a different filename each time.
bool isBinary | ( | ) |
Returns true if the Filename has been indicated to represent a binary file via a previous call to set_binary().
It is possible that neither is_binary() nor is_text() will be true, if neither set_binary() nor set_text() was ever called.
bool isDirectory | ( | ) |
bool isExecutable | ( | ) |
bool isFullyQualified | ( | ) |
Returns true if the filename is fully qualified, e.g.
begins with a slash. This is almost, but not quite, the same thing as !is_local(). It's not exactly the same because a special case is made for filenames that begin with a single dot followed by a slash--these are considered to be fully qualified (they are explicitly relative to the current directory, and do not refer to a filename on a search path somewhere).
bool isLocal | ( | ) |
Returns true if the filename is local, e.g.
does not begin with a slash, or false if the filename is fully specified from the root.
bool isRegularFile | ( | ) |
bool isText | ( | ) |
Returns true if the Filename has been indicated to represent a text file via a previous call to set_text().
It is possible that neither is_binary() nor is_text() will be true, if neither set_binary() nor set_text() was ever called.
unsigned int length | ( | ) |
makeAbsolute | ( | ) |
makeAbsolute | ( | Filename const | start_directory | ) |
bool makeCanonical | ( | ) |
bool makeDir | ( | ) |
bool makeRelativeTo | ( | Filename | directory, |
bool | allow_backups | ||
) |
bool makeRelativeTo | ( | Filename | directory | ) |
bool makeTrueCase | ( | ) |
bool mkdir | ( | ) |
bool nonzero | ( | ) |
Returns true if the Filename is valid (not empty), or false if it is an empty string.
This implements the Python equivalent to operator bool. Defining an actual operator bool method for C++ use would work too, but it seems to cause too many ambiguities for the C++ compiler, so we use this Python-only approach instead.
bool openAppend | ( | OFileStream | stream | ) |
bool openAppend | ( | ofstream | stream | ) |
bool openRead | ( | IFileStream | stream | ) |
bool openRead | ( | ifstream | stream | ) |
bool openReadAppend | ( | FileStream | stream | ) |
bool openReadAppend | ( | fstream | stream | ) |
bool openReadWrite | ( | FileStream | stream, |
bool | truncate | ||
) |
bool openReadWrite | ( | fstream | stream, |
bool | truncate | ||
) |
bool openReadWrite | ( | fstream | stream | ) |
bool openReadWrite | ( | FileStream | stream | ) |
bool openWrite | ( | OFileStream | stream, |
bool | truncate | ||
) |
bool openWrite | ( | OFileStream | stream | ) |
bool openWrite | ( | ofstream | stream, |
bool | truncate | ||
) |
bool openWrite | ( | ofstream | stream | ) |
bool operator!= | ( | string | other | ) |
Filename operator+ | ( | string | other | ) |
Returns a new Filename representing the concatenation of the two filenames.
Filename operator+= | ( | string | other | ) |
Appends the other filename onto the end of this one.
This does not introduce an intervening slash, but see the Filename constructor that takes two parameters.
bool operator< | ( | string | other | ) |
Filename operator= | ( | string | filename | ) |
Filename operator= | ( | string | filename | ) |
bool operator== | ( | string | other | ) |
output | ( | ostream | out | ) |
static Filename patternFilename | ( | string | filename | ) | [static] |
Constructs a filename that represents a sequence of numbered files.
See set_pattern().
PyObject reduce | ( | PyObject | self | ) |
bool renameTo | ( | Filename const | other | ) |
bool resolveFilename | ( | DSearchPath const | searchpath | ) |
bool resolveFilename | ( | DSearchPath const | searchpath, |
string | default_extension | ||
) |
bool rmdir | ( | ) |
PyObject scanDirectory | ( | ) |
bool scanDirectory | ( | vectorbasic_stringchar | contents | ) |
setBasename | ( | string | s | ) |
setBasenameWoExtension | ( | string | s | ) |
setBinary | ( | ) |
Indicates that the filename represents a binary file.
This is primarily relevant to the read_file() and write_file() methods, so they can set the appropriate flags to the OS.
setDirname | ( | string | s | ) |
setExtension | ( | string | s | ) |
setFullpath | ( | string | s | ) |
setFullpathWoExtension | ( | string | s | ) |
setHashToEnd | ( | string | s | ) |
setPattern | ( | bool | pattern | ) |
Sets the flag indicating whether this is a filename pattern.
When this is true, the filename is understood to be a placeholder for a numbered sequence of filename, such as an image sequence. In this case, a sequence of one or more hash characters ("#") should appear in the filename string; these characters will be filled in with the corresponding number (or more) of digits representing the sequence number. Sequence numbers always begin counting at 0.
When this is true, methods like has_hash() and get_hash_to_end() and get_filename_index() may be called. Methods like is_exists() will implicitly test for existance of filename sequence 0.
setText | ( | ) |
Indicates that the filename represents a text file.
This is primarily relevant to the read_file() and write_file() methods, so they can set the appropriate flags to the OS.
setType | ( | Type | type | ) |
Sets the type of the file represented by the filename.
This is useful for to_os_specific(), resolve_filename(), test_existence(), and all such real-world access functions. It helps the Filename know how to map the internal filename to the OS-specific filename (for instance, maybe executables should have an .exe extension).
standardize | ( | ) |
string substr | ( | unsigned int | begin | ) |
static Filename temporary | ( | string | dirname, |
string | prefix | ||
) | [static] |
static Filename temporary | ( | string | dirname, |
string | prefix, | ||
string | suffix | ||
) | [static] |
static Filename textFilename | ( | string | filename | ) | [static] |
string toOsGeneric | ( | ) |
string toOsLongName | ( | ) |
string toOsShortName | ( | ) |
string toOsSpecific | ( | ) |
bool touch | ( | ) |
bool unlink | ( | ) |