@@ -78,48 +78,52 @@ <h1 class="modulename">
7878</ span > < span id ="L-8 "> < a href ="#L-8 "> < span class ="linenos "> 8</ span > </ a > < span class ="sd "> specific objects within the Kepware Configuration API</ span >
7979</ span > < span id ="L-9 "> < a href ="#L-9 "> < span class ="linenos "> 9</ span > </ a > < span class ="sd "> """</ span >
8080</ span > < span id ="L-10 "> < a href ="#L-10 "> < span class ="linenos "> 10</ span > </ a >
81- </ span > < span id ="L-11 "> < a href ="#L-11 "> < span class ="linenos "> 11</ span > </ a > < span class ="kn "> from</ span > < span class ="nn "> .</ span > < span class ="kn "> import</ span > < span class ="n "> adv_tag_group</ span > < span class ="p "> ,</ span > < span class ="n "> average_tags</ span > < span class ="p "> ,</ span > < span class ="n "> derived_tags</ span > < span class ="p "> ,</ span > < span class ="n "> complex_tags</ span > < span class ="p "> ,</ span > < span class ="n "> cumulative_tags</ span > < span class ="p "> ,</ span > < span class ="n "> min_tags</ span > < span class ="p "> ,</ span > < span class ="n "> max_tags</ span > < span class ="p "> ,</ span > < span class ="n "> link_tags</ span >
82- </ span > < span id ="L-12 "> < a href ="#L-12 "> < span class ="linenos "> 12</ span > </ a > < span class ="n "> ADV_TAGS_ROOT</ span > < span class ="o "> =</ span > < span class ="s1 "> '/project/_advancedtags'</ span >
83- </ span > < span id ="L-13 "> < a href ="#L-13 "> < span class ="linenos "> 13</ span > </ a >
84- </ span > < span id ="L-14 "> < a href ="#L-14 "> < span class ="linenos "> 14</ span > </ a > < span class ="k "> def</ span > < span class ="nf "> _adv_tag_path_split</ span > < span class ="p "> (</ span > < span class ="n "> path</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="o "> *</ span > < span class ="p "> ,</ span > < span class ="n "> isItem</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> dict</ span > < span class ="p "> :</ span >
85- </ span > < span id ="L-15 "> < a href ="#L-15 "> < span class ="linenos "> 15</ span > </ a > < span class ="w "> </ span > < span class ="sd "> '''Used to split the standard Kepware address decimal notation into a dict that contains the </ span >
86- </ span > < span id ="L-16 "> < a href ="#L-16 "> < span class ="linenos "> 16</ span > </ a > < span class ="sd "> advanced tag path components.</ span >
87- </ span > < span id ="L-17 "> < a href ="#L-17 "> < span class ="linenos "> 17</ span > </ a >
88- </ span > < span id ="L-18 "> < a href ="#L-18 "> < span class ="linenos "> 18</ span > </ a > < span class ="sd "> :param path: standard Kepware address in decimal notation ("_advancedtags.tg1.tg2.tg3")</ span >
89- </ span > < span id ="L-19 "> < a href ="#L-19 "> < span class ="linenos "> 19</ span > </ a > < span class ="sd "> :return: dict that contains the "adv_tag_root" and "tag_path"</ span >
90- </ span > < span id ="L-20 "> < a href ="#L-20 "> < span class ="linenos "> 20</ span > </ a > < span class ="sd "> :rtype: dict</ span >
91- </ span > < span id ="L-21 "> < a href ="#L-21 "> < span class ="linenos "> 21</ span > </ a >
92- </ span > < span id ="L-22 "> < a href ="#L-22 "> < span class ="linenos "> 22</ span > </ a > < span class ="sd "> Ex: path = "_advancedtags.tg1.tg2.tg3"</ span >
93- </ span > < span id ="L-23 "> < a href ="#L-23 "> < span class ="linenos "> 23</ span > </ a >
94- </ span > < span id ="L-24 "> < a href ="#L-24 "> < span class ="linenos "> 24</ span > </ a > < span class ="sd "> return = {'adv_tag_root': '_advancedtags', 'tag_path': ['tg1','tg2','tg3']}</ span >
95- </ span > < span id ="L-25 "> < a href ="#L-25 "> < span class ="linenos "> 25</ span > </ a >
96- </ span > < span id ="L-26 "> < a href ="#L-26 "> < span class ="linenos "> 26</ span > </ a > < span class ="sd "> Ex: path = "_advancedtags.ch1.dev1"</ span >
97- </ span > < span id ="L-27 "> < a href ="#L-27 "> < span class ="linenos "> 27</ span > </ a >
98- </ span > < span id ="L-28 "> < a href ="#L-28 "> < span class ="linenos "> 28</ span > </ a > < span class ="sd "> return = {'adv_tag_root': '_advancedtags', 'tag_path': ['ch1','dev1']}</ span >
99- </ span > < span id ="L-29 "> < a href ="#L-29 "> < span class ="linenos "> 29</ span > </ a > < span class ="sd "> '''</ span >
100- </ span > < span id ="L-30 "> < a href ="#L-30 "> < span class ="linenos "> 30</ span > </ a > < span class ="n "> path_list</ span > < span class ="o "> =</ span > < span class ="n "> path</ span > < span class ="o "> .</ span > < span class ="n "> split</ span > < span class ="p "> (</ span > < span class ="s1 "> '.'</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> )</ span >
101- </ span > < span id ="L-31 "> < a href ="#L-31 "> < span class ="linenos "> 31</ span > </ a > < span class ="n "> path_obj</ span > < span class ="o "> =</ span > < span class ="p "> {}</ span >
102- </ span > < span id ="L-32 "> < a href ="#L-32 "> < span class ="linenos "> 32</ span > </ a > < span class ="k "> for</ span > < span class ="n "> x</ span > < span class ="ow "> in</ span > < span class ="nb "> range</ span > < span class ="p "> (</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> path_list</ span > < span class ="p "> )):</ span >
103- </ span > < span id ="L-33 "> < a href ="#L-33 "> < span class ="linenos "> 33</ span > </ a > < span class ="k "> if</ span > < span class ="n "> x</ span > < span class ="o "> ==</ span > < span class ="mi "> 0</ span > < span class ="p "> :</ span >
104- </ span > < span id ="L-34 "> < a href ="#L-34 "> < span class ="linenos "> 34</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'adv_tag_root'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span >
105- </ span > < span id ="L-35 "> < a href ="#L-35 "> < span class ="linenos "> 35</ span > </ a > < span class ="k "> elif</ span > < span class ="n "> x</ span > < span class ="o "> ==</ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span >
106- </ span > < span id ="L-36 "> < a href ="#L-36 "> < span class ="linenos "> 36</ span > </ a > < span class ="k "> if</ span > < span class ="n "> isItem</ span > < span class ="p "> :</ span >
107- </ span > < span id ="L-37 "> < a href ="#L-37 "> < span class ="linenos "> 37</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'tag_path'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span >
108- </ span > < span id ="L-38 "> < a href ="#L-38 "> < span class ="linenos "> 38</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'item'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span >
109- </ span > < span id ="L-39 "> < a href ="#L-39 "> < span class ="linenos "> 39</ span > </ a > < span class ="k "> else</ span > < span class ="p "> :</ span >
110- </ span > < span id ="L-40 "> < a href ="#L-40 "> < span class ="linenos "> 40</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'tag_path'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]</ span >
111- </ span > < span id ="L-41 "> < a href ="#L-41 "> < span class ="linenos "> 41</ span > </ a > < span class ="k "> return</ span > < span class ="n "> path_obj</ span >
112- </ span > < span id ="L-42 "> < a href ="#L-42 "> < span class ="linenos "> 42</ span > </ a >
113- </ span > < span id ="L-43 "> < a href ="#L-43 "> < span class ="linenos "> 43</ span > </ a > < span class ="k "> def</ span > < span class ="nf "> _create_adv_tags_base_url</ span > < span class ="p "> (</ span > < span class ="n "> base_url</ span > < span class ="p "> ,</ span > < span class ="n "> path_obj</ span > < span class ="p "> ):</ span >
114- </ span > < span id ="L-44 "> < a href ="#L-44 "> < span class ="linenos "> 44</ span > </ a > < span class ="w "> </ span > < span class ="sd "> '''Creates url object for the "path_obj" which provides the adv tags tag group structure of Kepware's project tree. Used </ span >
115- </ span > < span id ="L-45 "> < a href ="#L-45 "> < span class ="linenos "> 45</ span > </ a > < span class ="sd "> to build a part of Kepware Configuration API URL structure</ span >
116- </ span > < span id ="L-46 "> < a href ="#L-46 "> < span class ="linenos "> 46</ span > </ a > < span class ="sd "> </ span >
117- </ span > < span id ="L-47 "> < a href ="#L-47 "> < span class ="linenos "> 47</ span > </ a > < span class ="sd "> Returns the advanced tag group specific url when a value is passed as the tag group name.</ span >
118- </ span > < span id ="L-48 "> < a href ="#L-48 "> < span class ="linenos "> 48</ span > </ a > < span class ="sd "> '''</ span >
119- </ span > < span id ="L-49 "> < a href ="#L-49 "> < span class ="linenos "> 49</ span > </ a > < span class ="n "> url</ span > < span class ="o "> =</ span > < span class ="n "> base_url</ span > < span class ="o "> +</ span > < span class ="n "> ADV_TAGS_ROOT</ span >
120- </ span > < span id ="L-50 "> < a href ="#L-50 "> < span class ="linenos "> 50</ span > </ a > < span class ="n "> url</ span > < span class ="o "> +=</ span > < span class ="n "> adv_tag_group</ span > < span class ="o "> .</ span > < span class ="n "> _create_adv_tags_group_url</ span > < span class ="p "> (</ span > < span class ="n "> path_obj</ span > < span class ="p "> )</ span >
121- </ span > < span id ="L-51 "> < a href ="#L-51 "> < span class ="linenos "> 51</ span > </ a >
122- </ span > < span id ="L-52 "> < a href ="#L-52 "> < span class ="linenos "> 52</ span > </ a > < span class ="k "> return</ span > < span class ="n "> url</ span >
81+ </ span > < span id ="L-11 "> < a href ="#L-11 "> < span class ="linenos "> 11</ span > </ a > < span class ="kn "> from</ span > < span class ="nn "> ..error</ span > < span class ="kn "> import</ span > < span class ="n "> KepError</ span >
82+ </ span > < span id ="L-12 "> < a href ="#L-12 "> < span class ="linenos "> 12</ span > </ a > < span class ="kn "> from</ span > < span class ="nn "> .</ span > < span class ="kn "> import</ span > < span class ="n "> adv_tag_group</ span > < span class ="p "> ,</ span > < span class ="n "> average_tags</ span > < span class ="p "> ,</ span > < span class ="n "> derived_tags</ span > < span class ="p "> ,</ span > < span class ="n "> complex_tags</ span > < span class ="p "> ,</ span > < span class ="n "> cumulative_tags</ span > < span class ="p "> ,</ span > < span class ="n "> min_tags</ span > < span class ="p "> ,</ span > < span class ="n "> max_tags</ span > < span class ="p "> ,</ span > < span class ="n "> link_tags</ span >
83+ </ span > < span id ="L-13 "> < a href ="#L-13 "> < span class ="linenos "> 13</ span > </ a > < span class ="n "> ADV_TAGS_ROOT</ span > < span class ="o "> =</ span > < span class ="s1 "> '/project/_advancedtags'</ span >
84+ </ span > < span id ="L-14 "> < a href ="#L-14 "> < span class ="linenos "> 14</ span > </ a >
85+ </ span > < span id ="L-15 "> < a href ="#L-15 "> < span class ="linenos "> 15</ span > </ a > < span class ="k "> def</ span > < span class ="nf "> _adv_tag_path_split</ span > < span class ="p "> (</ span > < span class ="n "> path</ span > < span class ="p "> :</ span > < span class ="nb "> str</ span > < span class ="p "> ,</ span > < span class ="o "> *</ span > < span class ="p "> ,</ span > < span class ="n "> isItem</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> dict</ span > < span class ="p "> :</ span >
86+ </ span > < span id ="L-16 "> < a href ="#L-16 "> < span class ="linenos "> 16</ span > </ a > < span class ="w "> </ span > < span class ="sd "> '''Used to split the standard Kepware address decimal notation into a dict that contains the </ span >
87+ </ span > < span id ="L-17 "> < a href ="#L-17 "> < span class ="linenos "> 17</ span > </ a > < span class ="sd "> advanced tag path components.</ span >
88+ </ span > < span id ="L-18 "> < a href ="#L-18 "> < span class ="linenos "> 18</ span > </ a >
89+ </ span > < span id ="L-19 "> < a href ="#L-19 "> < span class ="linenos "> 19</ span > </ a > < span class ="sd "> :param path: standard Kepware address in decimal notation ("_advancedtags.tg1.tg2.tg3")</ span >
90+ </ span > < span id ="L-20 "> < a href ="#L-20 "> < span class ="linenos "> 20</ span > </ a > < span class ="sd "> :return: dict that contains the "adv_tag_root" and "tag_path"</ span >
91+ </ span > < span id ="L-21 "> < a href ="#L-21 "> < span class ="linenos "> 21</ span > </ a > < span class ="sd "> :rtype: dict</ span >
92+ </ span > < span id ="L-22 "> < a href ="#L-22 "> < span class ="linenos "> 22</ span > </ a >
93+ </ span > < span id ="L-23 "> < a href ="#L-23 "> < span class ="linenos "> 23</ span > </ a > < span class ="sd "> Ex: path = "_advancedtags.tg1.tg2.tg3"</ span >
94+ </ span > < span id ="L-24 "> < a href ="#L-24 "> < span class ="linenos "> 24</ span > </ a >
95+ </ span > < span id ="L-25 "> < a href ="#L-25 "> < span class ="linenos "> 25</ span > </ a > < span class ="sd "> return = {'adv_tag_root': '_advancedtags', 'tag_path': ['tg1','tg2','tg3']}</ span >
96+ </ span > < span id ="L-26 "> < a href ="#L-26 "> < span class ="linenos "> 26</ span > </ a >
97+ </ span > < span id ="L-27 "> < a href ="#L-27 "> < span class ="linenos "> 27</ span > </ a > < span class ="sd "> Ex: path = "_advancedtags.ch1.dev1"</ span >
98+ </ span > < span id ="L-28 "> < a href ="#L-28 "> < span class ="linenos "> 28</ span > </ a >
99+ </ span > < span id ="L-29 "> < a href ="#L-29 "> < span class ="linenos "> 29</ span > </ a > < span class ="sd "> return = {'adv_tag_root': '_advancedtags', 'tag_path': ['ch1','dev1']}</ span >
100+ </ span > < span id ="L-30 "> < a href ="#L-30 "> < span class ="linenos "> 30</ span > </ a > < span class ="sd "> '''</ span >
101+ </ span > < span id ="L-31 "> < a href ="#L-31 "> < span class ="linenos "> 31</ span > </ a > < span class ="n "> path_list</ span > < span class ="o "> =</ span > < span class ="n "> path</ span > < span class ="o "> .</ span > < span class ="n "> split</ span > < span class ="p "> (</ span > < span class ="s1 "> '.'</ span > < span class ="p "> ,</ span > < span class ="mi "> 2</ span > < span class ="p "> )</ span >
102+ </ span > < span id ="L-32 "> < a href ="#L-32 "> < span class ="linenos "> 32</ span > </ a > < span class ="k "> if</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span > < span class ="o "> !=</ span > < span class ="s1 "> '_advancedtags'</ span > < span class ="p "> :</ span >
103+ </ span > < span id ="L-33 "> < a href ="#L-33 "> < span class ="linenos "> 33</ span > </ a > < span class ="k "> raise</ span > < span class ="n "> KepError</ span > < span class ="p "> (</ span > < span class ="s1 "> 'Error: Invalid advanced tag path - Must start with "_advancedtags"'</ span > < span class ="p "> )</ span >
104+ </ span > < span id ="L-34 "> < a href ="#L-34 "> < span class ="linenos "> 34</ span > </ a >
105+ </ span > < span id ="L-35 "> < a href ="#L-35 "> < span class ="linenos "> 35</ span > </ a > < span class ="n "> path_obj</ span > < span class ="o "> =</ span > < span class ="p "> {}</ span >
106+ </ span > < span id ="L-36 "> < a href ="#L-36 "> < span class ="linenos "> 36</ span > </ a > < span class ="k "> for</ span > < span class ="n "> x</ span > < span class ="ow "> in</ span > < span class ="nb "> range</ span > < span class ="p "> (</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> path_list</ span > < span class ="p "> )):</ span >
107+ </ span > < span id ="L-37 "> < a href ="#L-37 "> < span class ="linenos "> 37</ span > </ a > < span class ="k "> if</ span > < span class ="n "> x</ span > < span class ="o "> ==</ span > < span class ="mi "> 0</ span > < span class ="p "> :</ span >
108+ </ span > < span id ="L-38 "> < a href ="#L-38 "> < span class ="linenos "> 38</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'adv_tag_root'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ]</ span >
109+ </ span > < span id ="L-39 "> < a href ="#L-39 "> < span class ="linenos "> 39</ span > </ a > < span class ="k "> elif</ span > < span class ="n "> x</ span > < span class ="o "> ==</ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span >
110+ </ span > < span id ="L-40 "> < a href ="#L-40 "> < span class ="linenos "> 40</ span > </ a > < span class ="k "> if</ span > < span class ="n "> isItem</ span > < span class ="p "> :</ span >
111+ </ span > < span id ="L-41 "> < a href ="#L-41 "> < span class ="linenos "> 41</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'tag_path'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span >
112+ </ span > < span id ="L-42 "> < a href ="#L-42 "> < span class ="linenos "> 42</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'item'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span >
113+ </ span > < span id ="L-43 "> < a href ="#L-43 "> < span class ="linenos "> 43</ span > </ a > < span class ="k "> else</ span > < span class ="p "> :</ span >
114+ </ span > < span id ="L-44 "> < a href ="#L-44 "> < span class ="linenos "> 44</ span > </ a > < span class ="n "> path_obj</ span > < span class ="p "> [</ span > < span class ="s1 "> 'tag_path'</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> path_list</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> :]</ span >
115+ </ span > < span id ="L-45 "> < a href ="#L-45 "> < span class ="linenos "> 45</ span > </ a > < span class ="k "> return</ span > < span class ="n "> path_obj</ span >
116+ </ span > < span id ="L-46 "> < a href ="#L-46 "> < span class ="linenos "> 46</ span > </ a >
117+ </ span > < span id ="L-47 "> < a href ="#L-47 "> < span class ="linenos "> 47</ span > </ a > < span class ="k "> def</ span > < span class ="nf "> _create_adv_tags_base_url</ span > < span class ="p "> (</ span > < span class ="n "> base_url</ span > < span class ="p "> ,</ span > < span class ="n "> path_obj</ span > < span class ="p "> ):</ span >
118+ </ span > < span id ="L-48 "> < a href ="#L-48 "> < span class ="linenos "> 48</ span > </ a > < span class ="w "> </ span > < span class ="sd "> '''Creates url object for the "path_obj" which provides the adv tags tag group structure of Kepware's project tree. Used </ span >
119+ </ span > < span id ="L-49 "> < a href ="#L-49 "> < span class ="linenos "> 49</ span > </ a > < span class ="sd "> to build a part of Kepware Configuration API URL structure</ span >
120+ </ span > < span id ="L-50 "> < a href ="#L-50 "> < span class ="linenos "> 50</ span > </ a > < span class ="sd "> </ span >
121+ </ span > < span id ="L-51 "> < a href ="#L-51 "> < span class ="linenos "> 51</ span > </ a > < span class ="sd "> Returns the advanced tag group specific url when a value is passed as the tag group name.</ span >
122+ </ span > < span id ="L-52 "> < a href ="#L-52 "> < span class ="linenos "> 52</ span > </ a > < span class ="sd "> '''</ span >
123+ </ span > < span id ="L-53 "> < a href ="#L-53 "> < span class ="linenos "> 53</ span > </ a > < span class ="n "> url</ span > < span class ="o "> =</ span > < span class ="n "> base_url</ span > < span class ="o "> +</ span > < span class ="n "> ADV_TAGS_ROOT</ span >
124+ </ span > < span id ="L-54 "> < a href ="#L-54 "> < span class ="linenos "> 54</ span > </ a > < span class ="n "> url</ span > < span class ="o "> +=</ span > < span class ="n "> adv_tag_group</ span > < span class ="o "> .</ span > < span class ="n "> _create_adv_tags_group_url</ span > < span class ="p "> (</ span > < span class ="n "> path_obj</ span > < span class ="p "> )</ span >
125+ </ span > < span id ="L-55 "> < a href ="#L-55 "> < span class ="linenos "> 55</ span > </ a >
126+ </ span > < span id ="L-56 "> < a href ="#L-56 "> < span class ="linenos "> 56</ span > </ a > < span class ="k "> return</ span > < span class ="n "> url</ span >
123127</ span > </ pre > </ div >
124128
125129
0 commit comments