From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/depres/simpledeprule/, roverlay/depres/
Date: Thu, 2 Aug 2012 15:14:17 +0000 (UTC) [thread overview]
Message-ID: <1343919676.0e03d69ea4da114d891eeacf620262c901bd577b.dywi@gentoo> (raw)
commit: 0e03d69ea4da114d891eeacf620262c901bd577b
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Aug 2 15:01:16 2012 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Aug 2 15:01:16 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=0e03d69e
depres: comments, string formatting and strutil
---
roverlay/depres/depenv.py | 25 +++++++++++++++--------
roverlay/depres/listeners.py | 8 +++---
roverlay/depres/simpledeprule/abstractrules.py | 25 ++++++++++-------------
roverlay/depres/simpledeprule/console.py | 6 ++--
4 files changed, 34 insertions(+), 30 deletions(-)
diff --git a/roverlay/depres/depenv.py b/roverlay/depres/depenv.py
index f9bef8c..f4405ce 100644
--- a/roverlay/depres/depenv.py
+++ b/roverlay/depres/depenv.py
@@ -9,16 +9,23 @@ class DepEnv ( object ):
# excluding A-Z since dep_str_low will be used to find a match
# _NAME ::= word{<whitespace><word>}
_NAME = '(?P<name>[a-z0-9_\-/.+-]+(\s+[a-z0-9_\-/.+-]+)*)'
+
+ # _VER ::= [[<version_separator>]*<digit>[<digit>]*]*
+ # digit ::= {0..9}
+ # version_separator ::= {'.','_','-'}
+ # examples: .9, 1.0-5, 3, 5..-_--2
_VER = '(?P<ver>[0-9._\-]+)'
+
# { <, >, ==, <=, >=, =, != }
_VERMOD = '(?P<vmod>[<>]|[=<>!]?[=])'
+ # name/version regexes used for fuzzy dep rules
V_REGEX_STR = frozenset ( (
# 'R >= 2.15', 'R >=2.15' etc. (but not 'R>=2.15'!)
'^{name}\s+{vermod}?\s*{ver}\s*$'.format (
name=_NAME, vermod=_VERMOD, ver=_VER
),
- # TODO: merge these regexes: () [] {} (but not (],{), ...)
+
# 'R (>= 2.15)', 'R(>=2.15)' etc.
'^{name}\s*\(\s*{vermod}?\s*{ver}\s*\)$'.format (
name=_NAME, vermod=_VERMOD, ver=_VER
@@ -34,14 +41,12 @@ class DepEnv ( object ):
),
) )
- VERSION_REGEX = frozenset (
- re.compile ( regex ) for regex in V_REGEX_STR
- )
+ VERSION_REGEX = frozenset ( re.compile ( r ) for r in V_REGEX_STR )
FIXVERSION_REGEX = re.compile ( '[_\-]' )
+ URI_PURGE = re.compile ( '\s*from\s*(http|ftp|https)://[^\s]+' )
+ WHITESPACE = re.compile ( '\s+' )
- URI_PURGE = re.compile ( '\s*from\s*(http|ftp|https)://[^\s]+' )
- WHITESPACE = re.compile ( '\s+' )
-
+ # try all version regexes if True, else break after first match
TRY_ALL_REGEXES = False
STATUS_UNDONE = 1
@@ -49,6 +54,9 @@ class DepEnv ( object ):
STATUS_UNRESOLVABLE = 4
def _depstr_fix ( self, dep_str ):
+ """Removes cruft from a dep string."""
+ # unquote dep_str, remove "from <uri>.." entries and replace all
+ # whitespace by a single ' ' char
cls = self.__class__
return cls.WHITESPACE.sub ( ' ',
cls.URI_PURGE.sub ( '',
@@ -77,8 +85,7 @@ class DepEnv ( object ):
self._depsplit()
- # TODO: analyze dep_str:
- # extract dep name, dep version, useless comments,...
+ # (maybe) TODO: analyze dep_str: remove useless comments,...
# --- end of __init__ (...) ---
diff --git a/roverlay/depres/listeners.py b/roverlay/depres/listeners.py
index 9d5b0fc..1a8cc2e 100644
--- a/roverlay/depres/listeners.py
+++ b/roverlay/depres/listeners.py
@@ -101,10 +101,12 @@ class ResolvedFileListener ( FileListener ):
def notify ( self, event_type, dep_env=None, pkg_env=None, **extra ):
self._event ( event_type,
- "'%s' as '%s'" % ( dep_env.dep_str, dep_env.resolved_by )
- )
+ "{dep_str!r} as {dep!r}".format (
+ dep_str=dep_env.dep_str, dep=dep_env.resolved_by
+ ) )
# --- end of notify (...) ---
+
class UnresolvableFileListener ( FileListener ):
"""A FileListener that listens to 'dependency unresolvable' events."""
def __init__ ( self, _file ):
@@ -114,7 +116,6 @@ class UnresolvableFileListener ( FileListener ):
# --- end of __init__ (...) ---
def notify ( self, event_type, dep_env=None, pkg_env=None, **extra ):
- # <%s> % dep_env.dep_str? TODO
self._event ( event_type, dep_env.dep_str )
# --- end of notify (...) ---
@@ -129,6 +130,5 @@ class UnresolvableSetFileListener ( SetFileListener ):
# --- end of __init__ (...) ---
def notify ( self, event_type, dep_env=None, pkg_env=None, **extra ):
- #self._event ( event_type, dep_env.dep_str_low )
self._event ( event_type, dep_env.dep_str )
# --- end of notify (...) ---
diff --git a/roverlay/depres/simpledeprule/abstractrules.py b/roverlay/depres/simpledeprule/abstractrules.py
index 18dc4b7..20644e3 100644
--- a/roverlay/depres/simpledeprule/abstractrules.py
+++ b/roverlay/depres/simpledeprule/abstractrules.py
@@ -79,9 +79,9 @@ class SimpleRule ( deprule.DependencyRule ):
dep_env.dep_str_low if lowercase else dep_env.dep_str, lowercase
):
self.logger.debug (
- "matches %s with score %i and priority %i."
- % ( dep_env.dep_str, self.max_score, self.priority )
- )
+ "matches {dep_str} with score {s} and priority {p}.".format (
+ dep_str=dep_env.dep_str, s=self.max_score, p=self.priority
+ ) )
return ( self.max_score, self.resolving_package )
return None
@@ -91,7 +91,6 @@ class SimpleRule ( deprule.DependencyRule ):
"""Generates text lines for this rule that can later be read using
the SimpleDependencyRuleReader.
"""
- # todo hardcoded rule format here
if self.resolving_package is None:
resolving = ''
else:
@@ -111,7 +110,7 @@ class SimpleRule ( deprule.DependencyRule ):
pass
elif len ( self.dep_alias ) == 1:
- yield "%s :: %s" % ( resolving, iter ( self.dep_alias ).next() )
+ yield "{} :: {}".format ( resolving, iter ( self.dep_alias ).next() )
else:
yield resolving + ' {'
@@ -138,9 +137,9 @@ class FuzzySimpleRule ( SimpleRule ):
if self._find ( dep_env.dep_str_low, lowercase=True ):
# non-fuzzy match
self.logger.debug (
- "matches %s with score %i and priority %i."
- % ( dep_env.dep_str, self.max_score, self.priority )
- )
+ "matches {dep_str} with score {s} and priority {p}.".format (
+ dep_str=dep_env.dep_str, s=self.max_score, p=self.priority
+ ) )
return ( self.fuzzy_score[3], self.resolving_package )
elif hasattr ( dep_env, 'fuzzy' ):
@@ -194,9 +193,10 @@ class FuzzySimpleRule ( SimpleRule ):
self.logger.debug (
- "fuzzy-match: %s resolved as '%s' with score=%i."
- % ( dep_env.dep_str, res, score )
- )
+ 'fuzzy-match: {dep_str} resolved as {dep!r} '
+ 'with score={s}.'.format (
+ dep_str=dep_env.dep_str, dep=res, s=score
+ ) )
return ( score, res )
# --- if find (=match found)
# --- if name in
@@ -205,6 +205,3 @@ class FuzzySimpleRule ( SimpleRule ):
return None
# --- end of matches (...) ---
-
-
-
diff --git a/roverlay/depres/simpledeprule/console.py b/roverlay/depres/simpledeprule/console.py
index 2677a44..8292f4c 100644
--- a/roverlay/depres/simpledeprule/console.py
+++ b/roverlay/depres/simpledeprule/console.py
@@ -4,7 +4,7 @@ import sys
import shlex
import logging
-from roverlay import config, util
+from roverlay import config, strutil
from roverlay.errorqueue import ErrorQueue
from roverlay.depres import deptype
from roverlay.depres.depresolver import DependencyResolver
@@ -42,14 +42,14 @@ class PackageDirRuleMaker ( object ):
if self.fuzzy:
for dep in self._scan ( distdir ):
yield rules.SimpleFuzzyDependencyRule (
- resolving_package = util.fix_ebuild_name ( cat + dep ),
+ resolving_package = strutil.fix_ebuild_name ( cat + dep ),
dep_str = dep,
is_selfdep=True
)
else:
for dep in self._scan ( distdir ):
yield rules.SimpleDependencyRule (
- resolving_package = util.fix_ebuild_name ( cat + dep ),
+ resolving_package = strutil.fix_ebuild_name ( cat + dep ),
dep_str = dep,
is_selfdep=True
)
next reply other threads:[~2012-08-02 15:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-02 15:14 André Erdmann [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-06-05 22:09 [gentoo-commits] proj/R_overlay:master commit in: roverlay/depres/simpledeprule/, roverlay/depres/ André Erdmann
2013-09-02 16:21 André Erdmann
2013-09-02 13:20 André Erdmann
2013-07-19 18:00 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-23 7:51 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-03 10:05 André Erdmann
2013-07-02 21:09 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-03 10:05 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2012-07-20 16:16 [gentoo-commits] proj/R_overlay:overlay_wip " André Erdmann
2012-07-30 8:52 ` [gentoo-commits] proj/R_overlay:master " 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=1343919676.0e03d69ea4da114d891eeacf620262c901bd577b.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: 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