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