rosdistro.external package¶
Submodules¶
rosdistro.external.appdirs module¶
Utilities for determining application-specific dirs.
See <http://github.com/ActiveState/appdirs> for details and usage.
-
class
rosdistro.external.appdirs.
AppDirs
(appname, appauthor=None, version=None, roaming=False, multipath=False)[source]¶ Bases:
object
Convenience wrapper for getting application dirs.
-
site_config_dir
¶
-
site_data_dir
¶
-
user_cache_dir
¶
-
user_config_dir
¶
-
user_data_dir
¶
-
user_log_dir
¶
-
-
rosdistro.external.appdirs.
site_config_dir
(appname=None, appauthor=None, version=None, multipath=False)[source]¶ Return full path to the user-shared data dir for this application.
- “appname” is the name of application.
- If None, just the system directory is returned.
- “appauthor” (only required and used on Windows) is the name of the
- appauthor or distributing body for this application. Typically it is the owning company name. This falls back to appname.
- “version” is an optional version path element to append to the
- path. You might want to use this if you want multiple versions of your app to be able to run independently. If used, this would typically be “<major>.<minor>”. Only applied when appname is present.
- “multipath” is an optional parameter only applicable to *nix
- which indicates that the entire list of config dirs should be returned. By default, the first item from XDG_CONFIG_DIRS is returned, or ‘/etc/xdg/<AppName>’, if XDG_CONFIG_DIRS is not set
- Typical user data directories are:
Mac OS X: same as site_data_dir Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in
$XDG_CONFIG_DIRSWin : same as site_data_dir Vista: (Fail! “C:ProgramData” is a hidden *system directory on Vista.)
For Unix, this is using the $XDG_CONFIG_DIRS[0] default, if multipath=False
WARNING: Do not use this on Windows. See the Vista-Fail note above for why.
-
rosdistro.external.appdirs.
site_data_dir
(appname=None, appauthor=None, version=None, multipath=False)[source]¶ Return full path to the user-shared data dir for this application.
- “appname” is the name of application.
- If None, just the system directory is returned.
- “appauthor” (only required and used on Windows) is the name of the
- appauthor or distributing body for this application. Typically it is the owning company name. This falls back to appname.
- “version” is an optional version path element to append to the
- path. You might want to use this if you want multiple versions of your app to be able to run independently. If used, this would typically be “<major>.<minor>”. Only applied when appname is present.
- “multipath” is an optional parameter only applicable to *nix
- which indicates that the entire list of data dirs should be returned. By default, the first item from XDG_DATA_DIRS is returned, or ‘/usr/local/share/<AppName>’, if XDG_DATA_DIRS is not set
- Typical user data directories are:
- Mac OS X: /Library/Application Support/<AppName> Unix: /usr/local/share/<AppName> or /usr/share/<AppName> Win XP: C:Documents and SettingsAll UsersApplication Data<AppAuthor><AppName> Vista: (Fail! “C:ProgramData” is a hidden system directory on Vista.) Win 7: C:ProgramData<AppAuthor><AppName> # Hidden, but writeable on Win 7.
For Unix, this is using the $XDG_DATA_DIRS[0] default.
WARNING: Do not use this on Windows. See the Vista-Fail note above for why.
-
rosdistro.external.appdirs.
user_cache_dir
(appname=None, appauthor=None, version=None, opinion=True)[source]¶ Return full path to the user-specific cache dir for this application.
- “appname” is the name of application.
- If None, just the system directory is returned.
- “appauthor” (only required and used on Windows) is the name of the
- appauthor or distributing body for this application. Typically it is the owning company name. This falls back to appname.
- “version” is an optional version path element to append to the
- path. You might want to use this if you want multiple versions of your app to be able to run independently. If used, this would typically be “<major>.<minor>”. Only applied when appname is present.
- “opinion” (boolean) can be False to disable the appending of
- “Cache” to the base app data dir for Windows. See discussion below.
- Typical user cache directories are:
- Mac OS X: ~/Library/Caches/<AppName> Unix: ~/.cache/<AppName> (XDG default) Win XP: C:Documents and Settings<username>Local SettingsApplication Data<AppAuthor><AppName>Cache Vista: C:Users<username>AppDataLocal<AppAuthor><AppName>Cache
On Windows the only suggestion in the MSDN docs is that local settings go in the CSIDL_LOCAL_APPDATA directory. This is identical to the non-roaming app data dir (the default returned by user_data_dir above). Apps typically put cache data somewhere under the given dir here. Some examples:
…MozillaFirefoxProfiles<ProfileName>Cache …AcmeSuperAppCache1.0OPINION: This function appends “Cache” to the CSIDL_LOCAL_APPDATA value. This can be disabled with the opinion=False option.
-
rosdistro.external.appdirs.
user_config_dir
(appname=None, appauthor=None, version=None, roaming=False)[source]¶ Return full path to the user-specific config dir for this application.
- “appname” is the name of application.
- If None, just the system directory is returned.
- “appauthor” (only required and used on Windows) is the name of the
- appauthor or distributing body for this application. Typically it is the owning company name. This falls back to appname.
- “version” is an optional version path element to append to the
- path. You might want to use this if you want multiple versions of your app to be able to run independently. If used, this would typically be “<major>.<minor>”. Only applied when appname is present.
- “roaming” (boolean, default False) can be set True to use the Windows
- roaming appdata directory. That means that for users on a Windows network setup for roaming profiles, this user data will be sync’d on login. See <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> for a discussion of issues.
- Typical user data directories are:
- Mac OS X: same as user_data_dir Unix: ~/.config/<AppName> # or in $XDG_CONFIG_HOME, if defined Win *: same as user_data_dir
For Unix, we follow the XDG spec and support $XDG_DATA_HOME. That means, by deafult “~/.local/share/<AppName>”.
-
rosdistro.external.appdirs.
user_data_dir
(appname=None, appauthor=None, version=None, roaming=False)[source]¶ Return full path to the user-specific data dir for this application.
- “appname” is the name of application.
- If None, just the system directory is returned.
- “appauthor” (only required and used on Windows) is the name of the
- appauthor or distributing body for this application. Typically it is the owning company name. This falls back to appname.
- “version” is an optional version path element to append to the
- path. You might want to use this if you want multiple versions of your app to be able to run independently. If used, this would typically be “<major>.<minor>”. Only applied when appname is present.
- “roaming” (boolean, default False) can be set True to use the Windows
- roaming appdata directory. That means that for users on a Windows network setup for roaming profiles, this user data will be sync’d on login. See <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> for a discussion of issues.
- Typical user data directories are:
- Mac OS X: ~/Library/Application Support/<AppName> Unix: ~/.local/share/<AppName> # or in $XDG_DATA_HOME, if defined Win XP (not roaming): C:Documents and Settings<username>Application Data<AppAuthor><AppName> Win XP (roaming): C:Documents and Settings<username>Local SettingsApplication Data<AppAuthor><AppName> Win 7 (not roaming): C:Users<username>AppDataLocal<AppAuthor><AppName> Win 7 (roaming): C:Users<username>AppDataRoaming<AppAuthor><AppName>
For Unix, we follow the XDG spec and support $XDG_DATA_HOME. That means, by deafult “~/.local/share/<AppName>”.
-
rosdistro.external.appdirs.
user_log_dir
(appname=None, appauthor=None, version=None, opinion=True)[source]¶ Return full path to the user-specific log dir for this application.
- “appname” is the name of application.
- If None, just the system directory is returned.
- “appauthor” (only required and used on Windows) is the name of the
- appauthor or distributing body for this application. Typically it is the owning company name. This falls back to appname.
- “version” is an optional version path element to append to the
- path. You might want to use this if you want multiple versions of your app to be able to run independently. If used, this would typically be “<major>.<minor>”. Only applied when appname is present.
- “opinion” (boolean) can be False to disable the appending of
- “Logs” to the base app data dir for Windows, and “log” to the base cache dir for Unix. See discussion below.
- Typical user cache directories are:
- Mac OS X: ~/Library/Logs/<AppName> Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined Win XP: C:Documents and Settings<username>Local SettingsApplication Data<AppAuthor><AppName>Logs Vista: C:Users<username>AppDataLocal<AppAuthor><AppName>Logs
On Windows the only suggestion in the MSDN docs is that local settings go in the CSIDL_LOCAL_APPDATA directory. (Note: I’m interested in examples of what some windows apps use for a logs dir.)
OPINION: This function appends “Logs” to the CSIDL_LOCAL_APPDATA value for Windows and appends “log” to the user cache dir for Unix. This can be disabled with the opinion=False option.