Comments (8)
Thank you for raising this issue!
The fix is here, I'd appreciate your testing and reporting back how it worked for you. So I could merge that branch and make a release.
from pysmi.
from pysmi.
Hi Ilya,
The fix works in my case, but I don't why it would work. From the fix, it seems that cascading setObject() would result in only the last setObject() call being effective.
The source code for ObjectGroup class in SNMPv2_CONF.py looks like:
class ObjectGroup(MibNode):
objects = ()
description = ''
def getObjects(self):
return getattr(self, 'objects', ())
def setObjects(self, *args):
self.objects = args
return self
def getDescription(self):
return getattr(self, 'description', '')
def setDescription(self, v):
self.description = v
return self
So calling the setObjects() twice would void the first call. Did I miss something here?
Regards,
Kevin
from pysmi.
Hey Kevin,
The fix works in my case, but I don't why it would work. From the fix, it seems that cascading setObject() would result in only the last setObject() call being effective.
You are right, that's my bad!
I've reworked the pysmi implementation (564f845) and added the incremental objects adding mode to pysnmp (commit 1739070fb0702451a34608cf0c39c44bf1e09514).
I wonder if you could re-test those? ;-)
from pysmi.
Hi Ilya,
I see one potential problem: Line 412 (and others)
append=False)
wonder it should be
append=True
Also I wonder if you are changing the pysnmp code, why not just add a new funciton, something like
setObjectList( object_tuple), where the tuple object is the argument instead of expand it.
def setObjectsList(self, list_args):
self.objects = list_args
return self
Then in codegen/pysnmp.py
objStr = ', '.join(objects)
outStr = name + ' = NotificationGroup(' + oidStr + ')' + label + '\n'
if getattr(mibBuilder, 'version', 0) < (4, 4, 2):
outStr += name + '.objects = (' + objStr + ')\n'
else:
outStr += name + 'setObjectList((' + objStr + '))\n'
from pysmi.
I see one potential problem: Line 412 (and others)
Indeed! Fixed in 1d7ca20.
Also I wonder if you are changing the pysnmp code, why not just add a new funciton, something like
setObjectList( object_tuple), where the tuple object is the argument instead of expand it.
Yes, this is definitely another legitimate way.
I'm leaning towards kwargs
because I expect that some other need for customizing those .set*()
setters behavior may come up. Creating combinations of functions like setObjectList
/setObjectSomethingElse
might become tedious by some point.
Does it make sense?
Thanks!
from pysmi.
I'm OK with it. Thanks for fixing the problem!.
from pysmi.
Merged, thank you!
from pysmi.
Related Issues (20)
- FileReader.getData() does not return full mibinfo
- MIB file does not load properly HOT 7
- NotADirectoryError: [Errno 20] Not a directory: HOT 1
- Attempting to run compiled MIB results in error while loading HOT 2
- Nodejs and typescript HOT 6
- There's anyway to convert text to mib files with this lib? HOT 8
- Deprecation warning due to invalid escape sequences in Python 3.8
- MIB file fails to parse HOT 2
- JSON output fails if a descriptor is a Python keyword HOT 3
- MibCompiler fails if dependent MIBs only available to searchers HOT 1
- snmplabs.com site is down, so Borrow Missing/failed MIBS does not work HOT 2
- Mibdump: Multiple MODULE-IDENTITY in MIB HOT 1
- MIBs compile errors HOT 2
- Convert a local mib file to json. HOT 1
- The example doesn't work. Am I doing something wrong ? HOT 1
- Will there be any new releases HOT 2
- Any reason why some of the mib files are excluded for json conversion using mibdump tool? HOT 2
- [ pysmi version is 0.3.4] MibCompiler error when node name is 'as',the key world change to 'pysmi_as' HOT 3
- Returns wrong trapOid for HP nodes HOT 1
- Failed MIBs: PAN-COMMON (Duplicate symbol found: index at MIB PAN-COMMON) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pysmi.