All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] utils/checkpackagelib: CommentsMenusPackagesOrder: append elements to arrays if needed
@ 2019-07-15  8:32 Jerzy Grzegorek
  2019-07-15 20:46 ` Yann E. MORIN
  0 siblings, 1 reply; 3+ messages in thread
From: Jerzy Grzegorek @ 2019-07-15  8:32 UTC (permalink / raw)
  To: buildroot

To be "future-proof" append elements to arrays if needed.
Also change order of variables.

Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
---
 utils/checkpackagelib/lib_config.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py
index f0edb9993d..f55bb33d69 100644
--- a/utils/checkpackagelib/lib_config.py
+++ b/utils/checkpackagelib/lib_config.py
@@ -61,9 +61,9 @@ class AttributesOrder(_CheckFunction):
 
 
 class CommentsMenusPackagesOrder(_CheckFunction):
-    print_package_warning = [True, True, True, True, True, True]
-    menu_of_packages = ["", "", "", "", "", ""]
-    package = ["", "", "", "", "", ""]
+    menu_of_packages = [""]
+    package = [""]
+    print_package_warning = [True]
 
     def before(self):
         self.state = ""
@@ -87,9 +87,15 @@ class CommentsMenusPackagesOrder(_CheckFunction):
                     self.state += "-menu"
 
             level = self.get_level()
+
+            if level > len(self.package) - 1:
+                self.menu_of_packages.append("")
+                self.package.append("")
+                self.print_package_warning.append(True)
+
+            self.menu_of_packages[level] = text[:-1]
             self.package[level] = ""
             self.print_package_warning[level] = True
-            self.menu_of_packages[level] = text[:-1]
 
         elif text.startswith("endif") or text.startswith("endmenu"):
             if self.state.endswith("comment"):
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH 1/1] utils/checkpackagelib: CommentsMenusPackagesOrder: append elements to arrays if needed
  2019-07-15  8:32 [Buildroot] [PATCH 1/1] utils/checkpackagelib: CommentsMenusPackagesOrder: append elements to arrays if needed Jerzy Grzegorek
@ 2019-07-15 20:46 ` Yann E. MORIN
  2019-07-16  8:12   ` Jerzy Grzegorek
  0 siblings, 1 reply; 3+ messages in thread
From: Yann E. MORIN @ 2019-07-15 20:46 UTC (permalink / raw)
  To: buildroot

Jerzy, All,

On 2019-07-15 10:32 +0200, Jerzy Grzegorek spake thusly:
> To be "future-proof" append elements to arrays if needed.
> Also change order of variables.

Is that a fix for the existing issues, or just an improvement/cleanup?

> Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
> ---
>  utils/checkpackagelib/lib_config.py | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py
> index f0edb9993d..f55bb33d69 100644
> --- a/utils/checkpackagelib/lib_config.py
> +++ b/utils/checkpackagelib/lib_config.py
> @@ -61,9 +61,9 @@ class AttributesOrder(_CheckFunction):
>  
>  
>  class CommentsMenusPackagesOrder(_CheckFunction):
> -    print_package_warning = [True, True, True, True, True, True]
> -    menu_of_packages = ["", "", "", "", "", ""]
> -    package = ["", "", "", "", "", ""]
> +    menu_of_packages = [""]
> +    package = [""]
> +    print_package_warning = [True]

Why do we need an initial value in the arrays? Can't we do something
like:

    package = []
    ...
    if level > len(self.package):
        append the stuff here.

Of course, that is not very nice either... All of that because we can't
assigne to an index that does not already exists. In python, the moto is
"easier to ask for forgiveness than permission". So:

    try:
        self.menu_of_packages[level] = text[:-1]
        self.package[level] = ""
        self.print_package_warning[level] = True
    except IndexError:
        self.menu_of_packages.append(text[:-1])
        self.package.append("")
        self.print_package_warning.append(True)

Regards,
Yann E. MORIN.

>      def before(self):
>          self.state = ""
> @@ -87,9 +87,15 @@ class CommentsMenusPackagesOrder(_CheckFunction):
>                      self.state += "-menu"
>  
>              level = self.get_level()
> +
> +            if level > len(self.package) - 1:
> +                self.menu_of_packages.append("")
> +                self.package.append("")
> +                self.print_package_warning.append(True)
> +
> +            self.menu_of_packages[level] = text[:-1]
>              self.package[level] = ""
>              self.print_package_warning[level] = True
> -            self.menu_of_packages[level] = text[:-1]
>  
>          elif text.startswith("endif") or text.startswith("endmenu"):
>              if self.state.endswith("comment"):
> -- 
> 2.17.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH 1/1] utils/checkpackagelib: CommentsMenusPackagesOrder: append elements to arrays if needed
  2019-07-15 20:46 ` Yann E. MORIN
@ 2019-07-16  8:12   ` Jerzy Grzegorek
  0 siblings, 0 replies; 3+ messages in thread
From: Jerzy Grzegorek @ 2019-07-16  8:12 UTC (permalink / raw)
  To: buildroot

Hi Yann,

> Jerzy, All,
>
> On 2019-07-15 10:32 +0200, Jerzy Grzegorek spake thusly:
>> To be "future-proof" append elements to arrays if needed.
>> Also change order of variables.
> Is that a fix for the existing issues, or just an improvement/cleanup?


That is just improvement.


>
>> Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
>> ---
>>   utils/checkpackagelib/lib_config.py | 14 ++++++++++----
>>   1 file changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py
>> index f0edb9993d..f55bb33d69 100644
>> --- a/utils/checkpackagelib/lib_config.py
>> +++ b/utils/checkpackagelib/lib_config.py
>> @@ -61,9 +61,9 @@ class AttributesOrder(_CheckFunction):
>>   
>>   
>>   class CommentsMenusPackagesOrder(_CheckFunction):
>> -    print_package_warning = [True, True, True, True, True, True]
>> -    menu_of_packages = ["", "", "", "", "", ""]
>> -    package = ["", "", "", "", "", ""]
>> +    menu_of_packages = [""]
>> +    package = [""]
>> +    print_package_warning = [True]
> Why do we need an initial value in the arrays? Can't we do something


We don't need it.


> like:
>
>      package = []
>      ...
>      if level > len(self.package):
>          append the stuff here.
>
> Of course, that is not very nice either... All of that because we can't
> assigne to an index that does not already exists. In python, the moto is
> "easier to ask for forgiveness than permission". So:
>
>      try:
>          self.menu_of_packages[level] = text[:-1]
>          self.package[level] = ""
>          self.print_package_warning[level] = True
>      except IndexError:
>          self.menu_of_packages.append(text[:-1])
>          self.package.append("")
>          self.print_package_warning.append(True)

I'm fine with your suggestion too.
I'll send a new version in a couple of days.
Thanks for the review.

Regards,
Jerzy


>
> Regards,
> Yann E. MORIN.
>
>>       def before(self):
>>           self.state = ""
>> @@ -87,9 +87,15 @@ class CommentsMenusPackagesOrder(_CheckFunction):
>>                       self.state += "-menu"
>>   
>>               level = self.get_level()
>> +
>> +            if level > len(self.package) - 1:
>> +                self.menu_of_packages.append("")
>> +                self.package.append("")
>> +                self.print_package_warning.append(True)
>> +
>> +            self.menu_of_packages[level] = text[:-1]
>>               self.package[level] = ""
>>               self.print_package_warning[level] = True
>> -            self.menu_of_packages[level] = text[:-1]
>>   
>>           elif text.startswith("endif") or text.startswith("endmenu"):
>>               if self.state.endswith("comment"):
>> -- 
>> 2.17.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-07-16  8:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-15  8:32 [Buildroot] [PATCH 1/1] utils/checkpackagelib: CommentsMenusPackagesOrder: append elements to arrays if needed Jerzy Grzegorek
2019-07-15 20:46 ` Yann E. MORIN
2019-07-16  8:12   ` Jerzy Grzegorek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.