-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPython_VBO(x64)v3.0.bprelease
826 lines (747 loc) · 206 KB
/
Python_VBO(x64)v3.0.bprelease
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
<?xml version="1.0" encoding="utf-8"?>
<bpr:release xmlns:bpr="http://www.blueprism.co.uk/product/release">
<bpr:name>Python_VBO(x64)v3.0</bpr:name>
<bpr:release-notes />
<bpr:created>2024-04-03 16:40:22Z</bpr:created>
<bpr:package-id>-1</bpr:package-id>
<bpr:package-name><Adhoc Package></bpr:package-name>
<bpr:user-created-by>admin</bpr:user-created-by>
<bpr:contents count="4">
<process id="8447f078-6808-4226-b5bb-04b34303ac9f" name="PythonV3.0" xmlns="http://www.blueprism.co.uk/product/process"><process name="PythonV3.0" version="1.0" bpversion="7.2.1.7446" narrative="This process contains how to use python vbo with examples." byrefcollection="true" processrunningmessage="" disableversioning="false"><view><camerax>-237</camerax><cameray>9</cameray><zoom version="2">1.25</zoom></view><preconditions /><endpoint narrative="" /><subsheet subsheetid="59f048b4-2aab-4450-83ac-450feb1e5176" type="Normal" published="False"><name>Example - Get Multiple Values from PyScript</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="86f8a156-3bbb-49d4-a78a-5f72038bbfd2" type="Normal" published="False"><name>Example - Get Text</name><view><camerax>-23</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="ae9b5b84-f39e-4bd3-8f35-fe97f65878e2" type="Normal" published="False"><name>Example - Get Binary</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="db5b5074-6c75-463f-9c08-e66df5d0f304" type="Normal" published="False"><name>Example - Get Collection</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="a2559943-790a-420b-8702-ef6a39a3aa41" type="Normal" published="False"><name>Example - Get DateTime</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="37312105-97ca-4809-94a7-a14078f5023d" type="Normal" published="False"><name>Example - Get Date</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="0b0864cb-6400-44aa-95bc-558a9fe7eae2" type="Normal" published="False"><name>Example - Get Image</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="9d7a5f38-d2b8-4b24-801c-a307c0e2f73d" type="Normal" published="False"><name>Example - Get Flag</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd" type="Normal" published="False"><name>Example - Get Number</name><view><camerax>21</camerax><cameray>84</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="b584c49d-d4fa-418f-a934-d2f1f1bff991" type="Normal" published="False"><name>Example - Get Time</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="a9c6d438-a73a-4549-a71a-ad39294d63d9" type="Normal" published="False"><name>Example - Get TimeSpan</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d" type="Normal" published="False"><name>Example - Run Python File</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="43bebf60-e798-4328-a604-bcbc75daf572" type="Normal" published="False"><name>Install pip module</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="d6264b98-58b0-4d15-829a-16f387460d29" type="Normal" published="False"><name>Uninstall pip module</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc" type="Normal" published="False"><name>Get module list</name><view><camerax>0</camerax><cameray>-25</cameray><zoom version="2">1.25</zoom></view></subsheet><stage stageid="ee7a3e12-58aa-49d8-8dfe-8a58c6c323ab" name="Start" type="Start"><display x="-570" y="-240" /><onsuccess>52c47566-dbbb-4063-97bd-afc24bc604b5</onsuccess></stage><stage stageid="e65d4848-7ed0-4e7a-87c3-7751a92cd52c" name="End" type="End"><display x="-45" y="180" /></stage><stage stageid="e592994f-37b1-4e07-a19e-3ad747ecef53" name="Stage1" type="ProcessInfo"><display x="-705" y="-60" w="150" h="90" /></stage><stage stageid="52c47566-dbbb-4063-97bd-afc24bc604b5" name="Create Instance" type="Action"><loginhibit onsuccess="true" /><display x="-570" y="-195" /><inputs><input type="text" name="Python Root Folder Path*" friendlyname="Python Root Folder Path*" narrative="Please provide path to export standard library path or leave blank automatically exported to temp path" expr=""C:\Program Files\Python312"" /><input type="number" name="Python Version*" friendlyname="Python Version*" narrative="Provide python version" expr="312" /><input type="flag" name="Show Messages***" friendlyname="Show Messages***" narrative="This switch is used to turn on/off Alerts when python script executed successfully" expr="True" /><input type="number" name="Global Script Execution Time Out***" friendlyname="Global Script Execution Time Out***" narrative="This script excution timeout " expr="60" /></inputs><onsuccess>1aadc75b-f075-4782-b811-e045a8308cca</onsuccess><resource object="Python VBO(x64)v3.0" action="Create Intance" /></stage><stage stageid="145a5132-969a-45cc-b67b-ba36413b5022" name="Example - Get Binary" type="SubSheetInfo"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><display x="-300" y="-15" w="150" h="90" /></stage><stage stageid="16416039-53dd-4cdd-8007-ae903184cba6" name="Start" type="Start"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><display x="15" y="-150" /><onsuccess>a174662f-7980-4aa8-bfd8-ca38ed0eaa61</onsuccess></stage><stage stageid="98a94e94-3e57-4d24-af23-d39c49a82995" name="End" type="End"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><display x="15" y="30" /><outputs><output type="binary" name="output" narrative="Output from python script." stage="Output_binary" /></outputs></stage><stage stageid="9d20c5a9-e287-4ae4-97de-258bd123cc8c" name="Get Binary From Python Script" type="Action"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-30" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getBinary"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="[params]" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="binary" name="Script_Output" friendlyname="Script_Output" stage="Output_binary" /></outputs><onsuccess>98a94e94-3e57-4d24-af23-d39c49a82995</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Binary" /></stage><stage stageid="3e834fbe-f43e-4a6e-a10f-da85cfbcb90d" name="params" type="Collection"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><display x="-135" y="-45" w="120" h="30" /><datatype>collection</datatype><private /><alwaysinit /><collectioninfo><singlerow /><field name="param" type="text" /></collectioninfo><initialvalue><singlerow /><row><field name="param" type="text" value="C:\Users\Naveen\Downloads\db\some.txt" /></row></initialvalue></stage><stage stageid="4dacc360-f664-4d3a-a651-6aaec936de83" name="script" type="Data"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><loginhibit onsuccess="true" /><display x="-135" y="0" w="120" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference("System") #System is .Net dll file we can use .Net modules as well as python modules.
from System import *
from System.IO import File
def getBinary(filePath):
return File.ReadAllBytes(filePath) #ReadAllBytes will return Byte array, in BP Binary data item is Byte array.</initialvalue><private /><alwaysinit /></stage><stage stageid="23341cb1-235f-45c0-bb5f-dd87306c3373" name="Output_binary" type="Data"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><display x="150" y="-45" w="90" h="30" /><datatype>binary</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="dc043e62-886f-4c55-88e5-5acd14dc9c89" name="Example - Get Collection" type="SubSheetInfo"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><display x="-270" y="-15" w="150" h="90" /></stage><stage stageid="78d667f8-e555-4a3b-9003-52c542b8a001" name="Start" type="Start"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><display x="15" y="-90" /><onsuccess>c151bf11-33a7-4544-bb26-04314f22d88e</onsuccess></stage><stage stageid="42be8c34-dd20-48b9-a701-3b6e7cfed461" name="End" type="End"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><display x="15" y="30" /><outputs><output type="collection" name="output" narrative="Output from python script." stage="Output_Collection" /></outputs></stage><stage stageid="c151bf11-33a7-4544-bb26-04314f22d88e" name="Get Collectio From Python Script" type="Action"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-30" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getCollection"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="[params]" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="collection" name="Script_Output" friendlyname="Script_Output" stage="Output_Collection" /></outputs><onsuccess>42be8c34-dd20-48b9-a701-3b6e7cfed461</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Collection" /></stage><stage stageid="1b41113f-3e15-4b6c-85ab-0846209a8123" name="params" type="Collection"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><display x="-120" y="-45" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /><collectioninfo><singlerow /><field name="param" type="collection"><field name="FirstName" type="text" /><field name="LastName" type="text" /></field></collectioninfo><initialvalue><singlerow /><row><field name="param" type="collection"><row><field name="FirstName" type="text" value="Naveen" /><field name="LastName" type="text" value="Kumar" /></row></field></row></initialvalue></stage><stage stageid="ece1f850-37c0-4512-9d48-0e228c37107e" name="script" type="Data"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference('System.Data') #System.Data is a dll file which avaialable in GAC
from System.Data import DataTable #DataTable is a class
def getCollection(in_dt):
out_dt = DataTable() #instantiating DataTable class
out_dt = in_dt.Copy() #copying in_dt(Collection) rows to out_dt
out_dt.Rows.Add("this rows added by python1","this rows added by python2") #appending rows to out_dt
out_dt.Rows.Add("kumar","m") #appending rows to out_dt
return out_dt #finally returning out_dt(Collection) to BP
#For documentation you can visit https://docs.microsoft.com/en-us/dotnet/api/system.data?view=net-6.0
</initialvalue><private /><alwaysinit /></stage><stage stageid="6dae37eb-9f81-4b70-9838-a847c033bce3" name="Output_Collection" type="Collection"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><display x="150" y="-60" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="2ac335b3-0324-4e31-8c3e-8bc93bd359c6" name="Example - Get DateTime" type="SubSheetInfo"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><display x="-270" y="-30" w="150" h="90" /></stage><stage stageid="c9c34c57-fb74-4d49-80e3-a7ad59522e1a" name="Start" type="Start"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><display x="15" y="-90" /><onsuccess>531d6934-f50b-4526-ae6b-6509067ffa8b</onsuccess></stage><stage stageid="f2130134-aaab-44cf-9521-dc145578207f" name="End" type="End"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><display x="15" y="30" /><outputs><output type="datetime" name="output" narrative="Output from python script." stage="Output_DateTime" /></outputs></stage><stage stageid="531d6934-f50b-4526-ae6b-6509067ffa8b" name="Get DateTime From Python Script" type="Action"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-30" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getCurrentDateTime"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="datetime" name="Script_Output" friendlyname="Script_Output" stage="Output_DateTime" /></outputs><onsuccess>f2130134-aaab-44cf-9521-dc145578207f</onsuccess><resource object="Python VBO(x64)v3.0" action="Get DateTime" /></stage><stage stageid="51cd35c4-7521-402a-8032-63e6ff0b4f00" name="script" type="Data"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-30" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference('System')
from System import DateTime
def getCurrentDateTime():
return DateTime.Now
</initialvalue><private /><alwaysinit /></stage><stage stageid="15e00645-0bb5-428d-b66f-b8fe676ec0b2" name="Output_DateTime" type="Data"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><loginhibit onsuccess="true" /><display x="150" y="-60" w="90" h="30" /><datatype>datetime</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e8414dec-8968-4833-8be1-adea8902eddf" name="Example - Get Date" type="SubSheetInfo"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><display x="-270" y="-15" w="150" h="90" /></stage><stage stageid="3080d3b2-7c5d-459b-a118-da395ecd891c" name="Start" type="Start"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><display x="15" y="-75" /><onsuccess>9b5c36a3-8975-40a9-8dc3-c66b4107a223</onsuccess></stage><stage stageid="2a84ed53-b26c-46e7-8143-feab15f4abd9" name="End" type="End"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><display x="15" y="45" /><outputs><output type="date" name="output" narrative="Output from python script." stage="Output_Date" /></outputs></stage><stage stageid="9b5c36a3-8975-40a9-8dc3-c66b4107a223" name="Get Date From Python Script" type="Action"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-15" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getCurrentDate"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="date" name="Script_Output" friendlyname="Script_Output" stage="Output_Date" /></outputs><onsuccess>2a84ed53-b26c-46e7-8143-feab15f4abd9</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Date" /></stage><stage stageid="ae3a4282-f4b9-4b6e-a983-e483b99b9776" name="script" type="Data"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference('System')
from System import DateTime
def getCurrentDate():
return DateTime.Now
</initialvalue><private /><alwaysinit /></stage><stage stageid="a80673e6-79ca-4335-b82a-554d8541d457" name="Output_Date" type="Data"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><display x="150" y="-45" w="90" h="30" /><datatype>date</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="069400b9-2564-4ef5-95d9-ebf6a4cfd129" name="Example - Get Image" type="SubSheetInfo"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><display x="-270" y="0" w="150" h="90" /></stage><stage stageid="461e0a7f-204b-4e8e-9a46-f50ec366ee15" name="Start" type="Start"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><display x="15" y="-75" /><onsuccess>cd9c0b52-2f4c-4029-898a-86aa12705192</onsuccess></stage><stage stageid="9a0e1183-5434-4516-a7ec-b72508ac2a0c" name="End" type="End"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><display x="15" y="45" /><outputs><output type="image" name="output" narrative="Output from python script." stage="Output_Image" /></outputs></stage><stage stageid="cd9c0b52-2f4c-4029-898a-86aa12705192" name="Get Image From Python Script" type="Action"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-15" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getImage"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="image" name="Script_Output" friendlyname="Script_Output" stage="Output_Image" /></outputs><onsuccess>9a0e1183-5434-4516-a7ec-b72508ac2a0c</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Image" /></stage><stage stageid="dd443747-d2d9-494c-9c52-d494bb7ad99f" name="script" type="Data"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference('System.Drawing')
from System.Drawing import Bitmap
def getImage():
image = Bitmap(r"C:\Windows\Web\Wallpaper\Windows\img0.jpg") #please provide any file path
return image
</initialvalue><private /><alwaysinit /></stage><stage stageid="329feaac-bbda-4a45-9cbe-e0864d056eac" name="Output_Image" type="Data"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><display x="150" y="-45" w="90" h="30" /><datatype>image</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fd498ef6-6a83-46ad-9916-488e979cd9ff" name="Example - Get Flag" type="SubSheetInfo"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><display x="-270" y="-30" w="150" h="90" /></stage><stage stageid="4cf1138f-f471-4a44-8e30-4f9d8b2c172c" name="Start" type="Start"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><display x="15" y="-90" /><onsuccess>94293289-7a0d-475b-a92d-9536622b984f</onsuccess></stage><stage stageid="ff3bb472-9cf4-410a-b272-67d9630ee74b" name="End" type="End"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><display x="15" y="30" /><outputs><output type="flag" name="output" narrative="Output from python script." stage="Output_Flag" /></outputs></stage><stage stageid="94293289-7a0d-475b-a92d-9536622b984f" name="Get Flag From Python Script" type="Action"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-30" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getFlag"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="flag" name="Script_Output" friendlyname="Script_Output" stage="Output_Flag" /></outputs><onsuccess>ff3bb472-9cf4-410a-b272-67d9630ee74b</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Flag" /></stage><stage stageid="c5329ba9-3042-49a6-ac90-ee3fa686fba8" name="script" type="Data"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-30" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">def getFlag():
return True
</initialvalue><private /><alwaysinit /></stage><stage stageid="9250f835-8d71-437d-96c9-245ac4e6e0f5" name="Output_Flag" type="Data"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><display x="150" y="-60" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="114f29f1-dd19-4a62-bdf5-0e260105016d" name="Example - Get Number" type="SubSheetInfo"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><display x="-270" y="-15" w="150" h="90" /></stage><stage stageid="83b0ca29-bb88-44d5-b90d-a3f40a5c4c81" name="Start" type="Start"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><display x="15" y="-75" /><onsuccess>4f454799-bb49-45d9-b19a-e2d56280679e</onsuccess></stage><stage stageid="9795b770-8528-4194-8ea8-396755a2e43c" name="End" type="End"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><display x="15" y="45" /><outputs><output type="number" name="output" narrative="Output from python script." stage="Output_Number" /></outputs></stage><stage stageid="4f454799-bb49-45d9-b19a-e2d56280679e" name="Get Number From Python Script" type="Action"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-15" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getNumber"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="[params]" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="number" name="Script_Output" friendlyname="Script_Output" stage="Output_Number" /></outputs><onsuccess>9795b770-8528-4194-8ea8-396755a2e43c</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Number" /></stage><stage stageid="f46956d2-cf2f-4ec2-93bb-9d52374f4948" name="script" type="Data"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference("System")
from System import Decimal
def getNumber(a,b):
output = Decimal(int(a.ToString())+int(b.ToString()))
return output
</initialvalue><private /><alwaysinit /></stage><stage stageid="a900eaee-2e9e-4dcd-a02a-a854cd1b445d" name="Output_Number" type="Data"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><display x="150" y="-45" w="90" h="30" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="738b5a5f-b691-4b2c-9cd9-e2de06278e20" name="params" type="Collection"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><display x="-120" y="0" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /><collectioninfo><singlerow /><field name="a" type="number" /><field name="b" type="number" /></collectioninfo><initialvalue><singlerow /><row><field name="a" type="number" value="101" /><field name="b" type="number" value="42" /></row></initialvalue></stage><stage stageid="5b5a5716-de28-49f1-a068-e77db3e9721d" name="Example - Get Time" type="SubSheetInfo"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><display x="-270" y="-30" w="150" h="90" /></stage><stage stageid="61770abd-521e-4a38-8985-ef560ef6c7f5" name="Start" type="Start"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><display x="15" y="-90" /><onsuccess>512d5906-886f-4efc-9098-06fdc929b32a</onsuccess></stage><stage stageid="469a2e80-318d-43f2-b6c9-90f145ed8d92" name="End" type="End"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><display x="15" y="30" /><outputs><output type="time" name="output" narrative="Output from python script." stage="Output_Time" /></outputs></stage><stage stageid="512d5906-886f-4efc-9098-06fdc929b32a" name="Get Time From Python Script" type="Action"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-30" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getTime"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="time" name="Script_Output" friendlyname="Script_Output" stage="Output_Time" /></outputs><onsuccess>469a2e80-318d-43f2-b6c9-90f145ed8d92</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Time" /></stage><stage stageid="8ad24ef1-302d-4157-a6e7-97c1d50d2a25" name="Output_Time" type="Data"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><display x="150" y="-60" w="90" h="30" /><datatype>time</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6dbf3302-d962-4c90-a9e4-92eeeaea0e8d" name="script" type="Data"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-30" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference('System')
from System import DateTime
def getTime():
return DateTime.Now
</initialvalue><private /><alwaysinit /></stage><stage stageid="d1f0f0f1-6346-45bf-9631-a1be998dfef2" name="Example - Get TimeSpan" type="SubSheetInfo"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><display x="-270" y="-15" w="150" h="90" /></stage><stage stageid="33fefcac-3eef-4192-ada4-20d317ce3ed8" name="Start" type="Start"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><display x="15" y="-75" /><onsuccess>8fad69fd-9d98-4278-a8ea-99a87019d9a5</onsuccess></stage><stage stageid="1b5513c3-39eb-41b3-a18c-9637e757dbe3" name="End" type="End"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><display x="15" y="45" /><outputs><output type="timespan" name="output" narrative="Output from python script." stage="Output_TimeSpan" /></outputs></stage><stage stageid="8fad69fd-9d98-4278-a8ea-99a87019d9a5" name="Get TimeSpan From Python Script" type="Action"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-15" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getTimeSpan"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="timespan" name="Script_Output" friendlyname="Script_Output" stage="Output_TimeSpan" /></outputs><onsuccess>1b5513c3-39eb-41b3-a18c-9637e757dbe3</onsuccess><resource object="Python VBO(x64)v3.0" action="Get TimeSpan" /></stage><stage stageid="96cfdeb7-83b0-4e8d-b923-f29ded5ac0ba" name="script" type="Data"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference('System')
from System import TimeSpan
def getTimeSpan():
time_span = TimeSpan(1, 1, 4, 3)
return time_span
</initialvalue><private /><alwaysinit /></stage><stage stageid="acfa5cc2-c77d-455e-86ff-7bb789c4c4cd" name="Output_TimeSpan" type="Data"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><display x="150" y="-45" w="90" h="30" /><datatype>timespan</datatype><initialvalue>0.00:00:00</initialvalue><private /><alwaysinit /></stage><stage stageid="230d7188-ddf1-4c6e-aebb-d6f957509ecc" name="Example - Get Text" type="SubSheetInfo"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><display x="-285" y="-15" w="150" h="90" /></stage><stage stageid="ad8ff05e-7c05-428d-a39a-eeb2d2fa1143" name="Start" type="Start"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><display x="0" y="-90" /><onsuccess>f2b2d508-300f-45c8-bd4f-41a67c1da950</onsuccess></stage><stage stageid="9d28f84e-8792-474d-bd76-b3d0d634a5d0" name="End" type="End"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><display x="0" y="30" /><outputs><output type="text" name="output" narrative="Output from python script." stage="Output_Text" /></outputs></stage><stage stageid="f2b2d508-300f-45c8-bd4f-41a67c1da950" name="Get Text From Python Script" type="Action"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><loginhibit onsuccess="true" /><display x="0" y="-30" w="120" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getText"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="[params]" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Suucess" /><output type="text" name="Script_Output" friendlyname="Script_Output" stage="Output_Text" /></outputs><onsuccess>9d28f84e-8792-474d-bd76-b3d0d634a5d0</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Text" /></stage><stage stageid="8938ebb3-df35-4479-bcc0-34c1ecb4b627" name="script" type="Data"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><loginhibit onsuccess="true" /><display x="-135" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">def getText(f_name,l_name):
return f_name + " " + l_name+ " M"
</initialvalue><private /><alwaysinit /></stage><stage stageid="f95e8b7f-5f0d-4530-a4dd-44cd416365be" name="params" type="Collection"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><display x="-135" y="0" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /><collectioninfo><singlerow /><field name="first_name" type="text" /><field name="last_name" type="text" /></collectioninfo><initialvalue><singlerow /><row><field name="first_name" type="text" value="Naveen" /><field name="last_name" type="text" value="Kumar" /></row></initialvalue></stage><stage stageid="ff33d127-f72b-43e6-801c-1938dc499c45" name="Output_Text" type="Data"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><display x="135" y="-60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="dadaee1e-5cb9-4fe5-8490-ef78619fbe86" name="Example - Run Python File" type="SubSheetInfo"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="-285" y="-75" w="150" h="90" /></stage><stage stageid="1ae123cb-9ecc-4fa7-992f-fae9830f49ad" name="Start" type="Start"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="15" y="-180" /><onsuccess>e30b6d8a-0894-487b-b020-dd6424ac62a3</onsuccess></stage><stage stageid="826afda2-9f5e-4bd4-afa9-e1ef43a3d351" name="End" type="End"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="15" y="30" /><outputs><output type="text" name="output" narrative="Output from python script." stage="Output" /></outputs></stage><stage stageid="05d24497-fb24-45f1-9a75-9cc4dfc57063" name="Run&GetText" type="Action"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-30" w="90" h="30" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""replace"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[Script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="[params]" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="text" name="Script_Output" friendlyname="Script_Output" stage="Output" /></outputs><onsuccess>826afda2-9f5e-4bd4-afa9-e1ef43a3d351</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Text" /></stage><stage stageid="647d32a2-ae92-439a-a80d-7f1272f7d80a" name="params" type="Collection"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="-120" y="-30" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /><collectioninfo><singlerow /><field name="param" type="text" /></collectioninfo><initialvalue><singlerow /><row><field name="param" type="text" value="All that glitters is not gold" /></row></initialvalue></stage><stage stageid="f89f8891-144d-4c68-9b2e-e83b9c2d73d9" name="Output" type="Data"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="-120" y="45" w="120" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c09b8cc3-ee29-4c5e-a58a-7de0c6da1cde" name="inputs" type="Block"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-60" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="ec1da1e8-a33f-4aba-822a-2fd5f9524287" name="outputs" type="Block"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="-195" y="15" w="150" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="e45fa34d-3b88-4440-849e-39bcfea8ab97" name="inputs" type="Block"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><loginhibit onsuccess="true" /><display x="-210" y="-90" w="150" h="135" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="a638e00f-8488-4095-bfef-4ae0e20dc3b8" name="outputs" type="Block"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="68958171-ee14-45c5-a890-9d85882dcc73" name="inputs" type="Block"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-75" w="120" h="105" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="6ae6bc00-d917-4632-ae61-0993503b03be" name="outputs" type="Block"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-90" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="fd6c0b15-46aa-46dd-9e90-d8a1ba57693e" name="inputs" type="Block"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-60" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="414ca8b3-1dd1-4e00-8226-9ebc8e2f82c0" name="outputs" type="Block"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-90" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="8e6265d4-e39c-4230-af04-3923f97bb5d2" name="inputs" type="Block"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-45" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="38a4abea-4256-4158-a9e5-23794599debf" name="outputs" type="Block"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="1be2db5b-327e-4bd7-8f75-39e01b7514f4" name="inputs" type="Block"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-45" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="f761fbab-8fc0-471b-9b30-44e0466865f3" name="outputs" type="Block"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="fcdc99a0-0af5-401a-b210-242ab56583a5" name="inputs" type="Block"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-60" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="0c2d15e1-47ba-40f1-a86c-3027ea32c54e" name="outputs" type="Block"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-90" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="c8532936-5d94-4116-ad01-1309481f03a1" name="inputs" type="Block"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-75" w="120" h="105" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="948bb7e2-b3ac-40eb-96a2-1a23af068d62" name="outputs" type="Block"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="f24f1fd9-e105-43d2-975b-fb3179eefb0d" name="inputs" type="Block"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-60" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="180ab5da-2f3d-403a-9e0e-229a632afced" name="output" type="Block"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-90" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="e58d2c0b-47a4-47f9-b23b-54fb7c96d821" name="inputs" type="Block"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-45" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="cebf2832-c56a-4fc4-aa8f-b3b01d7babd7" name="output" type="Block"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><loginhibit onsuccess="true" /><display x="90" y="-75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="05391484-7088-4d9c-aae2-ef35d5fdc540" name="inputs" type="Block"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><loginhibit onsuccess="true" /><display x="-195" y="-75" w="120" h="105" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="4e6d6841-554f-42c0-9ade-ccd897da048f" name="outputs" type="Block"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><loginhibit onsuccess="true" /><display x="75" y="-90" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="f4128f4b-dfc2-4d63-9b90-529c749b2066" name="Note1" type="Note"><narrative>Create Instance action should call before using other actions.</narrative><display x="-675" y="-195" w="120" h="60" /><font family="Segoe UI" size="10" style="Bold" color="0000FF" /><onsuccess>52c47566-dbbb-4063-97bd-afc24bc604b5</onsuccess></stage><stage stageid="0426e16f-e794-43d8-a977-8bdc8f73ca71" name="Note2" type="Note"><narrative>StdLibPath :If you want extract python supported files to custom path you can provide path (default path is Temp folder)
Show_Messages : If you dont want popup after completion of script execution you can provide false(default value is true)</narrative><display x="-270" y="-195" w="510" h="30" /><font family="Segoe UI" size="10" style="Bold" color="FF0000" /><onsuccess>52c47566-dbbb-4063-97bd-afc24bc604b5</onsuccess></stage><stage stageid="1aadc75b-f075-4782-b811-e045a8308cca" name="Example - Get Binary" type="SubSheet"><loginhibit onsuccess="true" /><display x="-570" y="-135" /><outputs><output type="binary" name="output" friendlyname="output" narrative="Output from python script." stage="Out_Binary" /></outputs><onsuccess>98005f0a-1945-49e3-9842-d7d084a96045</onsuccess><processid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</processid></stage><stage stageid="4a49d556-1d43-46e4-9af4-ad013156d8bd" name="Out_Binary" type="Data"><display x="-570" y="-90" /><datatype>binary</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="98005f0a-1945-49e3-9842-d7d084a96045" name="Example - Get Collection" type="SubSheet"><loginhibit onsuccess="true" /><display x="-495" y="-135" /><outputs><output type="collection" name="output" friendlyname="output" narrative="Output from python script." stage="out_collection" /></outputs><onsuccess>3be1eb5f-2cfc-45d2-86f4-83324ea1388f</onsuccess><processid>db5b5074-6c75-463f-9c08-e66df5d0f304</processid></stage><stage stageid="6e99ebb3-3bd6-4cc3-affb-b59bb47f7017" name="out_collection" type="Collection"><display x="-495" y="-90" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="3be1eb5f-2cfc-45d2-86f4-83324ea1388f" name="Example - Get DateTime" type="SubSheet"><loginhibit onsuccess="true" /><display x="-420" y="-135" /><outputs><output type="datetime" name="output" friendlyname="output" narrative="Output from python script." stage="out_datetime" /></outputs><onsuccess>bb0cad6b-2da6-46aa-a83e-3848fdb0a640</onsuccess><processid>a2559943-790a-420b-8702-ef6a39a3aa41</processid></stage><stage stageid="102b287a-066a-4a16-907c-f44c3caf0e7c" name="out_datetime" type="Data"><display x="-420" y="-90" /><datatype>datetime</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="bb0cad6b-2da6-46aa-a83e-3848fdb0a640" name="Example - Get Date" type="SubSheet"><loginhibit onsuccess="true" /><display x="-345" y="-135" /><outputs><output type="date" name="output" friendlyname="output" narrative="Output from python script." stage="out_date" /></outputs><onsuccess>f29ba43b-346e-4e38-8a89-5b84e70c9de0</onsuccess><processid>37312105-97ca-4809-94a7-a14078f5023d</processid></stage><stage stageid="510f51ef-2079-49de-9d1e-0c306b70e9d3" name="out_date" type="Data"><display x="-345" y="-90" /><datatype>date</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f29ba43b-346e-4e38-8a89-5b84e70c9de0" name="Example - Get Image" type="SubSheet"><loginhibit onsuccess="true" /><display x="-270" y="-135" /><outputs><output type="image" name="output" friendlyname="output" narrative="Output from python script." stage="out_image" /></outputs><onsuccess>bec712a1-104a-4d12-92ae-83fa18065d7b</onsuccess><processid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</processid></stage><stage stageid="bec712a1-104a-4d12-92ae-83fa18065d7b" name="Example - Get Flag" type="SubSheet"><loginhibit onsuccess="true" /><display x="-195" y="-135" /><outputs><output type="flag" name="output" friendlyname="output" narrative="Output from python script." stage="out_flag" /></outputs><onsuccess>35c18afc-d593-4632-8370-41a61bdaa943</onsuccess><processid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</processid></stage><stage stageid="c5f2daeb-acdc-44fc-ac0d-b990e17f0454" name="out_flag" type="Data"><display x="-195" y="-90" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="35c18afc-d593-4632-8370-41a61bdaa943" name="Example - Get Number" type="SubSheet"><loginhibit onsuccess="true" /><display x="-120" y="-135" /><outputs><output type="number" name="output" friendlyname="output" narrative="Output from python script." stage="out_number" /></outputs><onsuccess>87246703-14f9-44c3-9e1c-9d945fc32dcc</onsuccess><processid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</processid></stage><stage stageid="9a1f0d53-6032-48bf-bf6e-019f74797d94" name="out_number" type="Data"><display x="-120" y="-90" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="87246703-14f9-44c3-9e1c-9d945fc32dcc" name="Example - Get Time" type="SubSheet"><loginhibit onsuccess="true" /><display x="-45" y="-135" /><outputs><output type="time" name="output" friendlyname="output" narrative="Output from python script." stage="out_time" /></outputs><onsuccess>1686c66a-518e-4f2b-be31-4ac269b36200</onsuccess><processid>b584c49d-d4fa-418f-a934-d2f1f1bff991</processid></stage><stage stageid="d99dd071-7702-4b72-a101-4907c74ddd93" name="out_time" type="Data"><display x="30" y="-135" /><datatype>time</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="1686c66a-518e-4f2b-be31-4ac269b36200" name="Example - Get TimeSpan" type="SubSheet"><loginhibit onsuccess="true" /><display x="-45" y="-90" /><outputs><output type="timespan" name="output" friendlyname="output" narrative="Output from python script." stage="out_timespan" /></outputs><onsuccess>51f26a07-a0b4-49e2-b64e-511f129972f7</onsuccess><processid>a9c6d438-a73a-4549-a71a-ad39294d63d9</processid></stage><stage stageid="51f26a07-a0b4-49e2-b64e-511f129972f7" name="Example - Get Text" type="SubSheet"><loginhibit onsuccess="true" /><display x="-45" y="-45" /><outputs><output type="text" name="output" friendlyname="output" narrative="Output from python script." stage="out_text" /></outputs><onsuccess>de8dc718-f58e-4534-b29e-0bd198ac9012</onsuccess><processid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</processid></stage><stage stageid="c589bab7-d584-4fe2-bbf8-24881bcd5562" name="out_text" type="Data"><display x="30" y="-45" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="de8dc718-f58e-4534-b29e-0bd198ac9012" name="Example - Run Python File" type="SubSheet"><loginhibit onsuccess="true" /><display x="-45" y="0" /><outputs><output type="text" name="output" friendlyname="output" narrative="Output from python script." stage="out_textfromfile" /></outputs><onsuccess>2fcb4eff-ff98-4444-97d6-70ea16e11837</onsuccess><processid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</processid></stage><stage stageid="8a27220a-78fd-41e2-823e-eddd0b5c55eb" name="out_textfromfile" type="Data"><display x="30" y="0" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4c928493-a5aa-460e-9779-494854f4254c" name="out_image" type="Data"><display x="-270" y="-90" /><datatype>image</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="303acccc-962a-43d7-aae3-35f9bc77283d" name="out_timespan" type="Data"><display x="30" y="-90" /><datatype>timespan</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4d5b7bba-bcb0-41df-9119-2f7d781b5fe3" name="Block1" type="Block"><loginhibit onsuccess="true" /><display x="-615" y="-120" w="525" h="120" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="b7a245ee-c5a2-49fd-90eb-02bbc9cfca7b" name="Note3" type="Note"><narrative>Output from python script</narrative><display x="-360" y="-30" w="150" h="30" /><font family="Segoe UI" size="10" style="Bold" color="0000FF" /></stage><stage stageid="574696b8-8d8b-4551-8d26-87c65b822851" name="Block2" type="Block"><loginhibit onsuccess="true" /><display x="-15" y="-270" w="135" h="345" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="2c8cfe6f-a0a1-418e-abcd-c5178ee63d8d" name="Note3" type="Note"><narrative>O
u
t
p
u
t
f
r
o
m
p
y
t
h
o
n
s
c
r
i
p
t</narrative><display x="90" y="-105" w="30" h="330" /><font family="Segoe UI" size="12" style="Bold" color="0000FF" /></stage><stage stageid="038815b3-a82f-42aa-a925-1f38eec814e5" name="Install pip module" type="SubSheetInfo"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><display x="-300" y="-45" w="150" h="90" /></stage><stage stageid="414380f4-481c-4957-93d2-6ad33d380f2a" name="Start" type="Start"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><display x="-30" y="-105" /><onsuccess>9c50a56e-8387-471a-9b4e-db6bfe2f0da3</onsuccess></stage><stage stageid="3b1536b6-cc85-489c-b0ed-a71bc31899bf" name="End" type="End"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><display x="-30" y="15" /><outputs><output type="text" name="Pip_Log" stage="Script_Output" /></outputs></stage><stage stageid="9c50a56e-8387-471a-9b4e-db6bfe2f0da3" name="Install Module" type="Action"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><loginhibit onsuccess="true" /><display x="-30" y="-45" w="90" h="30" /><inputs><input type="text" name="Module Name*" friendlyname="Module Name*" narrative="pip module name(don't include pip install module name)" expr="[Module Name]" /></inputs><outputs><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="text" name="Script_Output" friendlyname="Script_Output" stage="Script_Output" /></outputs><onsuccess>3b1536b6-cc85-489c-b0ed-a71bc31899bf</onsuccess><resource object="Python VBO(x64)v3.0" action="Install pip Module" /></stage><stage stageid="ecfa47ea-a920-4613-b0bd-302b102e0a4e" name="outputs" type="Block"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><loginhibit onsuccess="true" /><display x="-210" y="-45" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="dc5b1904-c1c7-462e-9f58-ce3395909a8d" name="Module Name" type="Data"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><loginhibit onsuccess="true" /><display x="-150" y="-90" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">numpy</initialvalue><private /><alwaysinit /></stage><stage stageid="09c8871b-466b-4752-a94b-88004a99c41c" name="inputs" type="Block"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><loginhibit onsuccess="true" /><display x="-210" y="-120" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="9a7f2a53-2b0b-4714-843d-cb7ea41fefb1" name="Install pip module" type="SubSheet"><loginhibit onsuccess="true" /><display x="-285" y="135" /><outputs><output type="text" name="Pip_Log" friendlyname="Pip_Log" stage="Install_Log" /></outputs><onsuccess>c9411af9-fcbf-43fb-8d8b-0795b8f82ade</onsuccess><processid>43bebf60-e798-4328-a604-bcbc75daf572</processid></stage><stage stageid="d2b69c32-31a8-4de3-b5c0-dab80ea158e5" name="install module" type="Block"><loginhibit onsuccess="true" /><display x="-480" y="105" w="390" h="105" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="6e2c7597-6882-4984-ab1f-0a5460745081" name="Note4" type="Note"><narrative>To install-Uninstall pip modules provide module name only
Don't include pip install</narrative><display x="-390" y="150" w="150" h="60" /><font family="Segoe UI" size="10" style="Bold" color="993300" /></stage><stage stageid="04e48e37-5355-4a11-91cd-aa10ab150b0c" name="Uninstall pip module" type="SubSheetInfo"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><display x="-300" y="-45" w="150" h="90" /></stage><stage stageid="276468ab-944a-4d47-afb3-d49834de3e6b" name="Start" type="Start"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><display x="-30" y="-105" /><onsuccess>524abebc-046b-415d-aeba-186be01c72be</onsuccess></stage><stage stageid="c8ddb631-1b40-45de-ac93-e13c6e57dc09" name="End" type="End"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><display x="-30" y="15" /><outputs><output type="text" name="PipLog" stage="Script_Output" /></outputs></stage><stage stageid="524abebc-046b-415d-aeba-186be01c72be" name="Uninstall module" type="Action"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><loginhibit onsuccess="true" /><display x="-30" y="-45" w="90" h="30" /><inputs><input type="text" name="Module Name*" friendlyname="Module Name*" narrative="pip module name(don't include pip install module name)" expr="[Module Name]" /></inputs><outputs><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="text" name="Script_Output" friendlyname="Script_Output" stage="Script_Output" /></outputs><onsuccess>c8ddb631-1b40-45de-ac93-e13c6e57dc09</onsuccess><resource object="Python VBO(x64)v3.0" action="Uninstall pip Module" /></stage><stage stageid="9a5832e2-0a61-4e3c-a3b8-7aed5a513094" name="outputs" type="Block"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><loginhibit onsuccess="true" /><display x="-210" y="-45" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="6a13cde3-a94b-4440-a6e9-a8b780c98fe1" name="Module Name" type="Data"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><loginhibit onsuccess="true" /><display x="-150" y="-90" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">numpy</initialvalue><private /><alwaysinit /></stage><stage stageid="7ac475d0-54fa-4f06-beb1-26f1986397be" name="inputs" type="Block"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><loginhibit onsuccess="true" /><display x="-210" y="-120" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="360089ac-a012-4dff-9d0c-e2ba8996d0af" name="Get module list" type="SubSheetInfo"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><display x="-345" y="-45" w="150" h="90" /></stage><stage stageid="9944706a-996a-47cb-a23a-87b07b0b72c2" name="Start" type="Start"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><display x="-75" y="-105" /><onsuccess>234c8f70-ee94-4bc3-9371-6edd1ebd8aff</onsuccess></stage><stage stageid="dd40b0f6-0673-4915-b9a5-d3e4c2cb5afb" name="End" type="End"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><display x="-75" y="15" /><outputs><output type="collection" name="Modules" stage="Module Names" /></outputs></stage><stage stageid="234c8f70-ee94-4bc3-9371-6edd1ebd8aff" name="Get Modules List" type="Action"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><loginhibit onsuccess="true" /><display x="-75" y="-45" w="90" h="30" /><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="collection" name="Script_Output" friendlyname="Script_Output" stage="Module Names" /></outputs><onsuccess>dd40b0f6-0673-4915-b9a5-d3e4c2cb5afb</onsuccess><resource object="Python VBO(x64)v3.0" action="Get Module List" /></stage><stage stageid="a4259d9d-a458-4391-87ac-86899490025a" name="Module Names" type="Collection"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><display x="-195" y="-45" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="31ecc564-e480-4cfa-b454-b86c2b218b91" name="Block3" type="Block"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><loginhibit onsuccess="true" /><display x="-255" y="-75" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="c9411af9-fcbf-43fb-8d8b-0795b8f82ade" name="Uninstall pip module" type="SubSheet"><loginhibit onsuccess="true" /><display x="-210" y="135" /><outputs><output type="text" name="PipLog" friendlyname="PipLog" stage="Uninstall_Log" /></outputs><onsuccess>8c305fc4-5ffb-42e4-b468-c9f9f00178c5</onsuccess><processid>d6264b98-58b0-4d15-829a-16f387460d29</processid></stage><stage stageid="8c305fc4-5ffb-42e4-b468-c9f9f00178c5" name="Get module list" type="SubSheet"><loginhibit onsuccess="true" /><display x="-135" y="135" /><outputs><output type="collection" name="Modules" friendlyname="Modules" stage="Modules" /></outputs><onsuccess>05f527e6-b7c2-44d8-adf2-f7effc3c242f</onsuccess><processid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</processid></stage><stage stageid="2ef23b61-1a9a-44ce-aca3-3b56862f4bf7" name="Modules" type="Collection"><display x="-135" y="180" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="c822a77b-1a63-486a-ab50-0e75dabef076" name="Install_Log" type="Data"><display x="-285" y="180" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f4320679-361f-45dd-af3d-a4cfffcfbf55" name="Uninstall_Log" type="Data"><display x="-210" y="180" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3549c0b3-68b6-4ad2-b61c-366aae707f2e" name="Success" type="Data"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><display x="-150" y="45" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="aa48c1a8-79a2-432f-8bd3-63cacb08a4bd" name="Success" type="Data"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><display x="-150" y="45" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a174662f-7980-4aa8-bfd8-ca38ed0eaa61" name="Set Param" type="Calculation"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-105" /><onsuccess>9d20c5a9-e287-4ae4-97de-258bd123cc8c</onsuccess><calculation expression=""C:\Windows\Web\Wallpaper\Windows\img0.jpg"" stage="params.param" /></stage><stage stageid="19a59a87-998d-4cc0-ba43-4f5acdb9b630" name="Note5" type="Note"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><narrative>Please provide any file path to get as binary</narrative><display x="195" y="-105" w="240" h="30" /><font family="Segoe UI" size="14" style="Regular" color="FF0000" /><onsuccess>a174662f-7980-4aa8-bfd8-ca38ed0eaa61</onsuccess></stage><stage stageid="1d9ccf8b-17d6-4a51-9e77-ff4a378de49a" name="Note6" type="Note"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><narrative>Please provide any image file path inside the script data item</narrative><display x="-165" y="-90" w="240" h="60" /><font family="Segoe UI" size="13" style="Bold" color="FF0000" /></stage><stage stageid="9a39a967-da85-42e2-a5b8-7f3367657e28" name="Success" type="Data"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><display x="150" y="-15" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6d6863f0-784a-4ba0-9076-89a2f7871b49" name="Error Message" type="Data"><subsheetid>ae9b5b84-f39e-4bd3-8f35-fe97f65878e2</subsheetid><display x="150" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5c67edf9-068d-4105-8266-d6c2b29e3302" name="Success" type="Data"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="-120" y="105" w="120" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e6d12825-43ab-4cb0-b591-7689c7a0a7ef" name="Error Message" type="Data"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="-120" y="75" w="120" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="74f86090-1606-44c8-a5d0-5a33e8bd34b9" name="Error Message" type="Data"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><display x="150" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="09a840a6-877a-414f-9f53-8b480c740001" name="Success" type="Data"><subsheetid>db5b5074-6c75-463f-9c08-e66df5d0f304</subsheetid><display x="150" y="-30" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b10fe2aa-a84b-4cca-96d8-ea58ffc80a38" name="Error Message" type="Data"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><display x="150" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="427f7670-4593-46cd-831b-d39b954f7631" name="Success" type="Data"><subsheetid>a2559943-790a-420b-8702-ef6a39a3aa41</subsheetid><display x="150" y="-30" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="21b52afe-e103-42d0-a4a4-3613696a471c" name="Error Message" type="Data"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><display x="150" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2a0d39f6-3c5e-40d0-bab7-f9fa199cd6f4" name="Success" type="Data"><subsheetid>37312105-97ca-4809-94a7-a14078f5023d</subsheetid><display x="150" y="-15" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0a14a9fc-4822-4599-b109-7baf4893173e" name="Error Message" type="Data"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><display x="150" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fa532066-7251-4028-bb9f-03a4fab06b0f" name="Success" type="Data"><subsheetid>0b0864cb-6400-44aa-95bc-558a9fe7eae2</subsheetid><display x="150" y="-15" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="67e576e7-2646-42f5-a6bc-9b3c84f311cb" name="Success" type="Data"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><display x="150" y="-30" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2048d46e-04e9-4f59-892a-1b265dff29a0" name="Error Message" type="Data"><subsheetid>9d7a5f38-d2b8-4b24-801c-a307c0e2f73d</subsheetid><display x="150" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e07c461d-f46f-46e6-92d0-9af2285cbbfa" name="Error Message" type="Data"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><display x="150" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5ad2b8e6-df8d-4da6-b23a-c774fa599000" name="Success" type="Data"><subsheetid>3eb4d7de-b9a5-4573-a4dd-708ce36b8ebd</subsheetid><display x="150" y="-15" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="32de9f2e-c8c4-4a08-8b20-2803861fae4b" name="Error Message" type="Data"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><display x="150" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="25f7d524-2eed-489c-a1d8-78d0fa552e78" name="Success" type="Data"><subsheetid>b584c49d-d4fa-418f-a934-d2f1f1bff991</subsheetid><display x="150" y="-30" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="32314633-a648-46f0-a5ed-76bdde417ae4" name="Error Message" type="Data"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><display x="150" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d388eaf7-b1aa-4771-bc63-76a646e7f416" name="Success" type="Data"><subsheetid>a9c6d438-a73a-4549-a71a-ad39294d63d9</subsheetid><display x="150" y="-15" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9770292c-b3d6-444a-a26c-764c86f6f3d7" name="Suucess" type="Data"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><display x="135" y="-30" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b5a36ebd-cf5b-4a05-a7cb-826286af37b6" name="Error Message" type="Data"><subsheetid>86f8a156-3bbb-49d4-a78a-5f72038bbfd2</subsheetid><display x="135" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="025b8ecb-7d5a-4933-809f-c6463ce6573c" name="Error Message" type="Data"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><display x="-150" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="16dd5c97-e430-4cb5-882e-65f2f75cd0f7" name="Script_Output" type="Data"><subsheetid>43bebf60-e798-4328-a604-bcbc75daf572</subsheetid><display x="-150" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e12868dc-5094-45a6-9f3a-96178fb67e09" name="Script_Output" type="Data"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><display x="-150" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="595c0bdb-978f-40ca-9c4a-6a38056223d2" name="Error Message" type="Data"><subsheetid>d6264b98-58b0-4d15-829a-16f387460d29</subsheetid><display x="-150" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="70e7451f-a912-4fb2-8313-44a02da73854" name="Error Message" type="Data"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><display x="15" y="-45" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3ca495c0-3287-4fcc-95d0-1a76e6db833a" name="Success" type="Data"><subsheetid>b9cdeee4-133b-4dd7-b42e-0e5aa1b81efc</subsheetid><display x="90" y="-45" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="47778a8b-6da5-4c4a-be9b-c9ec0f94a95d" name="Note3" type="Note"><loginhibit /><narrative>In Input Parameter ending of stars( * ** )meanings.
* Means mandatory parameter.
** Means optional parameter</narrative><display x="-705" y="105" w="420" h="180" /><font family="Segoe UI" size="18" style="Bold" color="FF0000" /></stage><stage stageid="e30b6d8a-0894-487b-b020-dd6424ac62a3" name="Get User Name" type="Action"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-120" /><outputs><output type="text" name="User Name" friendlyname="User Name" narrative="The name of the logged in user in the current system" stage="User Name" /></outputs><onsuccess>56641637-482a-4d85-86f4-d685643fd8a3</onsuccess><resource object="Utility - Environment" action="Get User Name" /></stage><stage stageid="6a5b9868-d077-4998-ba6c-a02242ac4238" name="User Name" type="Data"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><display x="-120" y="-105" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="56641637-482a-4d85-86f4-d685643fd8a3" name="Write Text File" type="Action"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="15" y="-75" /><inputs><input type="text" name="File Name" friendlyname="File Name" narrative="The full path to the file to write the text to" expr=""C:\Users\"&[User Name]&"\AppData\Local\Temp\PyScript.py"" /><input type="text" name="Text" friendlyname="Text" narrative="The text to write to the file" expr="[Script]" /></inputs><outputs><output type="flag" name="Success" friendlyname="Success" narrative="True if successful" stage="" /><output type="text" name="Message" friendlyname="Message" narrative="An error message if unsuccessful" stage="" /></outputs><onsuccess>05d24497-fb24-45f1-9a75-9cc4dfc57063</onsuccess><resource object="Utility - File Management" action="Write Text File" /></stage><stage stageid="5ba802bd-1409-4caa-84df-83fa0e759ce2" name="Script" type="Data"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="-120" y="-135" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">def replace(name):
return name.replace("All", "'All replaced with Naveen")</initialvalue><private /><alwaysinit /></stage><stage stageid="b5630528-1108-4807-b8b4-59702f9513d6" name="Local" type="Block"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="-180" y="-165" w="120" h="90" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="1814f5c0-009f-4a3a-9102-e7ef4fd61559" name="Block4" type="Block"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit onsuccess="true" /><display x="-45" y="-150" w="195" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="e3ef26b3-99ee-4eec-bc2d-e5faacb6a42d" name="Recover1" type="Recover"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit /><display x="105" y="-90" /><onsuccess>777176b4-7032-47e2-bfa9-930e01ae7963</onsuccess></stage><stage stageid="777176b4-7032-47e2-bfa9-930e01ae7963" name="Resume1" type="Resume"><subsheetid>f75419b2-f7fa-4ab0-ab6b-8785adb4ed1d</subsheetid><loginhibit /><display x="105" y="30" /><onsuccess>826afda2-9f5e-4bd4-afa9-e1ef43a3d351</onsuccess></stage><stage stageid="00008896-9e8c-433e-8263-1cb5864c271f" name="Example - Get Multiple Values from PyScript" type="SubSheetInfo"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><display x="-255" y="-45" w="150" h="90" /></stage><stage stageid="87319e48-7704-4fd3-861b-e5295524c691" name="Start" type="Start"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><display x="30" y="-90" /><onsuccess>dfad9c30-5f4b-41d7-822c-4debd62cc249</onsuccess></stage><stage stageid="7cb3ce97-02b2-4679-b7ca-75718d143094" name="End" type="End"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><display x="30" y="0" /><outputs><output type="collection" name="MultipleValues" stage="Script_Output" /></outputs></stage><stage stageid="dfad9c30-5f4b-41d7-822c-4debd62cc249" name="Get Multiple Values" type="Action"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><loginhibit onsuccess="true" /><display x="30" y="-45" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""replace"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[Script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="[Coll1]" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="collection" name="Script_Output" friendlyname="Script_Output" stage="Script_Output" /></outputs><onsuccess>7cb3ce97-02b2-4679-b7ca-75718d143094</onsuccess><resource object="Python VBO(x64)v3.0" action="Get MultipleValues" /></stage><stage stageid="736ee0c8-672c-4c36-94c7-5c73cf2a1a20" name="Script_Output" type="Collection"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><display x="165" y="-75" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="3b5ea0a3-5f1e-466d-a16b-6cff6e3cf4df" name="Success" type="Data"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><display x="165" y="-45" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9fe76080-a47c-4514-aa9f-1c574730eb42" name="Error Message" type="Data"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><display x="165" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="67438574-a10c-4500-899b-febc05641f64" name="Coll1" type="Collection"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><display x="-105" y="-30" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /><collectioninfo><field name="fName" type="text" /></collectioninfo><initialvalue><row><field name="fName" type="text" value="All Naveen" /></row></initialvalue></stage><stage stageid="2f4dad06-b137-42ff-ae2f-ce0ff5a7e347" name="Script" type="Data"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><loginhibit onsuccess="true" /><display x="-105" y="-60" /><datatype>text</datatype><initialvalue xml:space="preserve">import clr
clr.AddReference("System") #System is .Net dll file we can use .Net modules as well as python modules.
clr.AddReference('System.Data') #System.Data is a dll file which avaialable in GAC
clr.AddReference('System.Drawing')
from System import *
from System.IO import File
from System import DateTime
from System.Drawing import Bitmap
from System.Data import DataTable #DataTable is a class
from System import TimeSpan
import traceback
def replace(name):
try:
out_dt = DataTable() #instantiating DataTable class
out_dt.Columns.Add("Column1")
out_dt.Columns.Add("Column2")
out_dt.Rows.Add("this rows added by python1","this rows added by python2") #appending rows to out_dt
out_dt.Rows.Add("kumar","m") #appending rows to out_dt
bytes = File.ReadAllBytes(r"C:\Windows\Web\Wallpaper\Windows\img0.jpg") #there is bug in bluprism and opened an issue https://community.blueprism.com/t5/Digital-Exchange/Bug-in-code-stage-unable-set-binary-type-in-Collection/m-p/109177/thread-id/3421
datetime = DateTime.Now;
image = Bitmap(r"C:\Windows\Web\Wallpaper\Windows\img0.jpg")
time_span = TimeSpan(1, 1, 4, 3)
return name.replace("All", "All replaced with Naveen"),123,out_dt,datetime,image,True,time_span#,bytes not returning
except Exception as e:
return f"Error: {str(e)}\n{traceback.format_exc()}"</initialvalue><private /><alwaysinit /></stage><stage stageid="3a13d780-87ae-486c-8af8-396c1211fdf5" name="inputs" type="Block"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><loginhibit onsuccess="true" /><display x="-165" y="-90" w="120" h="90" /><font family="Segoe UI" size="10" style="Regular" color="FF9900" /></stage><stage stageid="98cbec66-6060-47ae-ab41-00e330c1e122" name="outputs" type="Block"><subsheetid>59f048b4-2aab-4450-83ac-450feb1e5176</subsheetid><loginhibit onsuccess="true" /><display x="105" y="-105" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="2fcb4eff-ff98-4444-97d6-70ea16e11837" name="Example - Get Multiple Values from PyScript" type="SubSheet"><loginhibit onsuccess="true" /><display x="-45" y="45" /><outputs><output type="collection" name="MultipleValues" friendlyname="MultipleValues" stage="MultipleValues" /></outputs><onsuccess>05f527e6-b7c2-44d8-adf2-f7effc3c242f</onsuccess><processid>59f048b4-2aab-4450-83ac-450feb1e5176</processid></stage><stage stageid="e00d17d5-e59d-46db-82b0-7a0a8094e167" name="MultipleValues" type="Collection"><display x="30" y="45" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="05f527e6-b7c2-44d8-adf2-f7effc3c242f" name="Close Instance" type="Action"><loginhibit onsuccess="true" /><display x="-45" y="135" /><onsuccess>e65d4848-7ed0-4e7a-87c3-7751a92cd52c</onsuccess><resource object="Python VBO(x64)v3.0" action="Close Instance" /></stage><stage stageid="0c69e2ee-ea58-41d0-8104-2b126a33b1f6" name="Note4" type="Note"><loginhibit /><narrative>If you are facing Blueprism crash issue don't call this action even after completion of python usage.Garbage collector will dispose the object</narrative><display x="150" y="135" w="240" h="90" /><font family="Segoe UI" size="14" style="Bold" color="FF0000" /><onsuccess>05f527e6-b7c2-44d8-adf2-f7effc3c242f</onsuccess></stage></process></process>
<object id="52f39f04-33e5-49ce-a305-d914b16bb2b6" name="Python VBO(x64)v3.0" xmlns="http://www.blueprism.co.uk/product/process"><process name="Python VBO(x64)v3.0" version="1.0" bpversion="7.2.1.7446" narrative="" byrefcollection="true" processrunningmessage="" disableversioning="false" type="object" runmode="Exclusive"><appdef><element name="Application Root"><id>f75addc7-31db-4519-9dcd-d4f9442a5b8e</id><type>Application</type><basetype>Application</basetype><datatype>unknown</datatype><diagnose>False</diagnose></element></appdef><view><camerax>24</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view><preconditions /><endpoint narrative="" /><subsheet subsheetid="4c732ae4-57d7-440f-b73c-9113dfd97d45" type="CleanUp" published="True"><name>Clean Up</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="a1a1ddb2-cb46-41d6-9b3f-be704ac35078" type="Normal" published="True"><name>Create Intance</name><view><camerax>-8</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="24064714-3f88-47ba-a199-a92d0290d8e2" type="Normal" published="True"><name>Close Instance</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="129ddb52-ef8f-414c-aa3d-d26eede6da01" type="Normal" published="False"><name>getTextFromPyScript</name><view><camerax>0</camerax><cameray>-38</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="f3bc5d65-3e82-4b37-8463-de3fc1a0a785" type="Normal" published="True"><name>Execute Py Script (No Output)</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="255c4778-f4fc-4bd8-b1b5-5e744212297e" type="Normal" published="True"><name>Execute Py File (No Output)</name><view><camerax>-8</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="c4856e06-6af6-462d-860e-39896eeba17f" type="Normal" published="True"><name>Get Text</name><view><camerax>0</camerax><cameray>-15</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="8b2b1c23-f78f-4dc4-b916-cf5d04a8a639" type="Normal" published="True"><name>Get Binary</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="0c8d485c-6b79-44b9-8bdd-ed05e727bf85" type="Normal" published="False"><name>Get DataTable</name><view><camerax>-36</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="9a41b306-9bb5-4e09-b1c4-97b269f78b62" type="Normal" published="True"><name>Get MultipleValues</name><view><camerax>-36</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="8ca3427d-7efe-46bb-8184-c719e5f3b861" type="Normal" published="True"><name>Get Collection</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="63f66cd9-d661-4291-b7c2-a2cb6b7891b5" type="Normal" published="True"><name>Get Date</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="72ebe8b9-0556-457c-83d7-77568d612485" type="Normal" published="True"><name>Get DateTime</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="db814ed0-265b-4a00-8b3f-36db06407383" type="Normal" published="True"><name>Get Flag</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="52083995-a382-409e-a8ca-aa0638170e64" type="Normal" published="True"><name>Get Image</name><view><camerax>-9</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="8056d7fb-b380-4ba6-907e-31badc015322" type="Normal" published="True"><name>Get Number</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="287e8629-16ba-4635-bbbe-2b20e73bdc7f" type="Normal" published="True"><name>Get Time</name><view><camerax>-116</camerax><cameray>42</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="4b5acbc4-b880-4e0c-9373-aa2f7116ebf0" type="Normal" published="True"><name>Get TimeSpan</name><view><camerax>-78</camerax><cameray>21</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="f4d1d3e7-f73a-4554-bc89-fc17a380b590" type="Normal" published="True"><name>Get Module List</name><view><camerax>7</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="fc3bf868-3410-4295-a5f7-54db32cae95f" type="Normal" published="True"><name>Set Module Search Path</name><view><camerax>0</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="378f1982-bc0b-480a-bf8a-1bc3b15ff4a1" type="Normal" published="True"><name>Install pip Module</name><view><camerax>7</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="f0441b78-8dea-453a-82b9-3bdad0c7e77d" type="Normal" published="True"><name>Uninstall pip Module</name><view><camerax>7</camerax><cameray>0</cameray><zoom version="2">1.25</zoom></view></subsheet><subsheet subsheetid="0d467fa4-fd01-423f-810d-91241e08c785" type="Normal" published="False"><name>MessageBox</name><view><camerax>0</camerax><cameray>21</cameray><zoom version="2">1.25</zoom></view></subsheet><stage stageid="fcff0acf-2cd7-404b-9cc4-4168610d52e6" name="Start" type="Start"><loginhibit /><display x="15" y="-105" /><onsuccess>411d465a-1a44-4553-99bd-ec67ee9b9f15</onsuccess></stage><stage stageid="411d465a-1a44-4553-99bd-ec67ee9b9f15" name="End" type="End"><loginhibit /><display x="15" y="90" /></stage><stage stageid="360aeeb2-a7f4-48e6-abd5-045ef6247601" name="Stage1" type="ProcessInfo"><display x="-195" y="-105" w="150" h="90" /><references><reference>System.dll</reference><reference>System.Data.dll</reference><reference>System.Xml.dll</reference><reference>System.Drawing.dll</reference><reference>System.Core.dll</reference><reference>Microsoft.CSharp.dll</reference><reference>System.IO.dll</reference><reference>System.Windows.Forms.dll</reference><reference>Python.Runtime.dll</reference><reference>netstandard.dll</reference></references><imports><import>System</import><import>System.Drawing</import><import>System.Data</import><import>System.Reflection</import><import>System.Runtime</import><import>System.IO</import><import>Microsoft.CSharp</import><import>System.Reflection</import><import>System.Collections.Generic</import><import>System.Runtime.InteropServices</import><import>System.Diagnostics</import><import>System.Windows.Forms</import><import>System.Linq</import><import>Python.Runtime</import><import>System.Threading.Tasks</import><import>System.Threading</import></imports><language>csharp</language><globalcode><![CDATA[]]></globalcode><code><![CDATA[private PythonEngineWrapper instance2 = null;
private int GlobalWait = 30;
private void IsInitialised(){
if(instance2 == null)
throw new Exception("Please call 'Create Instance' action before calling other actions from this VBO.");
}
// Define a class to hold the output results
public class OutputResults
{
public bool isSuccess { get; set; } // Flag indicating whether the execution was successful
public string errorMessage { get; set; } // Error message if execution failed
public object outResult { get; set; } // Result of the execution
public OutputResults() { } // Default constructor
}
// Define a class to interact with the Python engine
public class PythonEngineWrapper
{
private readonly string _pythonInstalledRootLocation; // Location where Python is installed
private readonly int _pythonVersion; // Version of Python
private readonly string _pythonDllPath; // Path to Python DLL
private readonly List<string> _bpTypes = new List<string> // List of supported types
{
"DateTime", "str", "TimeSpan", "bool", "Decimal", "int", "byte[]", "float", "double",
"Byte[]", "DataTable", "Bitmap", "String", "string", "Boolean", "tuple", "PyTuple"
};
private readonly Dictionary<string, Type> _bptypes = new Dictionary<string, Type>()
{
{ "DateTime", typeof(DateTime) },
{ "str", typeof(string) },
{ "String", typeof(string) },
{ "string", typeof(string) },
{ "TimeSpan", typeof(TimeSpan) },
{ "Boolean", typeof(Boolean) },
{ "bool", typeof(Boolean) },
{ "Decimal", typeof(Decimal) },
{ "int", typeof(Decimal) },
{ "float", typeof(Decimal) },
{ "double", typeof(Decimal) },
{ "Byte[]", typeof(Byte[]) },
{ "byte[]", typeof(Byte[]) },
{ "DataTable", typeof(DataTable) },
{ "Bitmap", typeof(Bitmap) }
};
private readonly Dictionary<string, Type> _nettypes = new Dictionary<string, Type>()
{
{ "DateTime", typeof(DateTime) },
{ "str", typeof(string) },
{ "String", typeof(string) },
{ "string", typeof(string) },
{ "TimeSpan", typeof(TimeSpan) },
{ "Boolean", typeof(Boolean) },
{ "bool", typeof(Boolean) },
{ "Decimal", typeof(Decimal) },
{ "int", typeof(int) },
{ "float", typeof(float) },
{ "double", typeof(double) },
{ "Byte[]", typeof(Byte[]) },
{ "byte[]", typeof(byte[]) },
{ "DataTable", typeof(DataTable) },
{ "Bitmap", typeof(Bitmap) }
};
private IntPtr _ptr = IntPtr.Zero; // Pointer for thread management
// Constructor
public PythonEngineWrapper(string pythonInstallationRootLocation, int pythonVersion)
{
_pythonInstalledRootLocation = pythonInstallationRootLocation; // Set Python installation root location
_pythonVersion = pythonVersion; // Set Python version
// Construct Python DLL path
_pythonDllPath = Path.Combine(_pythonInstalledRootLocation, $"python{_pythonVersion}.dll");
// Check if Python DLL exists
if (!File.Exists(_pythonDllPath))
throw new FileNotFoundException("Python DLL file not found at path: " + _pythonDllPath);
SetPythonDll(); // Set Python DLL
Init(); // Initialize Python engine
}
// Initialize Python engine
private void Init()
{
// Check if Python engine is not initialized
if (!PythonEngine.IsInitialized)
{
PythonEngine.Initialize(); // Initialize Python engine
try
{
_ptr = PythonEngine.BeginAllowThreads(); // Begin thread management
}
catch (Exception ex)
{
throw new Exception(ex.Message + "\n" + (ex.InnerException != null ? ex.InnerException.Message : "") + "\n" + ex.StackTrace); // Handle initialization error
}
}
}
// Set Python DLL path
private void SetPythonDll()
{
// Check if Python DLL path is not set
if (string.IsNullOrEmpty(Runtime.PythonDLL))
{
try
{
Runtime.PythonDLL = _pythonDllPath; // Set Python DLL path
}
catch (InvalidOperationException ex)
{
throw new Exception("Error setting Python DLL path", ex); // Handle DLL path setting error
}
}
}
// Execute Python script
public OutputResults ExecutePythonScript<T>(string pythonScript, string functionName = null, DataTable parameters = null, bool isFile = false)
{
OutputResults outputResults = new OutputResults(); // Create instance to hold execution results
CheckParams(pythonScript, isFile, ref outputResults); // Check parameters
if (!string.IsNullOrEmpty(outputResults.errorMessage)) // If there's an error message, return immediately
return outputResults;
try
{
Init(); // Initialize Python engine
using (Py.GIL()) // Acquire Global Interpreter Lock (GIL)
{
using (var scope = Py.CreateScope()) // Create Python scope
{
CompileAndExecute(pythonScript, functionName, isFile, scope);
if (string.IsNullOrEmpty(functionName)) // If no function name provided, return success
{
SetSuccessResult(ref outputResults, null);
return outputResults;
}
PyObject pythonFunction = scope.Get(functionName); // Get Python class/function
PyObject[] paras = ParseAndGetParameters(parameters); // Parse and get parameters
PyObject res = paras != null ? pythonFunction.Invoke(paras) : pythonFunction.Invoke(); // Invoke Python function
GetAndSetOutputFromPythonObject<T>(res, ref outputResults); // Get and set output result
}
}
}
catch (Exception ex)
{
SetErrorResult(ref outputResults, ex.Message + "\n" + (ex.InnerException != null ? ex.InnerException.Message : "") + "\n" + ex.StackTrace); // Set error result
}
return outputResults;
}
// Compile and execute Python script
private void CompileAndExecute(string ScriptOrPath, string functionName, bool isFile, PyModule scope)
{
if (isFile)
{
if (ScriptOrPath.EndsWith(".py")) // If script is a file and ends with .py extension
{
ScriptOrPath = GetFileContentAsTextAndSetPath(ScriptOrPath); // Read file content and set path
}
else if (ScriptOrPath.EndsWith(".pyc"))
{
scope.SetAttr(functionName, Py.Import(GetFileNameWithoutExtension(ScriptOrPath)).GetAttr(functionName));
return; // Exit the method if pythonScript ends with .pyc
}
}
var scriptCompiled = PythonEngine.Compile(ScriptOrPath); // Compile Python script
scope.Execute(scriptCompiled);
}
// Get and set output result from Python object
private void GetAndSetOutputFromPythonObject<T>(PyObject pyResults, ref OutputResults outputResults)
{
var returnedType = pyResults.GetPythonType();
if (!_bpTypes.Contains(returnedType.Name) || !_bpTypes.Contains(typeof(T).Name))
{
SetErrorResult(ref outputResults, $"Python script should return BP supported types such as {string.Join(", ", _bpTypes)}. But returned type is: {returnedType.Name}");
return;
}
try
{
if (typeof(T).Name.Equals("tuple") || typeof(T).Name.Equals("PyTuple"))
{
var tuple = (PyTuple)pyResults.AsManagedObject(typeof(T));
var dt = new DataTable();
for (int i = 0; i < tuple.Count(); i++)
{
var item = tuple[i];
var itemType = GetPythonObjectTypeName(item);
if (!_bpTypes.Contains(itemType))
{
SetErrorResult(ref outputResults, $"Python script should return BP supported types such as {string.Join(", ", _bpTypes)}. But returned type is: {itemType} and in position {i}");
return;
}
var columnName = "Column" + i;
var netType = _nettypes[itemType];
dt.Columns.Add(columnName, netType);
var value = item.AsManagedObject(netType);
dt.Rows.Add();
dt.Rows[0][columnName] = Convert.ChangeType(value, netType);
}
SetSuccessResult(ref outputResults, dt);
}
else
{
SetSuccessResult(ref outputResults, pyResults.AsManagedObject(typeof(T)));
}
}
catch (Exception ex)
{
SetErrorResult(ref outputResults, ex.Message + "\n" + (ex.InnerException != null ? ex.InnerException.Message : "") + "\n" + ex.StackTrace);
}
}
// Get the type name of a Python object
private string GetPythonObjectTypeName(PyObject pyObject)
{
return pyObject.GetAttr("__class__").ToString().Split('\'')[1].Split('.').Last();
}
// Check parameters
private void CheckParams(string scriptOrPath, bool isFile, ref OutputResults outputResults)
{
if (string.IsNullOrEmpty(scriptOrPath)) // Check if script or path is null or empty
{
SetErrorResult(ref outputResults, "Python script should not be null or empty"); // Set error message
return;
}
if (isFile && !(scriptOrPath.EndsWith(".py") || scriptOrPath.EndsWith(".pyc"))) // Check if file is provided and ends with .py extension
{
SetErrorResult(ref outputResults, "Invalid path or the path doesn't contain the file name(.py)"); // Set error message
}
}
// Read file content as text and set Python path
private string GetFileContentAsTextAndSetPath(string filePath)
{
SetPathFromFilePath(filePath); // Set Python path from file path
return File.ReadAllText(filePath); // Read file content as text
}
// Get the file name without extension
private string GetFileNameWithoutExtension(string fileName)
{
SetPathFromFilePath(fileName);
return Path.GetFileNameWithoutExtension(fileName);
}
// Set Python path from file path
private void SetPathFromFilePath(string filePath)
{
dynamic os = Py.Import("os"); // Import os module
dynamic sys = Py.Import("sys"); // Import sys module
sys.path.append(os.path.dirname(os.path.expanduser(filePath))); // Set Python path
}
// Parse and get parameters from DataTable
private PyObject[] ParseAndGetParameters(DataTable parameters)
{
if (parameters != null && parameters.Rows.Count > 0 && parameters.Rows[0].ItemArray.Length > 0) // Check if parameters exist
{
var rows = parameters.Rows[0].ItemArray;
PyObject[] paras = new PyObject[rows.Length]; // Create array for parameters
for (int i = 0; i < rows.Length; i++)
paras[i] = rows[i].ToPython(); // Convert parameters to Python objects
return paras; // Return parameters
}
return null; // Return null if no parameters exist
}
// Close Python engine
public void Close()
{
if (_ptr != IntPtr.Zero) // Check if pointer is not null
{
try
{
PythonEngine.EndAllowThreads(_ptr); // End thread management
PythonEngine.Shutdown(); // Shutdown Python engine
}
catch (Exception ex)
{
throw new Exception(ex.Message + "\n" + (ex.InnerException != null ? ex.InnerException.Message : "") + "\n" + ex.StackTrace); // Handle closing error
}
}
}
// Helper method to set success result
private void SetSuccessResult(ref OutputResults outputResults, object result)
{
outputResults.isSuccess = true;
outputResults.errorMessage = "";
outputResults.outResult = result;
}
// Helper method to set error result
private void SetErrorResult(ref OutputResults outputResults, string errorMessage)
{
outputResults.isSuccess = false;
outputResults.errorMessage = errorMessage;
}
}
public class AutoClosingMessageBox {
System.Threading.Timer _timeoutTimer;
string _caption;
AutoClosingMessageBox(string text, string caption, int timeout) {
_caption = caption;
_timeoutTimer = new System.Threading.Timer(OnTimerElapsed,
null, timeout, System.Threading.Timeout.Infinite);
using(_timeoutTimer)
MessageBox.Show(text, caption);
}
public static void Show(string text, string caption, int timeout) {
new AutoClosingMessageBox(text, caption, timeout*1000);
}
public static void Show(int timeout) {
Show("Executed script successfully\nThis will automatically closed in "+timeout+" secs", "Success!", timeout);
}
void OnTimerElapsed(object state) {
IntPtr mbWnd = FindWindow("#32770", _caption); // lpClassName is #32770 for MessageBox
if(mbWnd != IntPtr.Zero)
SendMessage(mbWnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
_timeoutTimer.Dispose();
}
const int WM_CLOSE = 0x0010;
[System.Runtime.InteropServices.DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
}]]></code></stage><stage stageid="3d7e1c25-909a-43d0-8e0c-3dce7604a3a9" name="Clean Up" type="SubSheetInfo"><subsheetid>4c732ae4-57d7-440f-b73c-9113dfd97d45</subsheetid><display x="-195" y="-105" w="150" h="90" /></stage><stage stageid="fb110d4f-e68d-4edc-abb5-c362ca2b27de" name="Start" type="Start"><subsheetid>4c732ae4-57d7-440f-b73c-9113dfd97d45</subsheetid><loginhibit /><display x="15" y="-105" /><onsuccess>65ba20c1-c510-42d0-82fe-9d182b63a6d8</onsuccess></stage><stage stageid="65ba20c1-c510-42d0-82fe-9d182b63a6d8" name="End" type="End"><subsheetid>4c732ae4-57d7-440f-b73c-9113dfd97d45</subsheetid><loginhibit /><display x="15" y="90" /></stage><stage stageid="d5007535-e85a-483e-ba6f-a54ffc4f8e43" name="Note1" type="Note"><subsheetid>4c732ae4-57d7-440f-b73c-9113dfd97d45</subsheetid><narrative>Clean Up Page
This is an optional page where you might choose to perform some finalisation (or "cleanup") tasks as your business object is closed down.
The cleanup action will be called automatically immediately after closing your business object at the end of a business process.
You will not be able to call this action from a business process, nor will it be called at any other time than before the disposal of the business object.</narrative><display x="-180" y="60" w="180" h="230" /></stage><stage stageid="0a258114-31b2-4aaf-8635-d1d97f5667d2" name="Note2" type="Note"><narrative>Initialise Page
This is an optional page where you might choose to perform some initialisation tasks after your business object is loaded.
The initialise action will be called automatically immediately after loading your business object.
You will not be able to call this action from a business process, nor will it be called at any other time than after the creation of the object.</narrative><display x="-180" y="60" w="180" h="230" /></stage><stage stageid="83ad9122-c5d2-4692-b21d-65c736b482d6" name="Create Intance" type="SubSheetInfo"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><narrative>Creates an instance of python.
Note: This action should call before using other actions from this object.</narrative><display x="-255" y="-30" w="150" h="90" /></stage><stage stageid="4b9020f2-6a88-470e-ad80-929ddad3a553" name="Start" type="Start"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><loginhibit /><display x="15" y="-75" /><inputs><input type="text" name="Python Root Folder Path*" narrative="Please provide path to export standard library path or leave blank automatically exported to temp path" stage="PythonRootFolderPath" /><input type="flag" name="Show Messages**" narrative="This switch is used to turn on/off Alerts when python script executed successfully; true" stage="ShowMessages" /><input type="number" name="Python Version*" narrative="Provide python version" stage="PythonVersion" /><input type="number" name="Global Script Execution Time Out**" narrative="This script excution timeout ; 30" stage="GlobalWait" /></inputs><onsuccess>9c24ceb8-108d-4668-a9f1-e3d7efa89dd9</onsuccess></stage><stage stageid="2a009f11-40c6-40ae-85aa-322b3338ce9b" name="End" type="End"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><loginhibit /><display x="15" y="15" /></stage><stage stageid="f85bdba8-6354-4a73-91e1-70768511d77a" name="inputs" type="Block"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><loginhibit /><display x="-165" y="-90" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="a9df2f7d-f04c-4049-a116-68c65d1ee0ef" name="ShowMessages" type="Data"><loginhibit /><display x="225" y="-30" w="150" h="30" /><datatype>flag</datatype><initialvalue>True</initialvalue><alwaysinit /></stage><stage stageid="bc62af58-1de8-4303-a973-5975f031dfd0" name="getTextFromPyScript" type="SubSheetInfo"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><narrative>This page will get Text from python script.
Note: Make sure call back function should be return type and return Object should be String</narrative><display x="-240" y="-45" w="150" h="90" /></stage><stage stageid="40597e70-a83a-47fb-aaf1-3e6064d1ec9e" name="End" type="End"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><loginhibit /><display x="30" y="-15" /><outputs><output type="text" name="string" narrative="This is output from python script" stage="output" /><output type="flag" name="Suucess" stage="Success" /><output type="text" name="Error Message" stage="Error_Message" /></outputs></stage><stage stageid="bce7d9d9-12df-41b4-9fb0-da0c57c84b20" name="getText" type="Code"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><loginhibit /><display x="30" y="-60" /><inputs><input type="text" name="scr" expr="[input]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="text" name="ret" stage="output" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>40597e70-a83a-47fb-aaf1-3e6064d1ec9e</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
if(!string.IsNullOrEmpty(scr) && !string.IsNullOrEmpty(function_name)){
Task t = Task.Run(() => {
result = instance2.ExecutePythonScript<string>(scr, function_name, param);
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
}
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
ret = default(string);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
ret = (string)result.outResult;
else ret = default(string);
}]]></code></stage><stage stageid="c7b249b0-37ed-4a36-855c-2ad74d8e579b" name="output" type="Data"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><display x="-90" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2736a733-038d-4251-9dde-1670d0bf859b" name="input" type="Data"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><display x="-90" y="-135" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5b91b439-1ae7-4fd6-a7c5-02ee1bf3b6e3" name="function_name" type="Data"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><loginhibit /><display x="-90" y="-105" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">get_text</initialvalue><private /><alwaysinit /></stage><stage stageid="be2c628b-4c6d-4175-8c1e-3a8719c4b73c" name="Start" type="Start"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><loginhibit /><display x="30" y="-105" /><inputs><input type="text" name="script(mand)" narrative="python script string" stage="input" /><input type="text" name="call_back_function_name(mand)" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters(opt)" narrative="this parameters will pass to function" stage="Parameters(opt)" /></inputs><onsuccess>bce7d9d9-12df-41b4-9fb0-da0c57c84b20</onsuccess></stage><stage stageid="fb75e1f8-2b71-472a-ba59-d6e26faeab10" name="Parameters(opt)" type="Collection"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><display x="-90" y="-75" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="2c3583ad-948c-4d6b-b864-bd686a783a01" name="inputs" type="Block"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><loginhibit /><display x="-150" y="-165" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="0b19e009-dd94-4a09-a48f-68b5322b893f" name="outputs" type="Block"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><loginhibit /><display x="-150" y="-30" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="d07a837e-f82e-497e-90af-a93f4d8743ab" name="MessageBox" type="SubSheetInfo"><subsheetid>0d467fa4-fd01-423f-810d-91241e08c785</subsheetid><narrative>This page will show the message box</narrative><display x="-330" y="0" w="150" h="90" /></stage><stage stageid="01e0979a-febb-4776-8945-61f31d572089" name="Start" type="Start"><subsheetid>0d467fa4-fd01-423f-810d-91241e08c785</subsheetid><loginhibit /><display x="-60" y="-45" /><inputs><input type="flag" name="Success" stage="Success" /><input type="text" name="Error_Message" stage="Error_Message" /></inputs><onsuccess>690bd950-30dc-4d33-ba77-9ca21d761160</onsuccess></stage><stage stageid="e5f5df8e-b72b-482f-9287-09aacb241895" name="End" type="End"><subsheetid>0d467fa4-fd01-423f-810d-91241e08c785</subsheetid><loginhibit /><display x="-60" y="45" /></stage><stage stageid="690bd950-30dc-4d33-ba77-9ca21d761160" name="ShowMessage" type="Code"><subsheetid>0d467fa4-fd01-423f-810d-91241e08c785</subsheetid><loginhibit /><display x="-60" y="0" /><inputs><input type="flag" name="isShow" expr="[ShowMessages]" /><input type="number" name="timeout" expr="[Message_Timeout(sec)]" /><input type="flag" name="Success" expr="[Success]" /><input type="text" name="Error Message" expr="[Error_Message]" /></inputs><onsuccess>e5f5df8e-b72b-482f-9287-09aacb241895</onsuccess><code><![CDATA[if(isShow){
if(Success)
AutoClosingMessageBox.Show(int.Parse(""+timeout));
else AutoClosingMessageBox.Show("Error Details :\n"+Error_Message,"Error While Executing Script",int.Parse(""+timeout));
}]]></code></stage><stage stageid="39392abf-a6d8-407a-9156-4d37dce88041" name="Message_Timeout(sec)" type="Data"><loginhibit /><display x="225" y="0" w="150" h="30" /><datatype>number</datatype><initialvalue>5</initialvalue><alwaysinit /></stage><stage stageid="12e70438-8909-404f-9506-571d27723eda" name="Execute Py Script (No Output)" type="SubSheetInfo"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><narrative>This page will executes the python script from Text</narrative><display x="-255" y="-15" w="150" h="90" /></stage><stage stageid="fdbf2080-136c-414f-b690-18eedce334db" name="Start" type="Start"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><loginhibit /><display x="15" y="-75" /><inputs><input type="text" name="Python Script Text*" narrative="Python script" stage="PyScript" /></inputs><onsuccess>c8385f30-5242-4c56-ab7b-e9e51af0d229</onsuccess></stage><stage stageid="2ba41069-e212-4424-b095-a766ac05e0a5" name="End" type="End"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><loginhibit /><display x="15" y="60" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /></outputs></stage><stage stageid="f12f38c1-fa22-4e75-8255-f238cdfba380" name="PyScript" type="Data"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><display x="-105" y="-60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c8385f30-5242-4c56-ab7b-e9e51af0d229" name="Execute Py Script" type="Code"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><loginhibit /><display x="15" y="-30" /><inputs><input type="text" name="code" expr="[PyScript]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>60e9f4f3-71b2-4026-af55-25bf59c026a3</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
if(!string.IsNullOrEmpty(code)){
Task t = Task.Run(() => {
result = instance2.ExecutePythonScript<object>(code);
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
}
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
}]]></code></stage><stage stageid="3bad39d0-ce50-48a5-925b-51ced5ce308a" name="inputs" type="Block"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><loginhibit /><display x="-165" y="-90" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="b93cd298-7a61-4279-ba81-39def25d4b45" name="Get Text" type="SubSheetInfo"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><narrative>This page will get the Text from python script file.
Note: Make sure call back function should be return type and return Object should be String</narrative><display x="-345" y="-30" w="150" h="90" /></stage><stage stageid="2c3d639b-e48c-4121-bd74-2ae118805c11" name="fun" type="Data"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><display x="-195" y="30" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9667b740-6861-4201-88e3-f7085dd15b85" name="outputs" type="Block"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><loginhibit /><display x="-255" y="0" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="6fdc1bba-8f5b-41fa-b64f-20b820f7038c" name="Execute Py File (No Output)" type="SubSheetInfo"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><narrative>This page will executes the python script from File</narrative><display x="-345" y="0" w="150" h="90" /></stage><stage stageid="c5f4a33e-6c9f-4481-8876-9280a23f6eb9" name="file_name" type="Data"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><display x="-195" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4ee97a0d-3262-49b2-9c0a-2f4e98d85df1" name="Start" type="Start"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><loginhibit /><display x="-75" y="-60" /><inputs><input type="text" name="Python Script File Path*" narrative="python script file with full path" stage="file_name" /></inputs><onsuccess>0f17db5e-2874-4717-bda8-b7e8a3066a95</onsuccess></stage><stage stageid="c9a56287-4a28-4f90-9d09-32389faa4ce4" name="inputs" type="Block"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><loginhibit /><display x="-255" y="-75" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="b54ff820-0833-4bc4-ad52-968792ba76c9" name="Get Binary" type="SubSheetInfo"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><narrative>This page will get Binary from python script.
Note: Make sure call back function should be return type and return Object should be byte[]</narrative><display x="-210" y="15" w="150" h="90" /></stage><stage stageid="de3e27d2-a587-46a5-b230-9ddb9b19a936" name="function_name" type="Data"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><display x="-60" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a1957c7f-ec82-40e1-a32a-1a5f9274101e" name="Parameters(opt)" type="Collection"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><display x="-60" y="-15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="b18529aa-79e7-4b6c-9704-130f01d91e98" name="script" type="Data"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><display x="-60" y="-105" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5d1cb202-d8d1-4a77-978a-eb1b17f0626e" name="inputs" type="Block"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><loginhibit /><display x="-120" y="-135" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="dd909e9e-5e19-4b87-b625-b82edfff0dde" name="bin" type="Data"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><loginhibit /><display x="-60" y="60" w="90" h="30" /><datatype>binary</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="36d2fec4-46d9-4a5d-9a21-dd85f260f390" name="outputs" type="Block"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><loginhibit /><display x="-120" y="30" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="246c80c6-7d72-4234-b1e9-54b86e230fca" name="Get DataTable" type="SubSheetInfo"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><narrative>This page will get Collection from python script.
Note: Make sure call back function should be return type and return Object should be DataTable</narrative><display x="-195" y="15" w="150" h="90" /></stage><stage stageid="8681bea8-8f00-48a8-a858-08800032267b" name="function_name" type="Data"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><display x="-45" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a6f2ec91-a66f-405c-8346-7f26ffd64d40" name="Parameters(opt)" type="Collection"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><display x="-45" y="-15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="06d56577-1e86-49e0-9112-1fb33a9a19d9" name="script" type="Data"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><display x="-45" y="-105" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9582724e-6bfa-416e-b79b-3c4d1dd5c8e3" name="inputs" type="Block"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><loginhibit /><display x="-105" y="-135" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="6835b111-8f5a-4c37-9eae-2466418fc34d" name="outputs" type="Block"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><loginhibit /><display x="-105" y="30" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="287510bb-0aa0-4d2e-b487-f878a8ace7e1" name="bin" type="Collection"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><loginhibit /><display x="-45" y="60" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="1463a213-f779-40d9-9d9d-7f86ff096a55" name="Get Date" type="SubSheetInfo"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><narrative>This page will get Date from python script.
Note: Make sure call back function should be return type and return Object should be DateTime</narrative><display x="-210" y="30" w="150" h="90" /></stage><stage stageid="2d449f75-6472-4562-804c-844857dd65e7" name="function_name" type="Data"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><display x="-60" y="-30" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="17d6e739-bfc4-4ef9-87f8-255086909b4f" name="Parameters(opt)" type="Collection"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><display x="-60" y="0" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="3e407eb2-882e-4806-9791-6ad570f2e117" name="script" type="Data"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><display x="-60" y="-90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6281f2f5-0450-42eb-95da-42e34568a42f" name="inputs" type="Block"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><loginhibit /><display x="-120" y="-120" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="2c53bfdd-edb2-4a51-b93f-69dc8ca9aa60" name="outputs" type="Block"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><loginhibit /><display x="-120" y="45" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="5c75911d-70e2-4544-9e3f-10db83eb1881" name="bin" type="Data"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><loginhibit /><display x="-60" y="75" w="90" h="30" /><datatype>date</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2494f07e-280d-4a1e-b598-8af470a273f2" name="Get DateTime" type="SubSheetInfo"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><narrative>This page will get DateTime from python script.
Note: Make sure call back function should be return type and return Object should be DateTime</narrative><display x="-195" y="15" w="150" h="90" /></stage><stage stageid="7f28cc0c-c483-45f5-9110-e32b87b4aa73" name="function_name" type="Data"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><display x="-45" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="497f88d9-b1e5-4af6-a592-11fd392d5106" name="Parameters(opt)" type="Collection"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><display x="-45" y="-15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="8b738129-6a62-4437-9aa4-8ef9e93b702f" name="script" type="Data"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><display x="-45" y="-105" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="22fe3f3d-5ad7-4ad3-989e-7c5eeeace797" name="inputs" type="Block"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><loginhibit /><display x="-105" y="-135" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="688b7744-842c-4b96-9b0a-8998b8b906fa" name="outputs" type="Block"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><loginhibit /><display x="-105" y="30" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="91ac5942-ba60-4f79-bfa5-e9d0d370a1b2" name="bin" type="Data"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><loginhibit /><display x="-45" y="60" w="90" h="30" /><datatype>datetime</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="7a40869a-1707-4a26-a891-0596c0b69a5b" name="Get Flag" type="SubSheetInfo"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><narrative>This page will get Flag from python script.
Note: Make sure call back function should be return type and return Object should be bool</narrative><display x="-210" y="15" w="150" h="90" /></stage><stage stageid="be2d756e-09c2-4164-873a-c6d1ef2e86c3" name="function_name" type="Data"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><display x="-60" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b7d14225-7492-4722-ab36-e34cbe3d5d5e" name="Parameters(opt)" type="Collection"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><display x="-60" y="-15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="9b2ac3cd-fa63-4eed-beac-a4f3db0c80a3" name="script" type="Data"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><display x="-60" y="-105" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="f191fe71-6781-499e-8881-580ad37dc381" name="inputs" type="Block"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><loginhibit /><display x="-120" y="-135" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="46d5f41a-b8b4-4813-9512-dc524e489e99" name="outputs" type="Block"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><loginhibit /><display x="-120" y="30" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="21adae1e-4218-4425-9174-d3e059e75000" name="bin" type="Data"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><loginhibit /><display x="-60" y="90" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="faf91b7d-152a-4404-9377-ccc8e548a1f2" name="Get Image" type="SubSheetInfo"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><narrative>This page will get Image from python script.
Note: Make sure call back function should be return type and return Object should be Bitmap</narrative><display x="-240" y="0" w="150" h="90" /></stage><stage stageid="e02bd297-615f-4ef3-8863-3fc55d5ccb4f" name="function_name" type="Data"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><display x="-90" y="-60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="9b1d2727-01f3-4ef6-9688-8990c7c8e006" name="Parameters(opt)" type="Collection"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><display x="-90" y="-30" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="b094499a-9a0c-4c54-920c-256a2a003bd1" name="script" type="Data"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><display x="-90" y="-120" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="dbcca4ba-4e39-4169-a305-da2d74237a85" name="inputs" type="Block"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><loginhibit /><display x="-150" y="-150" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="626c4e4c-8b0a-4863-9854-4dacf0b78bfe" name="outputs" type="Block"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><loginhibit /><display x="-150" y="15" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="fd7f9ea1-8e01-40c9-b2c9-00ed50f8d707" name="bin" type="Data"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><loginhibit /><display x="-90" y="45" w="90" h="30" /><datatype>image</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="e39ae01f-4704-4d36-8c33-5dbb920db193" name="Get Number" type="SubSheetInfo"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><narrative>This page will get Number from python script.
Note: Make sure call back function should be return type and return Object should be Decimal</narrative><display x="-345" y="60" w="150" h="90" /></stage><stage stageid="912a98bf-07dd-4bec-a4ce-f4afb2d2fcc2" name="function_name" type="Data"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><display x="-195" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="210b30fa-86db-4fac-a873-fd59607b9962" name="Parameters(opt)" type="Collection"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><display x="-195" y="30" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="4c46dee0-d9ed-4166-b148-413e92e9239b" name="script" type="Data"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><display x="-195" y="-60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="12a74a56-e875-468c-b8db-909b8f027e47" name="inputs" type="Block"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><loginhibit /><display x="-255" y="-90" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="32d058fa-cb1e-4e4d-957a-6f5a9c1100c9" name="outputs" type="Block"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><loginhibit /><display x="-255" y="75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="28a520d3-6950-4b7d-b5c2-d670cfb27003" name="bin" type="Data"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><loginhibit /><display x="-195" y="105" w="90" h="30" /><datatype>number</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c53ae80c-19c1-4757-b5c8-2432687426f3" name="Get Time" type="SubSheetInfo"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><narrative>This page will get Time from python script.
Note: Make sure call back function should be return type and return Object should be DateTime</narrative><display x="-345" y="60" w="150" h="90" /></stage><stage stageid="e7176fde-ff7f-4d5e-9dba-c7ba8b522035" name="function_name" type="Data"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><display x="-195" y="0" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b04a40ec-46fc-4d3f-a053-f9d79786d0fc" name="Parameters(opt)" type="Collection"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><display x="-195" y="30" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="19f698ad-55a4-4a25-bc0a-a8c92d9e6a68" name="script" type="Data"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><display x="-195" y="-60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d632ff61-b97d-42d5-84c2-6ea28b75a16f" name="inputs" type="Block"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><loginhibit /><display x="-255" y="-90" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="2c940cf5-d1c0-4689-8bc4-6b6bf9c51474" name="outputs" type="Block"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><loginhibit /><display x="-255" y="75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="1604b875-c055-4405-abf9-986f5d8c4ed2" name="bin" type="Data"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><loginhibit /><display x="-195" y="105" w="90" h="30" /><datatype>time</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fe842f06-258c-49e1-afc9-77ca2443b2e1" name="Get TimeSpan" type="SubSheetInfo"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><narrative>This page will get TimeSpan from python script.
Note: Make sure call back function should be return type and return Object should be TimeSpan</narrative><display x="-345" y="30" w="150" h="90" /></stage><stage stageid="97b81f37-bff2-4694-8baf-9decda9e7feb" name="function_name" type="Data"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><display x="-195" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d7b47000-be3d-4079-b853-56d68282173f" name="Parameters(opt)" type="Collection"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><display x="-195" y="15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="93310673-ba90-452b-bfd0-4917c39f3ba1" name="script" type="Data"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><display x="-195" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="62636c35-77e8-48ee-8539-46901260fabf" name="inputs" type="Block"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><loginhibit /><display x="-255" y="-90" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="262f6c79-0082-44de-bf16-2b7271946608" name="outputs" type="Block"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><loginhibit /><display x="-255" y="75" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="6b03636d-97c2-4882-9591-e76ba0482d41" name="bin" type="Data"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><loginhibit /><display x="-195" y="105" w="90" h="30" /><datatype>timespan</datatype><initialvalue>0.00:00:00</initialvalue><private /><alwaysinit /></stage><stage stageid="e0e58dfa-fd4b-49f6-83a1-c31ea9810a80" name="Get Module List" type="SubSheetInfo"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><narrative>This page will get the installed module list.</narrative><display x="-255" y="-30" w="150" h="90" /></stage><stage stageid="9a308094-7831-4726-bd54-799fa3e20926" name="Start" type="Start"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><loginhibit /><display x="15" y="-90" /><onsuccess>56e2c6f6-3199-44ab-9af3-4949f300312a</onsuccess></stage><stage stageid="ec66ec6f-515e-4da9-b504-cab9fd04675e" name="outputs" type="Block"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><loginhibit /><display x="-165" y="-45" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="415a0601-e3aa-42eb-9aa0-f6e8799f1c89" name="script_modules" type="Data"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><loginhibit /><display x="-105" y="-90" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">from pkgutil import iter_modules
import clr
clr.AddReference('System.Data')
from System.Data import DataTable
def getModuleList():
int_dt = DataTable()
int_dt.Columns.Add("Module Name")
for p in iter_modules():
int_dt.Rows.Add(str(p.name))
return int_dt</initialvalue><private /><alwaysinit /></stage><stage stageid="56e2c6f6-3199-44ab-9af3-4949f300312a" name="Get DataTable" type="SubSheet"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><loginhibit /><display x="15" y="-45" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr=""getModuleList"" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script_modules]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="collection" name="Script_Output" friendlyname="Script_Output" stage="ModuleList" /></outputs><onsuccess>75b9e19c-c996-4097-8ef8-584ef3c248b3</onsuccess><processid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</processid></stage><stage stageid="504ff7da-c3f9-4936-9605-2b615c00b7cf" name="ModuleList" type="Collection"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><display x="-105" y="-15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="833028eb-0054-499e-9da8-bd66fb58f771" name="Local" type="Block"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><loginhibit /><display x="-165" y="-120" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="66600fc6-f865-4b14-9112-c7effa68cfe0" name="Install pip Module" type="SubSheetInfo"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><narrative>This page will install pip modules from https://pypi.org/</narrative><display x="-210" y="-30" w="150" h="90" /></stage><stage stageid="a9d89558-0374-40fa-bede-0692b896f833" name="Uninstall pip Module" type="SubSheetInfo"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><narrative>This page will uninstall modules.</narrative><display x="-255" y="-30" w="150" h="90" /></stage><stage stageid="9c24ceb8-108d-4668-a9f1-e3d7efa89dd9" name="Initialise" type="Code"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><loginhibit /><display x="15" y="-30" /><inputs><input type="text" name="pythonInstallationRootLocation" expr="[PythonRootFolderPath]" /><input type="number" name="pythonVersion" expr="[PythonVersion]" /><input type="number" name="globalWait" expr="[GlobalWait]" /></inputs><onsuccess>2a009f11-40c6-40ae-85aa-322b3338ce9b</onsuccess><code><![CDATA[GlobalWait = (int)globalWait;
if(instance2 == null)
instance2 = new PythonEngineWrapper(pythonInstallationRootLocation,(int)pythonVersion);]]></code></stage><stage stageid="812aa7f7-4377-473d-b9ab-6f121f558d0a" name="PythonVersion" type="Data"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><display x="-105" y="-60" w="90" h="30" /><datatype>number</datatype><initialvalue>312</initialvalue><private /><alwaysinit /></stage><stage stageid="79d85ed4-6c0a-4425-aa29-72b6427f66c3" name="PythonRootFolderPath" type="Data"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><display x="-105" y="-30" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">C:\Program Files\Python312</initialvalue><alwaysinit /></stage><stage stageid="205daba1-3a9c-4787-8e42-b44c99353051" name="Success" type="Data"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><display x="-90" y="30" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="cdb198d0-4691-4670-9a7d-9bf76af2c22a" name="Error_Message" type="Data"><subsheetid>129ddb52-ef8f-414c-aa3d-d26eede6da01</subsheetid><display x="-90" y="60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="063f581d-c9c7-417d-906f-c6200e1e9b1c" name="Error_Message" type="Data"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><display x="-105" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="80dcafa7-16f1-4fb4-9aa7-0242968a4ef5" name="Success" type="Data"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><display x="-105" y="45" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0200bfb6-6145-43f8-83d9-6243367bd259" name="End" type="End"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><loginhibit /><display x="-75" y="45" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Script_Output" stage="fun" /></outputs></stage><stage stageid="45cf3d00-3a22-49b4-aead-06084c8b666b" name="Error_Message" type="Data"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><display x="-195" y="60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="37331580-b3e1-4e4d-85b4-26865f2db205" name="Success" type="Data"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><display x="-195" y="90" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0f17db5e-2874-4717-bda8-b7e8a3066a95" name="Execute Py File" type="Code"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><loginhibit /><display x="-75" y="-15" /><inputs><input type="text" name="scr" expr="[file_name]" /></inputs><outputs><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>6ab25425-4c9a-4219-b247-1539a574aaf1</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
result = instance2.ExecutePythonScript<object>(scr, null, null, true);
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
}]]></code></stage><stage stageid="098b135f-a5cb-4635-8580-6226063bcade" name="End" type="End"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><loginhibit /><display x="60" y="75" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="binary" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="f7db67f3-0e7e-403d-9934-9c413d2785de" name="Get Binary" type="Code"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><loginhibit /><display x="60" y="-15" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="binary" name="ret" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>c59e6715-2857-4985-ab78-f0ae3f67488a</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<Byte[]>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<Byte[]>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
ret = default(Byte[]);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
ret = (Byte[])result.outResult;
else ret = default(Byte[]);
}]]></code></stage><stage stageid="cdf51a41-5cbf-4405-bdc5-bacfada1b229" name="Error_Message" type="Data"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><display x="-60" y="90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="3236d789-d660-4d12-9742-2f78c2b87787" name="Success" type="Data"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><display x="-60" y="120" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="42452f06-3da2-4382-a3e5-0f08d5e134d3" name="Get DataTable" type="Code"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><loginhibit /><display x="75" y="-15" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="collection" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>7143ad51-8d66-43a7-b335-a64b72618dff</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<DataTable>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<DataTable>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(DataTable);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (DataTable)result.outResult;
else outParam = default(DataTable);
}]]></code></stage><stage stageid="f121d5a9-23f8-4c9d-9d2d-d6294032d6c4" name="Error_Message" type="Data"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><display x="-45" y="90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5716d30d-59d3-4aa8-b72a-cfb6687caa33" name="Success" type="Data"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><display x="-45" y="120" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="180f1b78-b143-43b7-9455-28e4e7f4922c" name="Get Date" type="Code"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><loginhibit /><display x="60" y="15" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="date" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>e2db839c-03c6-423a-a429-bcc99c4219e6</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<DateTime>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<DateTime>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(DateTime);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (DateTime)result.outResult;
else outParam = default(DateTime);
}]]></code></stage><stage stageid="09eda437-6172-43c9-81d6-00503d250d4f" name="Error_Message" type="Data"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><display x="-60" y="105" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="928b0d4e-8728-4553-8e6c-2ac660235a7c" name="Success" type="Data"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><display x="-60" y="135" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8fd51b66-7c42-4b7b-96ef-7e858edfd390" name="Get DateTime" type="Code"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><loginhibit /><display x="75" y="0" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="date" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>11fd0d19-80e5-4197-9b91-ceb0418d455f</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<DateTime>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<DateTime>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(DateTime);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (DateTime)result.outResult;
else outParam = default(DateTime);
}]]></code></stage><stage stageid="6283face-20d0-42f7-b54f-1dcc1f2c5cbb" name="Error_Message" type="Data"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><display x="-45" y="90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="38c04b99-98b3-4e4d-aefa-73bc86a30dcd" name="Success" type="Data"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><display x="-45" y="120" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="501cea95-fd91-44cf-a7e4-494cca18c3fe" name="Get Flag" type="Code"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><loginhibit /><display x="60" y="0" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="flag" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>ecccd0d3-5127-4706-ab6b-bdba5c2351c9</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<Boolean>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<Boolean>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = false;
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (Boolean)result.outResult;
else outParam = false;
}]]></code></stage><stage stageid="206064df-b5d3-4f01-b7c4-6c8116f3b222" name="Error_Message" type="Data"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><display x="-60" y="60" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="935767fb-0947-45cb-a39d-bbc079a1219b" name="Success" type="Data"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><display x="-60" y="120" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="fd15622e-d646-483a-ba56-017aefc30713" name="Get Image" type="Code"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><loginhibit /><display x="30" y="-45" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="image" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>75a84759-2b78-4f59-946c-90989c26d357</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<Bitmap>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<Bitmap>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(Bitmap);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (Bitmap)result.outResult;
else outParam = default(Bitmap);
}]]></code></stage><stage stageid="66855747-8e65-42d0-8c1d-20aa4e9952f4" name="Error_Message" type="Data"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><display x="-90" y="75" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8cf1b82d-a393-4c29-a437-8f79b597d213" name="Success" type="Data"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><display x="-90" y="105" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5660f9cd-9d33-4df6-a64d-dc65993c0d3e" name="Get Number" type="Code"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><loginhibit /><display x="-75" y="30" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="number" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>104e0839-3f93-4b27-b179-fba44f0647eb</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<Decimal>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<Decimal>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(Decimal);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (Decimal)result.outResult;
else outParam = default(Decimal);
}]]></code></stage><stage stageid="715bd3fb-e52f-49b3-8915-7d5b55014b6d" name="Error_Message" type="Data"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><display x="-195" y="135" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2a9e0472-d3b0-4410-bd50-324a3171f7f3" name="Success" type="Data"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><display x="-195" y="165" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6b5ca655-a694-4522-bed5-bbbac51f2036" name="Get Time" type="Code"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><loginhibit /><display x="-75" y="30" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="time" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>76d7dbfc-c566-4033-ae63-c58a6aed0d8f</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<DateTime>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<DateTime>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(DateTime);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (DateTime)result.outResult;
else outParam = default(DateTime);
}]]></code></stage><stage stageid="ac552588-d599-485b-bb0c-d874776a0fae" name="Error_Message" type="Data"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><display x="-195" y="135" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8b538dd9-3f48-4018-b440-9cb3ef44e2fc" name="Success" type="Data"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><display x="-195" y="165" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="2553dc7c-6b7f-484f-8ccb-75ac5bbb3219" name="Get TimeSpan" type="Code"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><loginhibit /><display x="-75" y="0" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="timespan" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>d8e20d88-898b-48b4-be8f-add3c636dfe2</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<TimeSpan>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<TimeSpan>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(TimeSpan);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
outParam = (TimeSpan)result.outResult;
else outParam = default(TimeSpan);
}]]></code></stage><stage stageid="0854f9c2-46f7-48ef-addd-15d2b698e5f0" name="Error_Message" type="Data"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><display x="-195" y="135" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ca328b57-f9cd-4b78-bb0b-e27e34159619" name="Success" type="Data"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><display x="-195" y="165" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b3eca7ff-e265-474b-b315-1ca3768e4267" name="GlobalWait" type="Data"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><display x="-105" y="0" w="90" h="30" /><datatype>number</datatype><initialvalue>30</initialvalue><private /><alwaysinit /></stage><stage stageid="0db429f3-e8a2-439e-b36e-98bb1f277d14" name="End" type="End"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><loginhibit /><display x="-75" y="75" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /></outputs></stage><stage stageid="7143ad51-8d66-43a7-b335-a64b72618dff" name="End" type="End"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><loginhibit /><display x="75" y="30" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="collection" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="eb31ce51-4634-46a6-b87a-040373c70b16" name="Error Message" type="Data"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><display x="-105" y="15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c15bd2c1-aa73-4a37-84c2-7c9007cb3ee1" name="Success" type="Data"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><display x="-105" y="45" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8a51007a-6f74-4709-bbd3-8c8bec7d0727" name="End" type="End"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><loginhibit /><display x="15" y="45" /><outputs><output type="text" name="Error Message" stage="Error Message" /><output type="flag" name="Success" stage="Success" /><output type="collection" name="Script_Output" stage="ModuleList" /></outputs></stage><stage stageid="eafea93d-777e-4cdf-8ddc-e3d7499f7200" name="End" type="End"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><loginhibit /><display x="60" y="105" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="date" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="11dc1672-892f-4a78-9fc4-db7abce5aeef" name="End" type="End"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><loginhibit /><display x="75" y="90" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="datetime" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="746b6087-5b0c-4dc6-8b42-e689177591d5" name="End" type="End"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><loginhibit /><display x="60" y="90" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="flag" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="4a362f23-ed9e-421d-94f8-6b4de81121b2" name="End" type="End"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><loginhibit /><display x="30" y="45" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="image" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="f93fdbaa-6731-4f5d-a318-3e656e4595b2" name="End" type="End"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><loginhibit /><display x="-75" y="120" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="number" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="f368230d-4568-4c16-ab9b-442b90962f6e" name="End" type="End"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><loginhibit /><display x="-75" y="120" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="time" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="c7ec70ce-5dcb-4f5b-bfdd-ca9769a09dc2" name="End" type="End"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><loginhibit /><display x="-75" y="90" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="timespan" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="3212c058-ed19-46d2-9fc0-57a2cd7a8cba" name="Start" type="Start"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="60" y="-105" /><inputs><input type="text" name="Module Name*" narrative="pip module name(don't include pip install module name)" stage="Module Name" /></inputs><onsuccess>d98b7e1b-5471-40ed-8315-f55576ab9460</onsuccess></stage><stage stageid="06a1e52a-3e7f-4b4d-bf93-2610800e4979" name="Module Name" type="Data"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><display x="-60" y="-120" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">numpy</initialvalue><private /><alwaysinit /></stage><stage stageid="6d930db6-8a3b-4efe-ade0-c80ff692923c" name="inputs" type="Block"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="-120" y="-150" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="537eb5a5-62ad-4e10-aa43-c5af2a702dcd" name="outputs" type="Block"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="-120" y="0" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="c19cb9c5-76c8-4d67-be75-d723abaad78e" name="getTextFromPyScript" type="SubSheet"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="60" y="-15" /><inputs><input type="text" name="script(mand)" friendlyname="script(mand)" narrative="python script string" expr="[Script]" /><input type="text" name="call_back_function_name(mand)" friendlyname="call_back_function_name(mand)" narrative="Call back function name (Don't include "()")" expr=""install"" /><input type="collection" name="Parameters(opt)" friendlyname="Parameters(opt)" narrative="this parameters will pass to function" expr="" /></inputs><outputs><output type="text" name="string" friendlyname="string" narrative="This is output from python script" stage="string" /><output type="flag" name="Suucess" friendlyname="Suucess" stage="Success" /><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /></outputs><onsuccess>f57a3e12-7eb8-4aa9-9b2f-0e8b9112ab75</onsuccess><processid>129ddb52-ef8f-414c-aa3d-d26eede6da01</processid></stage><stage stageid="1b006ff9-5643-49bd-8fac-94ab96964a48" name="Script" type="Data"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="-60" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d98b7e1b-5471-40ed-8315-f55576ab9460" name="Parse Script" type="Calculation"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="60" y="-60" /><onsuccess>c19cb9c5-76c8-4d67-be75-d723abaad78e</onsuccess><calculation expression=""import subprocess"&NewLine()&"
import sys"&NewLine()&"
import traceback"&NewLine()&"

def install():"&NewLine()&"
 try:"&NewLine()&"
 resu = subprocess.check_output([r'"&[PythonRootFolderPath]&"\python.exe', '-m', 'pip', 'install', '"&[Module Name]&"'], shell=False)"&NewLine()&"
 return str(resu.decode('utf-8'))"&NewLine()&"
 except Exception as e:"&NewLine()&"
 return f'Error: {str(e)}\n{traceback.format_exc()}'"
" stage="Script" /></stage><stage stageid="973c53c9-3c7b-4ec8-b35d-1318227f3574" name="Success" type="Data"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><display x="-60" y="60" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="74cdc901-8550-4c81-b328-e24cd378ff98" name="Error Message" type="Data"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><display x="-60" y="90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="dcf56432-30e2-4e7b-b121-c00ca5500df3" name="string" type="Data"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><display x="-60" y="30" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="cd0e1928-b539-4ded-b095-deccccf380af" name="End" type="End"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="60" y="75" /><outputs><output type="text" name="Error Message" stage="Error Message" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Script_Output" stage="string" /></outputs></stage><stage stageid="78478eca-b7b5-4f49-b333-bf1fd421bd4c" name="Start" type="Start"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="15" y="-90" /><inputs><input type="text" name="Module Name*" narrative="pip module name(don't include pip install module name)" stage="Module Name" /></inputs><onsuccess>710db6c4-50b6-4359-91c4-78673dffcb78</onsuccess></stage><stage stageid="41ca1f89-a608-43d9-a6fd-26b26434cb4b" name="Module Name" type="Data"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><display x="-105" y="-120" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">numpy</initialvalue><private /><alwaysinit /></stage><stage stageid="3867bc0b-80b8-4fec-8c1c-6eaa36d42fc4" name="inputs" type="Block"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="-165" y="-150" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="4abead00-4252-4ed6-9757-57c63140c576" name="getTextFromPyScript" type="SubSheet"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="15" y="0" /><inputs><input type="text" name="script(mand)" friendlyname="script(mand)" narrative="python script string" expr="[Script]" /><input type="text" name="call_back_function_name(mand)" friendlyname="call_back_function_name(mand)" narrative="Call back function name (Don't include "()")" expr=""install"" /><input type="collection" name="Parameters(opt)" friendlyname="Parameters(opt)" narrative="this parameters will pass to function" expr="" /></inputs><outputs><output type="text" name="string" friendlyname="string" narrative="This is output from python script" stage="string" /><output type="flag" name="Suucess" friendlyname="Suucess" stage="Success" /><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /></outputs><onsuccess>fd6e974a-a052-4ace-9294-cfce9154d75b</onsuccess><processid>129ddb52-ef8f-414c-aa3d-d26eede6da01</processid></stage><stage stageid="710db6c4-50b6-4359-91c4-78673dffcb78" name="Parse Script" type="Calculation"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="15" y="-45" /><onsuccess>4abead00-4252-4ed6-9757-57c63140c576</onsuccess><calculation expression=""import subprocess"&NewLine()&"
import sys"&NewLine()&"
import traceback"&NewLine()&"

def install():"&NewLine()&"
 try:"&NewLine()&"
 resu = subprocess.check_output([r'"&[PythonRootFolderPath]&"\python.exe', '-m', 'pip', 'uninstall', '-y', '"&[Module Name]&"'], shell=False)"&NewLine()&"
 return str(resu.decode('utf-8'))"&NewLine()&"
 except Exception as e:"&NewLine()&"
 return f'Error: {str(e)}\n{traceback.format_exc()}'"
" stage="Script" /></stage><stage stageid="649f09e7-870d-4c12-baa4-3286a6e64520" name="End" type="End"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="15" y="90" /><outputs><output type="text" name="Error Message" stage="Error Message" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Script_Output" stage="string" /></outputs></stage><stage stageid="4169f11b-e289-4555-906c-e3b7a31799e3" name="Outputs" type="Block"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><loginhibit /><display x="-165" y="-15" w="120" h="90" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="0a589f11-d7f1-49f4-9b26-600c2901552a" name="Error_Message" type="Data"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><display x="-195" y="30" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c602018d-f4d1-48ce-a96a-d11f11c10038" name="Success" type="Data"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><display x="-195" y="60" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ee8a8dbd-9e1d-4515-b7ce-8410954da32e" name="Outputs" type="Block"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><loginhibit /><display x="-255" y="0" w="120" h="90" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="8834b2d9-7a52-4d7c-ac32-c2cc46717497" name="Local" type="Block"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="-120" y="-75" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FFCC00" /></stage><stage stageid="7139c060-a7e9-4383-8008-eb5f42605660" name="outputs" type="Block"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="-165" y="0" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="6d909323-51e4-47e9-9e38-404013da5984" name="Script" type="Data"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="-105" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c5d70450-da2e-4093-8544-3863eb98f5a6" name="Success" type="Data"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><display x="-105" y="60" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="4df35f57-7494-4094-8f15-3d2a63271cb1" name="Error Message" type="Data"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><display x="-105" y="90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d355efcf-d7f7-4858-b809-58bfe499cbb6" name="string" type="Data"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><display x="-105" y="30" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="09bbae72-e191-45d8-bef9-e10e75d6448d" name="Local" type="Block"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="-165" y="-75" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="FFCC00" /></stage><stage stageid="de3ee1ee-ef37-401d-b8b3-4e1a9e93b444" name="Start" type="Start"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><loginhibit /><display x="-75" y="-90" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>89fdeb78-7229-4085-a38a-72989657effa</onsuccess></stage><stage stageid="caeaf07e-c7e0-4fc8-a677-100346c359da" name="function_name" type="Data"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><display x="-195" y="-75" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d15c852e-5d53-43ec-a717-574633d64aae" name="Parameters(opt)" type="Collection"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><display x="-195" y="-45" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="52a072c4-654a-45ae-9469-b87c47307083" name="script" type="Data"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><display x="-195" y="-135" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="8da497fd-cbdf-4742-b1b2-7d04d7f204c0" name="inputs" type="Block"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><loginhibit /><display x="-255" y="-165" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="89fdeb78-7229-4085-a38a-72989657effa" name="Get Text" type="Code"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><loginhibit /><display x="-75" y="-45" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="text" name="ret" stage="fun" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>4304df6d-71df-435f-bfbf-26b91fcb402a</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<string>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<string>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
ret = default(string);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
ret = (string)result.outResult;
else ret = default(string);
}]]></code></stage><stage stageid="0f971543-3b2a-4ce1-b5a6-619261e22bef" name="Get Collection" type="SubSheetInfo"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><narrative>This page will get Collection from python script.
Note: Make sure call back function should be return type and return Object should be DataTable</narrative><display x="-195" y="15" w="150" h="90" /></stage><stage stageid="fdc5fbfc-f87e-4fce-a1e5-6a664a82129c" name="function_name" type="Data"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><display x="-45" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a088c725-9c10-4bc2-832f-714050b58844" name="Parameters(opt)" type="Collection"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><display x="-45" y="-15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="a5a556f5-05ce-49ab-8dfa-2ba516efd943" name="script" type="Data"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><display x="-45" y="-75" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="584d50a8-b203-4db5-8b2d-6fe25b5d1b45" name="inputs" type="Block"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><loginhibit /><display x="-105" y="-135" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="4ab69362-6539-4634-858b-5ab4b15afe04" name="outputs" type="Block"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><loginhibit /><display x="-105" y="30" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="ecb259b1-1256-4aa9-bd4c-764e580cd545" name="bin" type="Collection"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><loginhibit /><display x="-45" y="60" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="5789c0e9-528c-4ba4-b10b-86cc0d101ccb" name="Error_Message" type="Data"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><display x="-45" y="90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="5635126e-01a6-4947-a606-2218cfb6c364" name="Success" type="Data"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><display x="-45" y="120" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="48bb0130-e279-44b8-9c57-198e775102f4" name="End" type="End"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><loginhibit /><display x="75" y="75" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="collection" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="2c9f2f97-384c-4c4d-a522-5adf9c297d6b" name="Get DataTable" type="SubSheet"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><loginhibit /><display x="75" y="-15" /><inputs><input type="text" name="Callback Function Name*" friendlyname="Callback Function Name*" narrative="Call back function name (Don't include "()")" expr="[function_name]" /><input type="text" name="PyScriptTextOrPyFilePath*" friendlyname="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" expr="[script]" /><input type="collection" name="Parameters**" friendlyname="Parameters**" narrative="this parameters will pass to call back function" expr="[Parameters(opt)]" /></inputs><outputs><output type="text" name="Error Message" friendlyname="Error Message" stage="Error_Message" /><output type="flag" name="Success" friendlyname="Success" stage="Success" /><output type="collection" name="Script_Output" friendlyname="Script_Output" stage="bin" /></outputs><onsuccess>5b63c7dc-8cd5-4605-be3d-254f80660f73</onsuccess><processid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</processid></stage><stage stageid="81c0dfd6-198e-4039-b3af-b05fe283ca99" name="Error_Message" type="Data"><subsheetid>0d467fa4-fd01-423f-810d-91241e08c785</subsheetid><display x="-180" y="-15" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="d9858c47-3c97-46e7-92ed-0fb454d8a270" name="Success" type="Data"><subsheetid>0d467fa4-fd01-423f-810d-91241e08c785</subsheetid><display x="-180" y="15" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b5b8de31-a61a-49d2-91cf-c706df824503" name="input" type="Block"><subsheetid>0d467fa4-fd01-423f-810d-91241e08c785</subsheetid><loginhibit /><display x="-240" y="-45" w="120" h="90" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="60e9f4f3-71b2-4026-af55-25bf59c026a3" name="MessageBox" type="SubSheet"><subsheetid>f3bc5d65-3e82-4b37-8463-de3fc1a0a785</subsheetid><loginhibit /><display x="15" y="15" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>2ba41069-e212-4424-b095-a766ac05e0a5</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="4304df6d-71df-435f-bfbf-26b91fcb402a" name="MessageBox" type="SubSheet"><subsheetid>c4856e06-6af6-462d-860e-39896eeba17f</subsheetid><loginhibit /><display x="-75" y="0" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>0200bfb6-6145-43f8-83d9-6243367bd259</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="6ab25425-4c9a-4219-b247-1539a574aaf1" name="MessageBox" type="SubSheet"><subsheetid>255c4778-f4fc-4bd8-b1b5-5e744212297e</subsheetid><loginhibit /><display x="-75" y="30" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>0db429f3-e8a2-439e-b36e-98bb1f277d14</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="c59e6715-2857-4985-ab78-f0ae3f67488a" name="MessageBox" type="SubSheet"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><loginhibit /><display x="60" y="30" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>098b135f-a5cb-4635-8580-6226063bcade</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="5b63c7dc-8cd5-4605-be3d-254f80660f73" name="MessageBox" type="SubSheet"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><loginhibit /><display x="75" y="30" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>48bb0130-e279-44b8-9c57-198e775102f4</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="e2db839c-03c6-423a-a429-bcc99c4219e6" name="MessageBox" type="SubSheet"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><loginhibit /><display x="60" y="60" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>eafea93d-777e-4cdf-8ddc-e3d7499f7200</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="11fd0d19-80e5-4197-9b91-ceb0418d455f" name="MessageBox" type="SubSheet"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><loginhibit /><display x="75" y="45" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>11dc1672-892f-4a78-9fc4-db7abce5aeef</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="ecccd0d3-5127-4706-ab6b-bdba5c2351c9" name="MessageBox" type="SubSheet"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><loginhibit /><display x="60" y="45" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>746b6087-5b0c-4dc6-8b42-e689177591d5</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="75a84759-2b78-4f59-946c-90989c26d357" name="MessageBox" type="SubSheet"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><loginhibit /><display x="30" y="0" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>4a362f23-ed9e-421d-94f8-6b4de81121b2</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="104e0839-3f93-4b27-b179-fba44f0647eb" name="MessageBox" type="SubSheet"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><loginhibit /><display x="-75" y="75" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>f93fdbaa-6731-4f5d-a318-3e656e4595b2</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="76d7dbfc-c566-4033-ae63-c58a6aed0d8f" name="MessageBox" type="SubSheet"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><loginhibit /><display x="-75" y="75" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>f368230d-4568-4c16-ab9b-442b90962f6e</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="d8e20d88-898b-48b4-be8f-add3c636dfe2" name="MessageBox" type="SubSheet"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><loginhibit /><display x="-75" y="45" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error_Message]" /></inputs><onsuccess>c7ec70ce-5dcb-4f5b-bfdd-ca9769a09dc2</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="f57a3e12-7eb8-4aa9-9b2f-0e8b9112ab75" name="MessageBox" type="SubSheet"><subsheetid>378f1982-bc0b-480a-bf8a-1bc3b15ff4a1</subsheetid><loginhibit /><display x="60" y="30" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error Message]" /></inputs><onsuccess>cd0e1928-b539-4ded-b095-deccccf380af</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="fd6e974a-a052-4ace-9294-cfce9154d75b" name="MessageBox" type="SubSheet"><subsheetid>f0441b78-8dea-453a-82b9-3bdad0c7e77d</subsheetid><loginhibit /><display x="15" y="45" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error Message]" /></inputs><onsuccess>649f09e7-870d-4c12-baa4-3286a6e64520</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="75b9e19c-c996-4097-8ef8-584ef3c248b3" name="MessageBox" type="SubSheet"><subsheetid>f4d1d3e7-f73a-4554-bc89-fc17a380b590</subsheetid><loginhibit /><display x="15" y="0" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error Message]" /></inputs><onsuccess>8a51007a-6f74-4709-bbd3-8c8bec7d0727</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="6baa3e4a-1c8b-476d-8e6a-c085a5a77e13" name="Note3" type="Note"><subsheetid>a1a1ddb2-cb46-41d6-9b3f-be704ac35078</subsheetid><loginhibit /><narrative>In Input Parameter ending of stars( * ** )meanings.
* Means mandatory parameter.
** Means optional parameter</narrative><display x="390" y="-60" w="540" h="300" /><font family="Segoe UI" size="18" style="Bold" color="FF0000" /></stage><stage stageid="dcafac47-c8ec-4d0f-b75d-748ab881ed4c" name="Close Instance" type="SubSheetInfo"><subsheetid>24064714-3f88-47ba-a199-a92d0290d8e2</subsheetid><narrative>This action will close the instance and cleanup.</narrative><display x="-150" y="-15" w="150" h="90" /></stage><stage stageid="e1dfc606-a1bc-4c1e-ac24-4824103b8bb9" name="Start" type="Start"><subsheetid>24064714-3f88-47ba-a199-a92d0290d8e2</subsheetid><loginhibit /><display x="15" y="-105" /><onsuccess>f33ab473-0a7c-4ded-8823-97096b987792</onsuccess></stage><stage stageid="8f4c19dd-b6ef-4813-885a-ef761469ac2d" name="End" type="End"><subsheetid>24064714-3f88-47ba-a199-a92d0290d8e2</subsheetid><loginhibit /><display x="15" y="90" /></stage><stage stageid="f33ab473-0a7c-4ded-8823-97096b987792" name="Close Instance" type="Code"><subsheetid>24064714-3f88-47ba-a199-a92d0290d8e2</subsheetid><loginhibit /><display x="15" y="-15" /><onsuccess>8f4c19dd-b6ef-4813-885a-ef761469ac2d</onsuccess><code><![CDATA[if(instance2 != null){
instance2.Close();
}
instance2 = null;
GC.Collect();
Thread.Sleep(5000);
]]></code></stage><stage stageid="8ea76c5f-393c-4a0d-9710-90e947923068" name="Get MultipleValues" type="SubSheetInfo"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><narrative>This page will get Collection from python script.
Note: Make sure call back function should be return type and return Object should be DataTable</narrative><display x="-195" y="15" w="150" h="90" /></stage><stage stageid="09fb4ff9-ed0a-423a-aa7e-7ce6b5c02522" name="function_name" type="Data"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><display x="-45" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="a5570a83-3fc3-4d2e-8c73-a94af04d6be8" name="Parameters(opt)" type="Collection"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><display x="-45" y="-15" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="41e7ffac-0eb6-4e17-b790-3f7cc5a38b96" name="script" type="Data"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><display x="-45" y="-105" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="ea114f4a-93d3-4004-a1a0-ecf8271f66c5" name="inputs" type="Block"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><loginhibit /><display x="-105" y="-135" w="120" h="150" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="9ee75172-97ad-401a-aefb-1a08f30e1015" name="outputs" type="Block"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><loginhibit /><display x="-105" y="30" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="0ef0771f-6e42-4040-b223-bf63b2cf21da" name="bin" type="Collection"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><loginhibit /><display x="-45" y="60" w="90" h="30" /><datatype>collection</datatype><private /><alwaysinit /></stage><stage stageid="4cc7911c-e7e9-432a-989a-34a1aab8ace6" name="Get MultipleValues" type="Code"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><loginhibit /><display x="75" y="-15" /><inputs><input type="text" name="script" expr="[script]" /><input type="text" name="function_name" expr="[function_name]" /><input type="collection" name="param" expr="[Parameters(opt)]" /></inputs><outputs><output type="collection" name="outParam" stage="bin" /><output type="flag" name="Success" stage="Success" /><output type="text" name="Error_Message" stage="Error_Message" /></outputs><onsuccess>b5931200-c26d-4874-be40-72ba00967c8f</onsuccess><code><![CDATA[IsInitialised();
OutputResults result = null;
try{
Task t = Task.Run(() => {
if(!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name) && (script.EndsWith(".py") || script.EndsWith(".pyc")) )
result = instance2.ExecutePythonScript<PyTuple>(script, function_name, param,true);
else if (!string.IsNullOrEmpty(script) && !string.IsNullOrEmpty(function_name))
result = instance2.ExecutePythonScript<PyTuple>(script, function_name, param);
else result = null;
});
t.Wait(TimeSpan.FromSeconds(GlobalWait));
if(result == null){
Success = false;
Error_Message = "script or file_name is invalid or script execution timedout";
outParam = default(DataTable);
}else{
Success = result.isSuccess;
Error_Message = result.errorMessage;
if(result.outResult != null)
//outParam = default(DataTable);
outParam = (DataTable)result.outResult;
else outParam = default(DataTable);
}
}catch(Exception ex){throw new Exception(ex.Message+"\n"+(ex.InnerException != null ? ex.InnerException.Message :"")+"\n"+ex.StackTrace);}]]></code></stage><stage stageid="54cbfdbf-4c67-44be-872e-060052fa537a" name="Error_Message" type="Data"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><display x="-45" y="90" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="c3d6c8c3-08ad-4f29-9c37-f6877ae5e614" name="Success" type="Data"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><display x="-45" y="120" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="b5931200-c26d-4874-be40-72ba00967c8f" name="End" type="End"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><loginhibit /><display x="75" y="30" /><outputs><output type="text" name="Error Message" stage="Error_Message" /><output type="flag" name="Success" stage="Success" /><output type="collection" name="Script_Output" stage="bin" /></outputs></stage><stage stageid="ad7b15b0-8f65-4202-921c-6d97881b2bb6" name="Start" type="Start"><subsheetid>8b2b1c23-f78f-4dc4-b916-cf5d04a8a639</subsheetid><loginhibit /><display x="60" y="-60" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>f7db67f3-0e7e-403d-9934-9c413d2785de</onsuccess></stage><stage stageid="2b071daa-956c-48f7-887b-f58e4dbe3143" name="Start" type="Start"><subsheetid>0c8d485c-6b79-44b9-8bdd-ed05e727bf85</subsheetid><loginhibit /><display x="75" y="-60" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>42452f06-3da2-4382-a3e5-0f08d5e134d3</onsuccess></stage><stage stageid="6e745b54-c687-4b9d-8788-55379403998e" name="Start" type="Start"><subsheetid>9a41b306-9bb5-4e09-b1c4-97b269f78b62</subsheetid><loginhibit /><display x="75" y="-60" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>4cc7911c-e7e9-432a-989a-34a1aab8ace6</onsuccess></stage><stage stageid="ea0f1dd8-0516-4c2d-814b-14c6efb69b5e" name="Start" type="Start"><subsheetid>8ca3427d-7efe-46bb-8184-c719e5f3b861</subsheetid><loginhibit /><display x="75" y="-60" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>2c9f2f97-384c-4c4d-a522-5adf9c297d6b</onsuccess></stage><stage stageid="d912b582-66fd-4a8d-8c42-07f0ae8cbff4" name="Start" type="Start"><subsheetid>63f66cd9-d661-4291-b7c2-a2cb6b7891b5</subsheetid><loginhibit /><display x="60" y="-30" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>180f1b78-b143-43b7-9455-28e4e7f4922c</onsuccess></stage><stage stageid="907675a6-183d-4381-b4aa-eec07363517f" name="Start" type="Start"><subsheetid>72ebe8b9-0556-457c-83d7-77568d612485</subsheetid><loginhibit /><display x="75" y="-45" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>8fd51b66-7c42-4b7b-96ef-7e858edfd390</onsuccess></stage><stage stageid="6070c7ae-010f-497e-b5d1-29e22b587cde" name="Start" type="Start"><subsheetid>db814ed0-265b-4a00-8b3f-36db06407383</subsheetid><loginhibit /><display x="60" y="-45" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>501cea95-fd91-44cf-a7e4-494cca18c3fe</onsuccess></stage><stage stageid="39f1b003-ff00-4c40-a969-b0e26d6e70ef" name="Start" type="Start"><subsheetid>52083995-a382-409e-a8ca-aa0638170e64</subsheetid><loginhibit /><display x="30" y="-90" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>fd15622e-d646-483a-ba56-017aefc30713</onsuccess></stage><stage stageid="608d2792-9e9e-462b-a89d-a6610f8e0847" name="Start" type="Start"><subsheetid>8056d7fb-b380-4ba6-907e-31badc015322</subsheetid><loginhibit /><display x="-75" y="-15" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>5660f9cd-9d33-4df6-a64d-dc65993c0d3e</onsuccess></stage><stage stageid="58b600a3-9d47-437a-a394-51a824cd66dc" name="Start" type="Start"><subsheetid>287e8629-16ba-4635-bbbe-2b20e73bdc7f</subsheetid><loginhibit /><display x="-75" y="-15" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>6b5ca655-a694-4522-bed5-bbbac51f2036</onsuccess></stage><stage stageid="42bf79ad-fd75-473e-940d-a4d01012aa80" name="Start" type="Start"><subsheetid>4b5acbc4-b880-4e0c-9373-aa2f7116ebf0</subsheetid><loginhibit /><display x="-75" y="-45" /><inputs><input type="text" name="PyScriptTextOrPyFilePath*" narrative="please provide python script text or file path (.py or .pyc)" stage="script" /><input type="text" name="Callback Function Name*" narrative="Call back function name (Don't include "()")" stage="function_name" /><input type="collection" name="Parameters**" narrative="this parameters will pass to call back function" stage="Parameters(opt)" /></inputs><onsuccess>2553dc7c-6b7f-484f-8ccb-75ac5bbb3219</onsuccess></stage><stage stageid="b5d304b7-a16b-4221-b46f-7f6655dec110" name="Note4" type="Note"><subsheetid>24064714-3f88-47ba-a199-a92d0290d8e2</subsheetid><loginhibit /><narrative>If you are facing Blueprism crash issue don't call this action even after completion of python usage.</narrative><display x="195" y="-15" w="240" h="90" /><font family="Segoe UI" size="14" style="Bold" color="FF0000" /></stage><stage stageid="0ff70bbe-5d27-449f-88e1-0d7b7a964832" name="Set Module Search Path" type="SubSheetInfo"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><display x="-360" y="-30" w="150" h="90" /></stage><stage stageid="b5347359-0aaf-4712-9251-ae700d8772d3" name="Start" type="Start"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="15" y="-105" /><inputs><input type="text" name="Path" stage="Path" /></inputs><onsuccess>6b082eb1-83df-4719-8899-fd7361327eb8</onsuccess></stage><stage stageid="18c2e23f-5006-4bfb-8478-dfcb121f8db3" name="Path" type="Data"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><display x="-105" y="-45" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="6b082eb1-83df-4719-8899-fd7361327eb8" name="Parse Set Path Script" type="Calculation"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="15" y="-60" /><onsuccess>68a95c3f-3cb3-47ce-a102-6005ddbaeb01</onsuccess><calculation expression=""import sys"&NewLine()&"
def setPath():"&NewLine()&"
 sys.path.append(r'"&[Path]&"')"&NewLine()&"
 return 'success'"&NewLine()" stage="Script" /></stage><stage stageid="75d3bee8-b7c3-46e7-a3c6-62115a3ed856" name="Script" type="Data"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><display x="-105" y="30" w="90" h="30" /><datatype>text</datatype><initialvalue xml:space="preserve">import sys
def setPath():
sys.path.append(r{})
return 'success'</initialvalue><private /><alwaysinit /></stage><stage stageid="68a95c3f-3cb3-47ce-a102-6005ddbaeb01" name="getTextFromPyScript" type="SubSheet"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="15" y="-15" /><inputs><input type="text" name="script(mand)" friendlyname="script(mand)" narrative="python script string" expr="[Script]" /><input type="text" name="call_back_function_name(mand)" friendlyname="call_back_function_name(mand)" narrative="Call back function name (Don't include "()")" expr=""setPath"" /><input type="collection" name="Parameters(opt)" friendlyname="Parameters(opt)" narrative="this parameters will pass to function" expr="" /></inputs><outputs><output type="text" name="string" friendlyname="string" narrative="This is output from python script" stage="string" /><output type="flag" name="Suucess" friendlyname="Suucess" stage="Success" /><output type="text" name="Error Message" friendlyname="Error Message" stage="Error Message" /></outputs><onsuccess>57069bda-881e-4457-96cd-05c809d4cbf5</onsuccess><processid>129ddb52-ef8f-414c-aa3d-d26eede6da01</processid></stage><stage stageid="9052df63-5c7d-4cb2-a103-16a8c22e9f06" name="string" type="Data"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><display x="180" y="-30" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="98759dea-a89d-4fd6-899c-449cf6ef6985" name="Success" type="Data"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><display x="180" y="0" w="90" h="30" /><datatype>flag</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="89ed23d6-789f-4603-8d01-c08a1c0af752" name="Error Message" type="Data"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><display x="180" y="30" w="90" h="30" /><datatype>text</datatype><initialvalue /><private /><alwaysinit /></stage><stage stageid="0e288ec7-0989-4fda-8eb4-f768c0bbda50" name="End" type="End"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="15" y="90" /><outputs><output type="text" name="Error Message" stage="Error Message" /><output type="flag" name="Success" stage="Success" /></outputs></stage><stage stageid="57069bda-881e-4457-96cd-05c809d4cbf5" name="MessageBox" type="SubSheet"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="15" y="30" /><inputs><input type="flag" name="Success" friendlyname="Success" expr="[Success]" /><input type="text" name="Error_Message" friendlyname="Error_Message" expr="[Error Message]" /></inputs><onsuccess>0e288ec7-0989-4fda-8eb4-f768c0bbda50</onsuccess><processid>0d467fa4-fd01-423f-810d-91241e08c785</processid></stage><stage stageid="e5c3dc8d-3a3c-4249-880c-2f330f07b009" name="outputs" type="Block"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="120" y="-60" w="120" h="120" /><font family="Segoe UI" size="10" style="Regular" color="00FF00" /></stage><stage stageid="5364d506-f460-4a57-b7eb-b8a8749a31e7" name="Local" type="Block"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="-165" y="0" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage><stage stageid="8ae88e5b-8e64-42fc-9d32-fd069e18c6f1" name="inputs" type="Block"><subsheetid>fc3bf868-3410-4295-a5f7-54db32cae95f</subsheetid><loginhibit /><display x="-165" y="-75" w="120" h="60" /><font family="Segoe UI" size="10" style="Regular" color="7FB2E5" /></stage></process></object>
<process-group id="2736cbf9-061d-4dca-a29d-c7755f019710" name="Default" isDefaultGroup="True" xmlns="http://www.blueprism.co.uk/product/process-group">
<members>
<process id="8447f078-6808-4226-b5bb-04b34303ac9f" />
</members>
</process-group>
<object-group id="38dd2a6e-ef58-478f-b186-2cdfebf70286" name="Default" isDefaultGroup="True" xmlns="http://www.blueprism.co.uk/product/object-group">
<members>
<object id="52f39f04-33e5-49ce-a305-d914b16bb2b6" />
</members>
</object-group>
</bpr:contents>
</bpr:release>