[MERGED] osmo-gsm-tester[master]: Move code to replicate dicts based on times attr to its own ...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Sat Sep 16 19:51:36 UTC 2017


Neels Hofmeyr has submitted this change and it was merged.

Change subject: Move code to replicate dicts based on times attr to its own function
......................................................................


Move code to replicate dicts based on times attr to its own function

Change-Id: I26ddae2124813bfb63a7c97c466e056cd2ef991a
---
M src/osmo_gsm_tester/config.py
M src/osmo_gsm_tester/resource.py
2 files changed, 16 insertions(+), 10 deletions(-)

Approvals:
  Neels Hofmeyr: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo_gsm_tester/config.py b/src/osmo_gsm_tester/config.py
index f6e81ac..a0fe969 100644
--- a/src/osmo_gsm_tester/config.py
+++ b/src/osmo_gsm_tester/config.py
@@ -52,6 +52,7 @@
 
 import yaml
 import os
+import copy
 
 from . import log, schema, util
 from .util import is_dict, is_list, Dir, get_tempdir
@@ -271,4 +272,18 @@
             dest[i] = overlay(dest[i], src[i])
         return dest
     return src
+
+def replicate_times(d):
+    'replicate items that have a "times" > 1'
+    d = copy.deepcopy(d)
+    for key, item_list in d.items():
+        more_items = []
+        for item in item_list:
+            times = int(item.pop('times'))
+            if times and times > 1:
+                for i in range(times - 1):
+                    more_items.append(copy.deepcopy(item))
+        item_list.extend(more_items)
+    return d
+
 # vim: expandtab tabstop=4 shiftwidth=4
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index d8efe2f..8f34bdb 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -134,16 +134,7 @@
         '''
         schema.validate(want, WANT_SCHEMA)
 
-        # replicate items that have a 'times' > 1
-        want = copy.deepcopy(want)
-        for key, item_list in want.items():
-            more_items = []
-            for item in item_list:
-                times = int(item.pop('times'))
-                if times and times > 1:
-                    for i in range(times - 1):
-                        more_items.append(copy.deepcopy(item))
-            item_list.extend(more_items)
+        want = config.replicate_times(want)
 
         origin_id = origin.origin_id()
 

-- 
To view, visit https://gerrit.osmocom.org/3918
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I26ddae2124813bfb63a7c97c466e056cd2ef991a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list