From: "André Erdmann" <dywi@mailerd.de> To: gentoo-commits@lists.gentoo.org Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/config/ Date: Thu, 11 Jul 2013 16:29:09 +0000 (UTC) [thread overview] Message-ID: <1373559971.384456170719b57f0dbdcefa5344eb74213bd09a.dywi@gentoo> (raw) commit: 384456170719b57f0dbdcefa5344eb74213bd09a Author: André Erdmann <dywi <AT> mailerd <DOT> de> AuthorDate: Thu Jul 11 16:26:11 2013 +0000 Commit: André Erdmann <dywi <AT> mailerd <DOT> de> CommitDate: Thu Jul 11 16:26:11 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=38445617 roverlay/config: update description --- roverlay/config/entrymap.py | 27 +++++++++++++------------- roverlay/config/entryutil.py | 45 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 55 insertions(+), 17 deletions(-) diff --git a/roverlay/config/entrymap.py b/roverlay/config/entrymap.py index 35f1e66..de29ca7 100644 --- a/roverlay/config/entrymap.py +++ b/roverlay/config/entrymap.py @@ -224,9 +224,9 @@ CONFIG_ENTRY_MAP = dict ( ), overlay_dir = dict ( value_type = 'fs_abs:fs_dir', - description = '''overlay root directory where the - ebuilds, profiles/ dir, etc. will be written to. - ''' + description = ( + 'this is the directory of the overlay to be created/maintained' + ), ), overlay_additions_dir = dict ( @@ -274,11 +274,11 @@ CONFIG_ENTRY_MAP = dict ( overlay_distdir_root = dict ( value_type = 'fs_dir', - description = ''' - DISTDIR which is used for Manifest creation and can, - depending on the DISTDIR strategy, - serve as package mirror directory. - ''' + description = ( + 'this is the directory where hard/symbolic links ' + 'to all package files will be created ' + '(during Manifest file creation)' + ), ), overlay_distdir_strategy = dict ( @@ -376,9 +376,10 @@ CONFIG_ENTRY_MAP = dict ( # they specify another location distfiles_root = dict ( value_type = 'fs_dir', - description = '''distfiles root, - repos will create their distdirs in this directory. - ''', + description = ( + 'this is the directory where per-repo package directories ' + 'will be created' + ), ), # the repo config file(s) @@ -447,7 +448,7 @@ CONFIG_ENTRY_MAP = dict ( package_rule_files = dict ( path = [ 'PACKAGE_RULES', 'files' ], value_type = fs_abslist, - description = 'list of package rule files', + description = 'list of package rule files/dirs', ), # * alias @@ -502,7 +503,7 @@ CONFIG_ENTRY_MAP = dict ( license_map = dict ( path = [ 'LICENSEMAP', 'file', ], value_type = 'fs_file', - description = None, + description = 'dictionary file for translating license strings', ) # --- other diff --git a/roverlay/config/entryutil.py b/roverlay/config/entryutil.py index 1c6b7ea..cd5f230 100644 --- a/roverlay/config/entryutil.py +++ b/roverlay/config/entryutil.py @@ -13,6 +13,41 @@ import textwrap from roverlay.config.entrymap import CONFIG_ENTRY_MAP +def deref_entry ( name ): + entry_name = name.lower() + entry_next = CONFIG_ENTRY_MAP [entry_name] + while isinstance ( entry_next, str ): + entry_name = entry_next + entry_next = CONFIG_ENTRY_MAP [entry_name] + return ( entry_name, entry_next ) +# --- end of deref_entry (...) --- + +def deref_entry_safe ( name ): + visited = set() + entry_name = name.lower() + entry_next = CONFIG_ENTRY_MAP [entry_name] + + while isinstance ( entry_next, str ): + visited.add ( entry_name ) + entry_name = entry_next + entry_next = CONFIG_ENTRY_MAP [entry_name] + + if entry_name in visited: + raise Exception ( + "cyclic config entry detected for {!r}!".format ( name ) + ) + + return ( entry_name, entry_next ) +# --- end of deref_entry_safe (...) --- + +def find_config_path ( name ): + entry_name, entry = deref_entry_safe ( name ) + try: + return entry ['path'] + except KeyError: + return entry_name.split ( '_' ) +# --- end of find_config_path (...) --- + def _iter_entries(): """Iterates through all entries in CONFIG_ENTRY_MAP and yields config entry information (entry name, description). @@ -23,10 +58,12 @@ def _iter_entries(): # entry is disabled pass elif isinstance ( entry, dict ): - if 'description' in entry: - yield ( name, entry ['description'] ) - elif 'desc' in entry: - yield ( name, entry ['desc'] ) + description = entry.get ( 'description' ) or entry.get ( 'desc' ) + if description: + if isinstance ( description, str ): + yield ( name, description ) + else: + yield ( name, '\n'.join ( map ( str, description ) ) ) else: yield ( name, ) elif isinstance ( entry, str ) and entry:
WARNING: multiple messages have this Message-ID (diff)
From: "André Erdmann" <dywi@mailerd.de> To: gentoo-commits@lists.gentoo.org Subject: [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/config/ Date: Thu, 11 Jul 2013 16:44:19 +0000 (UTC) [thread overview] Message-ID: <1373559971.384456170719b57f0dbdcefa5344eb74213bd09a.dywi@gentoo> (raw) Message-ID: <20130711164419.7ULnO8qZHYpjAF3C5f946r0TrYD2oCoSJAREVMcIObU@z> (raw) commit: 384456170719b57f0dbdcefa5344eb74213bd09a Author: André Erdmann <dywi <AT> mailerd <DOT> de> AuthorDate: Thu Jul 11 16:26:11 2013 +0000 Commit: André Erdmann <dywi <AT> mailerd <DOT> de> CommitDate: Thu Jul 11 16:26:11 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=38445617 roverlay/config: update description --- roverlay/config/entrymap.py | 27 +++++++++++++------------- roverlay/config/entryutil.py | 45 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 55 insertions(+), 17 deletions(-) diff --git a/roverlay/config/entrymap.py b/roverlay/config/entrymap.py index 35f1e66..de29ca7 100644 --- a/roverlay/config/entrymap.py +++ b/roverlay/config/entrymap.py @@ -224,9 +224,9 @@ CONFIG_ENTRY_MAP = dict ( ), overlay_dir = dict ( value_type = 'fs_abs:fs_dir', - description = '''overlay root directory where the - ebuilds, profiles/ dir, etc. will be written to. - ''' + description = ( + 'this is the directory of the overlay to be created/maintained' + ), ), overlay_additions_dir = dict ( @@ -274,11 +274,11 @@ CONFIG_ENTRY_MAP = dict ( overlay_distdir_root = dict ( value_type = 'fs_dir', - description = ''' - DISTDIR which is used for Manifest creation and can, - depending on the DISTDIR strategy, - serve as package mirror directory. - ''' + description = ( + 'this is the directory where hard/symbolic links ' + 'to all package files will be created ' + '(during Manifest file creation)' + ), ), overlay_distdir_strategy = dict ( @@ -376,9 +376,10 @@ CONFIG_ENTRY_MAP = dict ( # they specify another location distfiles_root = dict ( value_type = 'fs_dir', - description = '''distfiles root, - repos will create their distdirs in this directory. - ''', + description = ( + 'this is the directory where per-repo package directories ' + 'will be created' + ), ), # the repo config file(s) @@ -447,7 +448,7 @@ CONFIG_ENTRY_MAP = dict ( package_rule_files = dict ( path = [ 'PACKAGE_RULES', 'files' ], value_type = fs_abslist, - description = 'list of package rule files', + description = 'list of package rule files/dirs', ), # * alias @@ -502,7 +503,7 @@ CONFIG_ENTRY_MAP = dict ( license_map = dict ( path = [ 'LICENSEMAP', 'file', ], value_type = 'fs_file', - description = None, + description = 'dictionary file for translating license strings', ) # --- other diff --git a/roverlay/config/entryutil.py b/roverlay/config/entryutil.py index 1c6b7ea..cd5f230 100644 --- a/roverlay/config/entryutil.py +++ b/roverlay/config/entryutil.py @@ -13,6 +13,41 @@ import textwrap from roverlay.config.entrymap import CONFIG_ENTRY_MAP +def deref_entry ( name ): + entry_name = name.lower() + entry_next = CONFIG_ENTRY_MAP [entry_name] + while isinstance ( entry_next, str ): + entry_name = entry_next + entry_next = CONFIG_ENTRY_MAP [entry_name] + return ( entry_name, entry_next ) +# --- end of deref_entry (...) --- + +def deref_entry_safe ( name ): + visited = set() + entry_name = name.lower() + entry_next = CONFIG_ENTRY_MAP [entry_name] + + while isinstance ( entry_next, str ): + visited.add ( entry_name ) + entry_name = entry_next + entry_next = CONFIG_ENTRY_MAP [entry_name] + + if entry_name in visited: + raise Exception ( + "cyclic config entry detected for {!r}!".format ( name ) + ) + + return ( entry_name, entry_next ) +# --- end of deref_entry_safe (...) --- + +def find_config_path ( name ): + entry_name, entry = deref_entry_safe ( name ) + try: + return entry ['path'] + except KeyError: + return entry_name.split ( '_' ) +# --- end of find_config_path (...) --- + def _iter_entries(): """Iterates through all entries in CONFIG_ENTRY_MAP and yields config entry information (entry name, description). @@ -23,10 +58,12 @@ def _iter_entries(): # entry is disabled pass elif isinstance ( entry, dict ): - if 'description' in entry: - yield ( name, entry ['description'] ) - elif 'desc' in entry: - yield ( name, entry ['desc'] ) + description = entry.get ( 'description' ) or entry.get ( 'desc' ) + if description: + if isinstance ( description, str ): + yield ( name, description ) + else: + yield ( name, '\n'.join ( map ( str, description ) ) ) else: yield ( name, ) elif isinstance ( entry, str ) and entry:
next reply other threads:[~2013-07-11 16:29 UTC|newest] Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-07-11 16:29 André Erdmann [this message] 2013-07-11 16:44 ` [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/config/ André Erdmann -- strict thread matches above, loose matches on Subject: below -- 2018-05-30 5:31 [gentoo-commits] proj/R_overlay:master " Benda XU 2018-05-28 8:41 Benda XU 2014-08-23 19:03 André Erdmann 2014-08-23 19:03 André Erdmann 2014-04-01 16:38 André Erdmann 2014-04-01 16:38 André Erdmann 2014-04-01 16:38 André Erdmann 2014-01-26 19:06 André Erdmann 2013-09-13 15:10 André Erdmann 2013-09-11 11:14 André Erdmann 2013-09-11 10:30 André Erdmann 2013-09-11 10:27 André Erdmann 2013-09-11 10:27 André Erdmann 2013-09-10 14:40 André Erdmann 2013-09-10 14:40 André Erdmann 2013-09-06 17:27 André Erdmann 2013-09-04 10:16 André Erdmann 2013-08-14 14:56 André Erdmann 2013-08-12 8:18 André Erdmann 2013-08-09 15:27 André Erdmann 2013-08-09 15:27 André Erdmann 2013-08-06 10:58 André Erdmann 2013-08-05 11:44 André Erdmann 2013-08-02 13:39 André Erdmann 2013-07-30 18:40 André Erdmann 2013-07-29 14:56 André Erdmann 2013-07-24 17:45 André Erdmann 2013-07-16 16:36 André Erdmann 2013-07-12 13:57 André Erdmann 2013-07-12 13:57 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann 2013-07-12 13:57 ` [gentoo-commits] proj/R_overlay:master " André Erdmann 2013-07-10 15:10 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann 2013-07-10 16:16 ` [gentoo-commits] proj/R_overlay:master " André Erdmann 2013-06-30 15:58 André Erdmann 2013-06-19 18:59 André Erdmann 2013-06-13 16:34 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann 2013-06-18 14:12 ` [gentoo-commits] proj/R_overlay:master " André Erdmann 2013-06-04 21:06 André Erdmann 2013-02-09 20:45 André Erdmann 2013-02-09 20:45 André Erdmann 2013-02-09 20:45 André Erdmann 2013-01-28 23:54 André Erdmann 2013-01-28 23:54 André Erdmann 2012-08-09 9:26 André Erdmann 2012-08-08 23:46 André Erdmann 2012-08-02 15:14 André Erdmann 2012-08-01 21:10 André Erdmann 2012-07-11 18:43 André Erdmann 2012-07-06 22:19 André Erdmann 2012-07-06 22:19 André Erdmann 2012-07-05 16:00 André Erdmann 2012-07-03 17:48 André Erdmann 2012-06-29 22:48 André Erdmann 2012-06-26 15:42 André Erdmann 2012-06-25 18:19 André Erdmann 2012-06-25 18:19 André Erdmann
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1373559971.384456170719b57f0dbdcefa5344eb74213bd09a.dywi@gentoo \ --to=dywi@mailerd.de \ --cc=gentoo-commits@lists.gentoo.org \ --cc=gentoo-dev@lists.gentoo.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox