@@ -517,6 +517,8 @@ <h1>Source code for crystal_toolkit.core.mpcomponent</h1><div class="highlight">
517
517
< span class ="k "> def</ span > < span class ="nf "> matrix_element</ span > < span class ="p "> (</ span > < span class ="n "> idx</ span > < span class ="p "> ,</ span > < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ):</ span >
518
518
< span class ="c1 "> # TODO: maybe move element out of the name</ span >
519
519
< span class ="n "> mid</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> id</ span > < span class ="p "> (</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ,</ span > < span class ="n "> is_kwarg</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span > < span class ="n "> idx</ span > < span class ="o "> =</ span > < span class ="n "> idx</ span > < span class ="p "> ,</ span > < span class ="n "> hint</ span > < span class ="o "> =</ span > < span class ="n "> shape</ span > < span class ="p "> )</ span >
520
+ < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> value</ span > < span class ="p "> ,</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> ndarray</ span > < span class ="p "> ):</ span >
521
+ < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="n "> value</ span > < span class ="o "> .</ span > < span class ="n "> item</ span > < span class ="p "> ()</ span >
520
522
< span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="n "> is_int</ span > < span class ="p "> :</ span >
521
523
< span class ="k "> return</ span > < span class ="n "> dcc</ span > < span class ="o "> .</ span > < span class ="n "> Input</ span > < span class ="p "> (</ span >
522
524
< span class ="nb "> id</ span > < span class ="o "> =</ span > < span class ="n "> mid</ span > < span class ="p "> ,</ span >
@@ -531,7 +533,7 @@ <h1>Source code for crystal_toolkit.core.mpcomponent</h1><div class="highlight">
531
533
< span class ="s2 "> "marginBottom"</ span > < span class ="p "> :</ span > < span class ="s2 "> "0.2rem"</ span > < span class ="p "> ,</ span >
532
534
< span class ="s2 "> "height"</ span > < span class ="p "> :</ span > < span class ="s2 "> "36px"</ span > < span class ="p "> ,</ span >
533
535
< span class ="p "> },</ span >
534
- < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="n "> value</ span > < span class ="p "> ,</ span >
536
+ < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="nb " > float </ span > < span class =" p " > ( </ span > < span class =" n "> value</ span > < span class =" p " > ) </ span > < span class =" k " > if </ span > < span class =" n " > value </ span > < span class =" ow " > is </ span > < span class =" ow " > not </ span > < span class =" kc " > None </ span > < span class =" k " > else </ span > < span class =" kc " > None </ span > < span class ="p "> ,</ span >
535
537
< span class ="n "> persistence</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span >
536
538
< span class ="nb "> type</ span > < span class ="o "> =</ span > < span class ="s2 "> "number"</ span > < span class ="p "> ,</ span >
537
539
< span class ="o "> **</ span > < span class ="n "> kwargs</ span > < span class ="p "> ,</ span >
@@ -550,7 +552,7 @@ <h1>Source code for crystal_toolkit.core.mpcomponent</h1><div class="highlight">
550
552
< span class ="s2 "> "marginBottom"</ span > < span class ="p "> :</ span > < span class ="s2 "> "0.2rem"</ span > < span class ="p "> ,</ span >
551
553
< span class ="s2 "> "height"</ span > < span class ="p "> :</ span > < span class ="s2 "> "36px"</ span > < span class ="p "> ,</ span >
552
554
< span class ="p "> },</ span >
553
- < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="n "> value</ span > < span class ="p "> ,</ span >
555
+ < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="nb " > int </ span > < span class =" p " > ( </ span > < span class =" n "> value</ span > < span class =" p " > ) </ span > < span class =" k " > if </ span > < span class =" n " > value </ span > < span class =" ow " > is </ span > < span class =" ow " > not </ span > < span class =" kc " > None </ span > < span class =" k " > else </ span > < span class =" kc " > None </ span > < span class ="p "> ,</ span >
554
556
< span class ="n "> persistence</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span >
555
557
< span class ="nb "> type</ span > < span class ="o "> =</ span > < span class ="s2 "> "number"</ span > < span class ="p "> ,</ span >
556
558
< span class ="n "> step</ span > < span class ="o "> =</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span >
@@ -754,33 +756,48 @@ <h1>Source code for crystal_toolkit.core.mpcomponent</h1><div class="highlight">
754
756
755
757
< span class ="c1 "> # TODO: catch Exceptions here, and display validation error to user if incorrect kwargs supplied</ span >
756
758
757
- < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> k_type</ span > < span class ="p "> ,</ span > < span class ="nb "> tuple</ span > < span class ="p "> ):</ span >
758
- < span class ="c1 "> # matrix or vector</ span >
759
- < span class ="k "> if</ span > < span class ="n "> kwarg_label</ span > < span class ="ow "> not</ span > < span class ="ow "> in</ span > < span class ="n "> kwargs</ span > < span class ="p "> :</ span >
760
- < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> empty</ span > < span class ="p "> (</ span > < span class ="n "> k_type</ span > < span class ="p "> )</ span >
761
- < span class ="n "> v</ span > < span class ="o "> =</ span > < span class ="n "> literal_eval</ span > < span class ="p "> (</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> ))</ span >
762
- < span class ="k "> if</ span > < span class ="n "> v</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="ow "> and</ span > < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
763
- < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ][</ span > < span class ="n "> idx</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> literal_eval</ span > < span class ="p "> (</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> ))</ span >
764
- < span class ="k "> else</ span > < span class ="p "> :</ span >
765
- < span class ="c1 "> # require all elements to have value, otherwise set</ span >
766
- < span class ="c1 "> # entire kwarg to None</ span >
767
- < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
768
-
769
- < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "literal"</ span > < span class ="p "> :</ span >
770
-
771
- < span class ="k "> try</ span > < span class ="p "> :</ span >
772
- < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> literal_eval</ span > < span class ="p "> (</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> ))</ span >
773
- < span class ="k "> except</ span > < span class ="ne "> ValueError</ span > < span class ="p "> :</ span >
774
- < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> )</ span >
775
-
776
- < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "bool"</ span > < span class ="p "> :</ span >
777
- < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="nb "> bool</ span > < span class ="p "> (</ span > < span class ="s2 "> "enabled"</ span > < span class ="ow "> in</ span > < span class ="n "> v</ span > < span class ="p "> )</ span >
778
-
779
- < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "slider"</ span > < span class ="p "> :</ span >
780
- < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> v</ span >
781
-
782
- < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "dict"</ span > < span class ="p "> :</ span >
783
- < span class ="k "> pass</ span >
759
+ < span class ="k "> try</ span > < span class ="p "> :</ span >
760
+
761
+ < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> k_type</ span > < span class ="p "> ,</ span > < span class ="nb "> tuple</ span > < span class ="p "> ):</ span >
762
+ < span class ="c1 "> # matrix or vector</ span >
763
+ < span class ="k "> if</ span > < span class ="n "> kwarg_label</ span > < span class ="ow "> not</ span > < span class ="ow "> in</ span > < span class ="n "> kwargs</ span > < span class ="p "> :</ span >
764
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> empty</ span > < span class ="p "> (</ span > < span class ="n "> k_type</ span > < span class ="p "> )</ span >
765
+ < span class ="n "> v</ span > < span class ="o "> =</ span > < span class ="n "> literal_eval</ span > < span class ="p "> (</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> ))</ span >
766
+ < span class ="k "> if</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> )</ span > < span class ="ow "> and</ span > < span class ="p "> (</ span > < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> ):</ span >
767
+ < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> ,</ span > < span class ="nb "> list</ span > < span class ="p "> ):</ span >
768
+ < span class ="nb "> print</ span > < span class ="p "> (</ span >
769
+ < span class ="s2 "> "This shouldn't happen! Debug required."</ span > < span class ="p "> ,</ span >
770
+ < span class ="n "> kwarg_label</ span > < span class ="p "> ,</ span >
771
+ < span class ="n "> idx</ span > < span class ="p "> ,</ span >
772
+ < span class ="n "> v</ span > < span class ="p "> ,</ span >
773
+ < span class ="p "> )</ span >
774
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ][</ span > < span class ="n "> idx</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
775
+ < span class ="k "> else</ span > < span class ="p "> :</ span >
776
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ][</ span > < span class ="n "> idx</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> v</ span >
777
+ < span class ="k "> else</ span > < span class ="p "> :</ span >
778
+ < span class ="c1 "> # require all elements to have value, otherwise set</ span >
779
+ < span class ="c1 "> # entire kwarg to None</ span >
780
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span >
781
+
782
+ < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "literal"</ span > < span class ="p "> :</ span >
783
+
784
+ < span class ="k "> try</ span > < span class ="p "> :</ span >
785
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> literal_eval</ span > < span class ="p "> (</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> ))</ span >
786
+ < span class ="k "> except</ span > < span class ="ne "> ValueError</ span > < span class ="p "> :</ span >
787
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> )</ span >
788
+
789
+ < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "bool"</ span > < span class ="p "> :</ span >
790
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="nb "> bool</ span > < span class ="p "> (</ span > < span class ="s2 "> "enabled"</ span > < span class ="ow "> in</ span > < span class ="n "> v</ span > < span class ="p "> )</ span >
791
+
792
+ < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "slider"</ span > < span class ="p "> :</ span >
793
+ < span class ="n "> kwargs</ span > < span class ="p "> [</ span > < span class ="n "> kwarg_label</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> v</ span >
794
+
795
+ < span class ="k "> elif</ span > < span class ="n "> k_type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "dict"</ span > < span class ="p "> :</ span >
796
+ < span class ="k "> pass</ span >
797
+
798
+ < span class ="k "> except</ span > < span class ="ne "> Exception</ span > < span class ="k "> as</ span > < span class ="n "> exc</ span > < span class ="p "> :</ span >
799
+ < span class ="c1 "> # Not raised intentionally but if you notice this in logs please investigate.</ span >
800
+ < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="s2 "> "This is a problem, debug required."</ span > < span class ="p "> ,</ span > < span class ="n "> exc</ span > < span class ="p "> )</ span >
784
801
785
802
< span class ="k "> for</ span > < span class ="n "> k</ span > < span class ="p "> ,</ span > < span class ="n "> v</ span > < span class ="ow "> in</ span > < span class ="n "> kwargs</ span > < span class ="o "> .</ span > < span class ="n "> items</ span > < span class ="p "> ():</ span >
786
803
< span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> v</ span > < span class ="p "> ,</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> ndarray</ span > < span class ="p "> ):</ span >
0 commit comments