<p>Max has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/11973">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Drop unused Trap() class<br><br>Change-Id: Ic2066a66f99a059fc65cf3092170e248288c04d4<br>---<br>M osmopy/trap_helper.py<br>1 file changed, 0 insertions(+), 59 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/73/11973/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/osmopy/trap_helper.py b/osmopy/trap_helper.py</span><br><span>index f7a64c8..6f4b95d 100644</span><br><span>--- a/osmopy/trap_helper.py</span><br><span>+++ b/osmopy/trap_helper.py</span><br><span>@@ -71,65 +71,6 @@</span><br><span>     loc = split_type(v)</span><br><span>     return partial(lambda a, i: a[i] if len(a) > i else None, loc)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-class Trap(CTRL):</span><br><span style="color: hsl(0, 100%, 40%);">-    """</span><br><span style="color: hsl(0, 100%, 40%);">-    TRAP handler (agnostic to factory's client object)</span><br><span style="color: hsl(0, 100%, 40%);">-    """</span><br><span style="color: hsl(0, 100%, 40%);">-    def ctrl_TRAP(self, data, op_id, v):</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        Parse CTRL TRAP and dispatch to appropriate handler after normalization</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        self.factory.log.debug('TRAP %s' % v)</span><br><span style="color: hsl(0, 100%, 40%);">-        (l, r) = v.split()</span><br><span style="color: hsl(0, 100%, 40%);">-        loc = l.split('.')</span><br><span style="color: hsl(0, 100%, 40%);">-        t_type = loc[-1]</span><br><span style="color: hsl(0, 100%, 40%);">-        p = partial(lambda a, i: a[i] if len(a) > i else None, loc) # parse helper</span><br><span style="color: hsl(0, 100%, 40%);">-        method = getattr(self, 'handle_' + t_type.replace('-', ''), lambda *_: "Unhandled %s trap" % t_type)</span><br><span style="color: hsl(0, 100%, 40%);">-        method(p(1), p(3), p(5), p(7), r) # we expect net.0.bsc.666.bts.2.trx.1 format for trap prefix</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    def ctrl_SET_REPLY(self, data, _, v):</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        Debug log for replies to our commands</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        self.factory.log.debug('SET REPLY %s' % v)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    def ctrl_ERROR(self, data, op_id, v):</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        We want to know if smth went wrong</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        self.factory.log.debug('CTRL ERROR [%s] %s' % (op_id, v))</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    def connectionMade(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        Logging wrapper, calling super() is necessary not to break reconnection logic</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        self.factory.log.info("Connected to CTRL@%s:%d" % (self.factory.host, self.factory.port))</span><br><span style="color: hsl(0, 100%, 40%);">-        super(CTRL, self).connectionMade()</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    @defer.inlineCallbacks</span><br><span style="color: hsl(0, 100%, 40%);">-    def handle_locationstate(self, net, bsc, bts, trx, data):</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        Handle location-state TRAP: parse trap content, prepare parameters and use treq's routines to post it while setting up async handlers</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        (ts, fx, lat, lon, height, opr, adm, pol, mcc, mnc) = data.split(',')</span><br><span style="color: hsl(0, 100%, 40%);">-        tstamp = datetime.datetime.fromtimestamp(float(ts)).isoformat()</span><br><span style="color: hsl(0, 100%, 40%);">-        self.factory.log.debug('location-state@%s.%s.%s.%s (%s) [%s/%s] => %s' % (net, bsc, bts, trx, tstamp, mcc, mnc, data))</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        d = self.factory.prepare_params(bsc, lon, lat, fix.get(fx, 0), tstamp, oper.get(opr, 2), admin.get(adm, 2), policy.get(pol, 3))</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        d.addErrback(lambda e, bsc: self.factory.log.critical("HTTP POST error %s while trying to register BSC %s on %s" % (e, bsc, self.factory.location)), bsc) # handle HTTP errors</span><br><span style="color: hsl(0, 100%, 40%);">-        # Ensure that we run only limited number of requests in parallel:</span><br><span style="color: hsl(0, 100%, 40%);">-        yield self.factory.semaphore.acquire()</span><br><span style="color: hsl(0, 100%, 40%);">-        yield d # we end up here only if semaphore is available which means it's ok to fire the request without exceeding the limit</span><br><span style="color: hsl(0, 100%, 40%);">-        self.factory.semaphore.release()</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    def handle_notificationrejectionv1(self, net, bsc, bts, trx, data):</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        Handle notification-rejection-v1 TRAP: just an example to show how more message types can be handled</span><br><span style="color: hsl(0, 100%, 40%);">-        """</span><br><span style="color: hsl(0, 100%, 40%);">-        self.factory.log.debug('notification-rejection-v1@bsc-id %s => %s' % (bsc, data))</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> def reloader(path, script, log, dbg1, dbg2, signum, _):</span><br><span>     """</span><br><span>     Signal handler: we have to use execl() because twisted's reactor is not restartable due to some bug in twisted implementation</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/11973">change 11973</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/11973"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: python/osmo-python-tests </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ic2066a66f99a059fc65cf3092170e248288c04d4 </div>
<div style="display:none"> Gerrit-Change-Number: 11973 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>