Michal - ran pylint on packagemanager.py and beadmin.py, you need to do 
a little clean up. Other than that and the few comments below looks good.

JR

 205                 column = gtk.TreeViewColumn(self.parent._("Active on 
Reboot"), \
 206                     radio_renderer, active = 5) # 1 = BE_MARK

Assume should be 5 = BE_DEFAULT

 388         def __create_view_with_be(self, be_list):

This is being called with gobject.idle_add so presumably you don't need 
gobject.idle_add calls within it?

 402                         gobject.idle_add(self.__error_occured, msg, False)


Would be clearer in

 258         def __activate(self):
If various row numbers where specified using named class variables, to indicate 
what they mean, as you do with the various INFO_ZZZ values.

Are creation dates going to be available from BEADM ? Would it be better to use 
BEADM to provide them if possible and have this zfs approach as the fall back 
on failure.

453         def __get_dates_of_creation(self, be_list):



sts/gui_pylintrc /tmp/packagemanager.py
************* Module packagemanager
W:629:PackageManager.__on_update_all: Unused variable 'fmris'
E:1068:PackageManager.__ipkg_ipkgui_uptodate: Module 'pkg.client.image' 
has no 'CatalogRefreshException' member
E:1226:PackageManager.__get_image_from_directory: Module 
'pkg.client.image' has no 'InventoryException' member
R:1216:PackageManager.__get_image_from_directory: Too many branches (27/25)
W:1226:PackageManager.__get_image_from_directory: Unused variable 'e'
W:1487:PackageManager.__installed_fmris_from_args: Redefining name 
'args' from outer scope (line 1872)
E:1493:PackageManager.__installed_fmris_from_args: Module 
'pkg.client.image' has no 'InventoryException' member
R:1487:PackageManager.__installed_fmris_from_args: Method could be a 
function
W:1593:PackageManager.get_installed_version: Access to a protected 
member _get_version_installed of a client class

************* Module beadmin
C:433: Line too long (93/90)
W:472: Bad indentation. Found 32 spaces, expected 24
W: 64:Beadmin.__init__: Unused variable 'result'
W:259:Beadmin.__activate: Unused variable 'to_delete'
C:330:Beadmin.__delete_activate_be: Operator not preceded by a space
                                        msg+= "\n\n"
                                           ^^
W:347:Beadmin.__error_occured: Unused variable 'result'
W:367:Beadmin.__enable_disable_reset: Unreachable code
W:367:Beadmin.__enable_disable_reset: Statement seems to have no effect
W:368:Beadmin.__enable_disable_reset: Statement seems to have no effect
W:430:Beadmin.__create_view_with_be: No exception type(s) specified
W:425:Beadmin.__create_view_with_be: Used * or ** magic
R:448:Beadmin.__convert_size_of_be_to_string: Method could be a function
W:471:Beadmin.__get_dates_of_creation: Except doesn't do anything
R:453:Beadmin.__get_dates_of_creation: Method could be a function
W:471:Beadmin.__get_dates_of_creation: Unused variable 'e'
R:485:Beadmin.__beadm_invoke_command: Method could be a function
W:492:Beadmin.__beadm_invoke_command: Unused variable 'e'
W:511:Beadmin.__check_if_be_supports_capital_f: Except doesn't do anything
R:496:Beadmin.__check_if_be_supports_capital_f: Method could be a function
W:511:Beadmin.__check_if_be_supports_capital_f: Unused variable 'e'
R:533:Beadmin.__set_renderer_active: Method could be a function
R:541:Beadmin.__cell_data_function: Method could be a function
E: 55:Beadmin.__init__: Access to member 'parent' before its definition 
line 68
E: 63:Beadmin.__init__: Access to member 'parent' before its definition 
line 68




Michal Pryc wrote:
> Hello,
> I am sending this e-mail to caiman-discuss as well to the pkg-discuss. 
> For people from the caiman-discuss, which didn't follow the thread, the 
> orignal message is at:
>
> http://mail.opensolaris.org/pipermail/pkg-discuss/2008-September/006334.html
>
> In short:
>   There is an requirement for packagemanager for 2008.11 to have simple 
> dialog which allows users to delete and switch between BE's created 
> during image-update.
>
> Screenshots from current working BE Management are at:
> http://cr.opensolaris.org/~migi/be_admin_screenshots_v0/
>
> Because packagemanager and IPS are back-published to all opensolaris 
> builds, those part needs to work with all versions of libbe and beadm. 
> That is why in addition to the first webrev, few things needed tweaking. 
> I have tested this code on builds 86, 94 and 98.
>
> What was changed? The descriptions will contains numbers e.g. {1-30}, 
> those numbers are line numbers for the beadmin.py:
> http://cr.opensolaris.org/~migi/18_09_be_management_3201_misc_v1/src/gui/modules/beadmin.py.html
>
> The version beadm in build 86 was using "-f" flag instead of "-F" for 
> destroy action. Current webrev doesn't check for the opensolaris build 
> but it checks if output from help message contains only "[-f]" if yes 
> then it means that we should use "-f" in all other we should use "-F" as 
> this is new version of beadm {496-513, 153-154, 477-478}. This is safer 
> then checking for build number and assuming that user have proper 
> version of beadm and libbe.
>
> There was another change between build 86 and 98. The libbe.beList() 
> returns different format and different information. We are checking if 
> there was any error while getting the list of be's and if there was we 
> are preventing user to use BE management {392-405}. The older libbe 
> didn't have any error checking, so we are assuming that the list if correct.
>
> Another difference was with the dates of creation of be. The new libbe 
> contains such info within libbe.beList() but the older version didn't 
> have such information, so we are obtaining this from the zfs command 
> (but only when libbe didn't give us such info) {413, 417-433, 453-473}
>
> The whole webrev is at:
>
> http://cr.opensolaris.org/~migi/18_09_be_management_3201_misc_v1/
>
> Also during tests I have discovered that some dialogs are improperly 
> used by packagemanager.py (run without destroy) which prevented beadm to 
> work properly in some cases. This webrev fixes those.
>
> best
> Michal Pryc
>
>
> Ethan Quach wrote:
>   
>> Michal Pryc wrote:
>>     
>>> Ethan Quach wrote:
>>>
>>>       
>>>> Michal,
>>>>
>>>> beadmin.py:
>>>>
>>>> 447 - I would highly recommend against constructing this path.
>>>> Use bee.get("root_ds") instead (we will likely implement a better api
>>>> to get these elements in the future so that apps don't need to know these
>>>> key names. We won't change the key names of course...)
>>>>
>>>>         
>>> The problem was to get the date of the creation of BE, I couldn't find
>>> this through libbe so I need to make this trick of getting date of
>>> creation snapshot. I the bee.get("root_ds") something introduced after
>>> nevada 94? I can't get this value (It's always returning None).
>>>
>>>       
>> Sigh.  You're right, it wasn't added until build 96, which also added a
>> "date"
>> element which is what you're really after.  Constructing this path
>> shouldn't be
>> done because its private, and it also won't work when we enable this code to
>> work inside of zones.  Perhaps we do the conditional here again, and
>> *try* to
>> get the "date" element, and if that fails, do what you have now.
>>     
>
>
> _______________________________________________
> pkg-discuss mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
>   

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to