All of lore.kernel.org
 help / color / mirror / Atom feed
* [yocto-autobuilder][PATCH] ScrapeTargets: use translate instead of regex
@ 2017-07-15 19:33 Stephano Cetola
  2017-07-17 14:03 ` Joshua Lock
  0 siblings, 1 reply; 2+ messages in thread
From: Stephano Cetola @ 2017-07-15 19:33 UTC (permalink / raw)
  To: yocto

From some quick tests the string translate function is comparable in
efficiency and certainly more legible than regex. We should note that
if we ever move this functionality to an environment running python3,
the translate function takes one dictionary argument, but functions
in much the same way.

Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
---
 .../site-packages/autobuilder/buildsteps/ScrapeTargets.py          | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/ScrapeTargets.py b/lib/python2.7/site-packages/autobuilder/buildsteps/ScrapeTargets.py
index ceed0c709..0480f3de3 100644
--- a/lib/python2.7/site-packages/autobuilder/buildsteps/ScrapeTargets.py
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/ScrapeTargets.py
@@ -57,9 +57,10 @@ class ScrapeTargets(ShellCommand):
             targets = res.group()
             # Try and ensure we scrape the target regardless of which
             # assignment operator is used and surrounding whitespace
-            targets = re.sub('%s *\??\??:?.?\+?=\+?\.? *\"' % self.targetsvar, '', targets, 1)
-            targets = targets.replace('\\', '')
-            targets = targets.replace('\n', '')
+            targets = targets.replace(self.targetsvar, '')
+            targets = targets.translate(None, ':+?="')
+            targets = targets.replace("\\", "")
+            targets = targets.replace ("\n", "")
         self.setProperty("scraped_targets",
                          targets,
                          'Targets "%s" scraped from %s' % (targets,
-- 
2.13.2



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [yocto-autobuilder][PATCH] ScrapeTargets: use translate instead of regex
  2017-07-15 19:33 [yocto-autobuilder][PATCH] ScrapeTargets: use translate instead of regex Stephano Cetola
@ 2017-07-17 14:03 ` Joshua Lock
  0 siblings, 0 replies; 2+ messages in thread
From: Joshua Lock @ 2017-07-17 14:03 UTC (permalink / raw)
  To: Stephano Cetola, yocto

On Sat, 2017-07-15 at 12:33 -0700, Stephano Cetola wrote:
> From some quick tests the string translate function is comparable in
> efficiency and certainly more legible than regex. We should note that
> if we ever move this functionality to an environment running python3,
> the translate function takes one dictionary argument, but functions
> in much the same way.

Oh, I didn't know about translate. Neat, thanks! Merged.

Joshua

> 
> Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
> ---
>  .../site-packages/autobuilder/buildsteps/ScrapeTargets.py          | 
> 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/python2.7/site-
> packages/autobuilder/buildsteps/ScrapeTargets.py
> b/lib/python2.7/site-packages/autobuilder/buildsteps/ScrapeTargets.py
> index ceed0c709..0480f3de3 100644
> --- a/lib/python2.7/site-
> packages/autobuilder/buildsteps/ScrapeTargets.py
> +++ b/lib/python2.7/site-
> packages/autobuilder/buildsteps/ScrapeTargets.py
> @@ -57,9 +57,10 @@ class ScrapeTargets(ShellCommand):
>              targets = res.group()
>              # Try and ensure we scrape the target regardless of
> which
>              # assignment operator is used and surrounding whitespace
> -            targets = re.sub('%s *\??\??:?.?\+?=\+?\.? *\"' %
> self.targetsvar, '', targets, 1)
> -            targets = targets.replace('\\', '')
> -            targets = targets.replace('\n', '')
> +            targets = targets.replace(self.targetsvar, '')
> +            targets = targets.translate(None, ':+?="')
> +            targets = targets.replace("\\", "")
> +            targets = targets.replace ("\n", "")
>          self.setProperty("scraped_targets",
>                           targets,
>                           'Targets "%s" scraped from %s' % (targets,
> -- 
> 2.13.2
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-07-17 14:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-15 19:33 [yocto-autobuilder][PATCH] ScrapeTargets: use translate instead of regex Stephano Cetola
2017-07-17 14:03 ` Joshua Lock

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.