@@ 259-293 (lines=35) @@ | ||
256 | sys.exit(0) |
|
257 | print(args) |
|
258 | ||
259 | ||
260 | def uals(): |
|
261 | parser = argparse.ArgumentParser(description="Browse OPC-UA node and print result") |
|
262 | add_common_args(parser) |
|
263 | parser.add_argument("-l", |
|
264 | dest="long_format", |
|
265 | const=3, |
|
266 | nargs="?", |
|
267 | type=int, |
|
268 | help="use a long listing format") |
|
269 | parser.add_argument("-d", |
|
270 | "--depth", |
|
271 | default=1, |
|
272 | type=int, |
|
273 | help="Browse depth") |
|
274 | ||
275 | args = parse_args(parser) |
|
276 | if args.long_format is None: |
|
277 | args.long_format = 1 |
|
278 | ||
279 | client = Client(args.url, timeout=args.timeout) |
|
280 | client.set_security_string(args.security) |
|
281 | client.connect() |
|
282 | try: |
|
283 | node = get_node(client, args) |
|
284 | print("Browsing node {0} at {1}\n".format(node, args.url)) |
|
285 | if args.long_format == 0: |
|
286 | _lsprint_0(node, args.depth - 1) |
|
287 | elif args.long_format == 1: |
|
288 | _lsprint_1(node, args.depth - 1) |
|
289 | else: |
|
290 | _lsprint_long(node, args.depth - 1) |
|
291 | finally: |
|
292 | client.disconnect() |
|
293 | sys.exit(0) |
|
294 | print(args) |
|
295 | ||
296 | ||
@@ 95-128 (lines=34) @@ | ||
92 | node = node.get_child(path) |
|
93 | return node |
|
94 | ||
95 | ||
96 | def uaread(): |
|
97 | parser = argparse.ArgumentParser(description="Read attribute of a node, per default reads value of a node") |
|
98 | add_common_args(parser) |
|
99 | parser.add_argument("-a", |
|
100 | "--attribute", |
|
101 | dest="attribute", |
|
102 | type=int, |
|
103 | default=ua.AttributeIds.Value, |
|
104 | help="Set attribute to read") |
|
105 | parser.add_argument("-t", |
|
106 | "--datatype", |
|
107 | dest="datatype", |
|
108 | default="python", |
|
109 | choices=['python', 'variant', 'datavalue'], |
|
110 | help="Data type to return") |
|
111 | ||
112 | args = parse_args(parser, requirenodeid=True) |
|
113 | ||
114 | client = Client(args.url, timeout=args.timeout) |
|
115 | client.set_security_string(args.security) |
|
116 | client.connect() |
|
117 | try: |
|
118 | node = get_node(client, args) |
|
119 | attr = node.get_attribute(args.attribute) |
|
120 | if args.datatype == "python": |
|
121 | print(attr.Value.Value) |
|
122 | elif args.datatype == "variant": |
|
123 | print(attr.Value) |
|
124 | else: |
|
125 | print(attr) |
|
126 | finally: |
|
127 | client.disconnect() |
|
128 | sys.exit(0) |
|
129 | print(args) |
|
130 | ||
131 |