Qore Util Module Reference  1.1
 All Classes Namespaces Functions Variables Groups Pages
Util Namespace Reference

the Util namespace contains all the objects in the Util module More...

Functions

bool absolute_path (string path)
 returns True if the argument is an absolute path, False if not More...
 
bool absolute_path_unix (string path)
 returns True if the argument is a UNIX absolute path, False if not More...
 
bool absolute_path_windows (string path)
 returns True if the argument is a Windows absolute path, False if not More...
 
int compare_version (string lv, string rv)
 compares complex versions by breaking down strings into component parts More...
 
string get_byte_size (softnumber n, int decimals=2)
 returns a string giving a user-friendly real storage size (ie based on 1KiB = 1024 bytes) in KiB, MiB, GiB, TiB, etc for the given byte size More...
 
string get_exception_string (hash ex)
 returns a multi-line string from the exception hash argument suitable for logging or output on the console More...
 
string get_marketing_byte_size (softnumber n, int decimals=2)
 returns a string giving a user-friendly "marketing storage" size (ie based on 1KB = 1000 bytes) in KB, MB, GB, TB, etc for the given byte size More...
 
string get_random_string (softint len=15, int level=3)
 function that returns a random string More...
 
string normalize_dir (string dir, string cwd=getcwd())
 returns a platform-specific normalized path name (starting from /, eliminates ".", "..", and "//") More...
 
string normalize_dir_unix (string dir, string cwd=getcwd())
 returns a normalized UNIX path name (starting from /, eliminates ".", "..", and "//") More...
 
string normalize_dir_windows (string dir, string cwd=getcwd())
 returns a normalized Windows path name (eliminates ".", "..", and "//") More...
 
any parse_to_qore_value (string arg)
 tries to convert a string (such as an argument given from the command-line) to a Qore value More...
 

Variables

const StorageNames = ("Kilo", "Mega", "Giga", "Tera", "Peta", "Exa", "Zetta", "Yotta", "Bronto")
 storage names (Geop, which would normally follow Bronto, is excluded as the abbreviation would be GB/GiB)
 

Detailed Description

the Util namespace contains all the objects in the Util module

Function Documentation

bool Util::absolute_path ( string  path)

returns True if the argument is an absolute path, False if not

Example:
my bool $abs = absolute_path($path);
Parameters
$paththe path to check
Returns
True if the argument is an absolute path, False if not
bool Util::absolute_path_unix ( string  path)

returns True if the argument is a UNIX absolute path, False if not

Example:
my bool $abs = absolute_path_unix($path);
Parameters
$paththe path to check
Returns
True if the argument is a UNIX absolute path, False if not
bool Util::absolute_path_windows ( string  path)

returns True if the argument is a Windows absolute path, False if not

Example:
my bool $abs = absolute_path_windows($path);
Parameters
$paththe path to check
Returns
True if the argument is a Windows absolute path, False if not
int Util::compare_version ( string  lv,
string  rv 
)

compares complex versions by breaking down strings into component parts

Example:
my int $result = compare_version("2.11.1", "2.2");

Each element is compared separately, so that compare_version("2.11.1", "2.2") returns 1 (a regular string comparison would give the opposite result)

Parameters
lvleft-hand version
rvright-hand version
Returns
-1 if lv < rv, 0 if equal, and 1 if lv > rv
string Util::get_byte_size ( softnumber  n,
int  decimals = 2 
)

returns a string giving a user-friendly real storage size (ie based on 1KiB = 1024 bytes) in KiB, MiB, GiB, TiB, etc for the given byte size

Example:
my string $str = get_byte_size($n);
Parameters
nthe number to display
decimalsthe number of digits after the decimal point
string Util::get_exception_string ( hash  ex)

returns a multi-line string from the exception hash argument suitable for logging or output on the console

Parameters
exthe exception hash to process
Returns
a multi-line string from the exception hash argument suitable for logging or output on the console
string Util::get_marketing_byte_size ( softnumber  n,
int  decimals = 2 
)

returns a string giving a user-friendly "marketing storage" size (ie based on 1KB = 1000 bytes) in KB, MB, GB, TB, etc for the given byte size

Example:
my string $str = get_marketing_byte_size($n);
Parameters
nthe number to display
decimalsthe number of digits after the decimal point
string Util::get_random_string ( softint  len = 15,
int  level = 3 
)

function that returns a random string

Example:
my string $pass = get_random_string();
Parameters
lenthe length fo the string returned
levela value from 1 - 4 inclusive giving the range of printable ASCII characters included in the output (values out of the range result in the nearest value in the range being used):
  • 1: only upper case
  • 2: +lower case
  • 3: +numbers
  • 4: +symbols but not including any quote characters
Returns
a random string of the given length containing only printable ASCII characters according to the level argument
string Util::normalize_dir ( string  dir,
string  cwd = getcwd() 
)

returns a platform-specific normalized path name (starting from /, eliminates ".", "..", and "//")

Example:
my string $dir = normalize_dir($dir);

Currently only Windows and UNIX-style directories are supported; this function calls either:

Parameters
dirthe directory name to normalize
cwdthe current working directory for normalizing relative paths
Returns
a normalized path name for the current platform
See Also
string Util::normalize_dir_unix ( string  dir,
string  cwd = getcwd() 
)

returns a normalized UNIX path name (starting from /, eliminates ".", "..", and "//")

Example:
my string $dir = normalize_dir_unix($dir, "/var/tmp");

For example, calling:

normalize_dir("../../test/.//dir");

from current directory "/opt/qorus/sub/dir" returns:

"/opt/qorus/test/dir"
Parameters
dirthe directory name to normalize
cwdthe current working directory
Returns
a normalized path name (starting from /, eliminates ".", "..", and "//")
string Util::normalize_dir_windows ( string  dir,
string  cwd = getcwd() 
)

returns a normalized Windows path name (eliminates ".", "..", and "//")

Example:
my string $dir = normalize_dir_windows($dir, "c:\\qore"));

For example, calling:

normalize_dir("..\..\test\.\\dir");

from current directory "c:\\lang\\qore\\prog1" returns:

"c:\\lang\\test\\dir"
Parameters
dirthe directory name to normalize
Returns
a normalized path name (eliminates ".", "..", and "\\")
any Util::parse_to_qore_value ( string  arg)

tries to convert a string (such as an argument given from the command-line) to a Qore value

This method recognizes two special prefixes in the string:

  • STR= this prefix indicates that the rest of the string should be passed literally and not parsed
  • EVAL= this prefix indicates that the rest of the string should be taken as a Qore expression and executed and the value returned
Parameters
arga string to convert to a Qore value
Returns
the Qore value corresponding to the input string