From: "Arfrever Frehtes Taifersar Arahesis" <arfrever.fta@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/repository/
Date: Mon, 24 Jun 2013 23:42:51 +0000 (UTC) [thread overview]
Message-ID: <1372117357.7f816d02c47b6b9c33a9e793e288f52045544bf6.arfrever@gentoo> (raw)
commit: 7f816d02c47b6b9c33a9e793e288f52045544bf6
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Mon Jun 24 23:42:37 2013 +0000
Commit: Arfrever Frehtes Taifersar Arahesis <arfrever.fta <AT> gmail <DOT> com>
CommitDate: Mon Jun 24 23:42:37 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=7f816d02
portage.repository.config.RepoConfigLoader: Support io.StringIO in paths argument.
---
pym/portage/repository/config.py | 45 ++++++++++++++++++++++++----------------
1 file changed, 27 insertions(+), 18 deletions(-)
diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index 1923b7e..896527a 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -32,6 +32,9 @@ from portage import _unicode_encode
from portage import _encodings
from portage import manifest
+if sys.hexversion >= 0x3000000:
+ basestring = str
+
# Characters prohibited by repoman's file.name check.
_invalid_path_char_re = re.compile(r'[^a-zA-Z0-9._\-+:/]')
@@ -473,24 +476,30 @@ class RepoConfigLoader(object):
source_kwarg = 'filename'
for p in paths:
- f = None
- try:
- f = io.open(_unicode_encode(p,
- encoding=_encodings['fs'], errors='strict'),
- mode='r', encoding=_encodings['repo.content'],
- errors='replace')
- except EnvironmentError:
- pass
+ if isinstance(p, basestring):
+ f = None
+ try:
+ f = io.open(_unicode_encode(p,
+ encoding=_encodings['fs'], errors='strict'),
+ mode='r', encoding=_encodings['repo.content'],
+ errors='replace')
+ except EnvironmentError:
+ pass
+ else:
+ # The 'source' keyword argument is needed since
+ # otherwise ConfigParsier may throw a TypeError because
+ # it assumes that f.name is a native string rather
+ # than binary when constructing error messages.
+ kwargs = {source_kwarg: p}
+ read_file(f, **portage._native_kwargs(kwargs))
+ finally:
+ if f is not None:
+ f.close()
+ elif isinstance(p, io.StringIO):
+ kwargs = {source_kwarg: "<io.StringIO>"}
+ read_file(p, **portage._native_kwargs(kwargs))
else:
- # The 'source' keyword argument is needed since
- # otherwise ConfigParsier may throw a TypeError because
- # it assumes that f.name is a native string rather
- # than binary when constructing error messages.
- kwargs = {source_kwarg: p}
- read_file(f, **portage._native_kwargs(kwargs))
- finally:
- if f is not None:
- f.close()
+ raise TypeError("Unsupported type %r of element %r of 'paths' argument" % (type(p), p))
prepos['DEFAULT'] = RepoConfig("DEFAULT",
parser.defaults(), local_config=local_config)
@@ -574,7 +583,7 @@ class RepoConfigLoader(object):
if settings.local_config and paths:
writemsg_level(_("Location undefined for " \
"repository '%s' referenced in '%s'\n") % \
- (repo.name, paths[0]),
+ (repo.name, (paths if len(paths) > 1 else paths[0])),
level=logging.ERROR, noiselevel=-1)
del prepos[repo_name]
else:
next reply other threads:[~2013-06-24 23:42 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-24 23:42 Arfrever Frehtes Taifersar Arahesis [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-07-16 5:55 [gentoo-commits] proj/portage:master commit in: pym/portage/repository/ Zac Medico
2018-02-01 20:51 Michał Górny
2017-08-28 6:20 Zac Medico
2015-12-13 21:56 Zac Medico
2015-12-09 3:07 Zac Medico
2015-11-23 21:10 Arfrever Frehtes Taifersar Arahesis
2015-11-23 20:49 Arfrever Frehtes Taifersar Arahesis
2015-11-23 20:41 Arfrever Frehtes Taifersar Arahesis
2015-09-24 19:54 Brian Dolbec
2015-07-14 21:31 Brian Dolbec
2015-05-21 4:09 Mike Frysinger
2015-02-09 21:36 Brian Dolbec
2015-02-03 20:57 Brian Dolbec
2015-02-03 20:57 Brian Dolbec
2015-02-02 18:50 Brian Dolbec
2015-02-02 18:35 Brian Dolbec
2014-12-04 20:04 [gentoo-commits] proj/portage:plugin-sync " Brian Dolbec
2014-12-04 20:16 ` [gentoo-commits] proj/portage:master " Brian Dolbec
2014-02-09 7:27 Arfrever Frehtes Taifersar Arahesis
2013-09-23 20:59 Zac Medico
2013-09-23 20:44 Zac Medico
2013-09-23 20:43 Zac Medico
2013-09-15 14:10 Zac Medico
2013-09-15 10:58 Zac Medico
2013-09-13 9:14 Arfrever Frehtes Taifersar Arahesis
2013-08-22 16:22 Zac Medico
2013-08-08 16:04 Zac Medico
2013-07-29 17:23 Zac Medico
2013-07-25 21:41 Zac Medico
2013-07-25 19:55 Zac Medico
2013-07-25 18:46 Arfrever Frehtes Taifersar Arahesis
2013-07-25 18:25 Arfrever Frehtes Taifersar Arahesis
2013-07-24 20:42 Zac Medico
2013-07-23 21:53 Arfrever Frehtes Taifersar Arahesis
2013-07-23 5:56 Zac Medico
2013-07-23 4:45 Zac Medico
2013-07-23 4:42 Zac Medico
2013-07-14 7:57 Arfrever Frehtes Taifersar Arahesis
2013-07-14 7:49 Arfrever Frehtes Taifersar Arahesis
2013-06-28 1:54 Zac Medico
2013-06-26 3:32 Arfrever Frehtes Taifersar Arahesis
2013-06-24 22:03 Arfrever Frehtes Taifersar Arahesis
2013-06-24 21:47 Arfrever Frehtes Taifersar Arahesis
2013-06-24 19:45 Arfrever Frehtes Taifersar Arahesis
2013-06-24 19:40 Arfrever Frehtes Taifersar Arahesis
2013-06-24 19:24 Zac Medico
2013-06-24 18:57 Zac Medico
2013-06-24 17:04 Arfrever Frehtes Taifersar Arahesis
2013-06-19 19:22 Zac Medico
2013-06-19 19:11 Zac Medico
2013-06-19 18:02 Zac Medico
2013-06-19 5:55 Zac Medico
2013-06-19 4:49 Zac Medico
2013-06-19 3:58 Zac Medico
2013-06-19 3:42 Zac Medico
2013-06-19 2:19 Zac Medico
2013-06-19 1:58 Zac Medico
2013-06-18 21:20 Zac Medico
2013-06-18 17:47 Zac Medico
2013-06-18 16:14 Zac Medico
2013-03-29 21:43 Zac Medico
2013-03-20 18:38 Zac Medico
2013-03-10 8:31 Zac Medico
2013-03-10 8:22 Zac Medico
2013-03-10 8:07 Zac Medico
2013-01-24 20:01 Zac Medico
2012-06-06 0:11 Zac Medico
2012-05-11 23:28 Zac Medico
2012-02-03 22:41 Zac Medico
2012-01-08 3:12 Arfrever Frehtes Taifersar Arahesis
2012-01-08 3:12 Arfrever Frehtes Taifersar Arahesis
2011-12-28 8:16 Zac Medico
2011-12-25 19:43 Arfrever Frehtes Taifersar Arahesis
2011-12-18 21:57 Arfrever Frehtes Taifersar Arahesis
2011-12-18 21:26 Arfrever Frehtes Taifersar Arahesis
2011-12-18 21:14 Arfrever Frehtes Taifersar Arahesis
2011-12-18 3:05 Arfrever Frehtes Taifersar Arahesis
2011-12-13 22:19 Zac Medico
2011-10-29 6:15 Zac Medico
2011-10-28 7:17 Zac Medico
2011-10-28 6:48 Zac Medico
2011-10-28 6:20 Zac Medico
2011-10-28 5:38 Zac Medico
2011-10-28 5:30 Zac Medico
2011-10-28 5:15 Zac Medico
2011-10-27 19:41 Zac Medico
2011-10-27 5:55 Zac Medico
2011-10-27 5:32 Zac Medico
2011-10-27 5:09 Zac Medico
2011-10-25 21:44 Zac Medico
2011-10-25 21:44 Zac Medico
2011-10-16 6:18 Zac Medico
2011-10-09 19:10 Zac Medico
2011-10-09 19:10 Zac Medico
2011-10-08 23:23 Zac Medico
2011-10-08 21:41 Arfrever Frehtes Taifersar Arahesis
2011-10-05 1:11 Arfrever Frehtes Taifersar Arahesis
2011-10-04 15:33 Zac Medico
2011-10-03 20:14 Zac Medico
2011-10-03 18:33 Zac Medico
2011-09-30 22:05 Zac Medico
2011-09-17 18:08 Zac Medico
2011-09-12 21:27 Zac Medico
2011-09-12 21:27 Zac Medico
2011-07-08 16:36 Zac Medico
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=1372117357.7f816d02c47b6b9c33a9e793e288f52045544bf6.arfrever@gentoo \
--to=arfrever.fta@gmail.com \
--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: link
Be 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