Dermot: I am going to you whether there is plan to remove usr/src/install/libict with GUI --> CUD. For ICT, are you going to use the ict that was converted to Python ???
I did not see this in your code review request. ----- Original Message ----- From: [email protected] To: [email protected] Cc: [email protected], [email protected] Sent: Friday, June 10, 2011 3:12:34 AM GMT -08:00 Tijuana / Baja California Subject: Re: [caiman-discuss] Code Review request: GUI Install -> CUD Thanks, Mary, I've fixed 29 pep8 nits in the source - virtually all of which were blank space-related issues. The results will be in the round 2 webrev coming out early next week. - Dermot On 06/10/11 00:32, Mary Ding wrote: > Dermot: > > In general, please make sure the *py files are pep8 compliance. There > is instructions in the slim_source usr/src/README to tell you how to > install and run pep8 to make sure they are clean. > > Thanks !!! > > > > On 06/ 3/11 09:39 AM, Drew Fisher wrote: >> Dermot, >> >> Here's my review of the entire webrev. For the most part this looks >> excellent! Great job! >> >> Anything I didn't comment on looks ok to me. I didn't look too hard >> at the XML files in $SRC/cmd/gui-install/xml, though >> >> -Drew >> >> >> >> >> >> >> NIT: For a lot of the Python files, you have this: >> >> 37 import pygtk >> 38 pygtk.require('2.0') >> >> Since this are hard-set requirements, shouldn't this import be done >> before anything else? >> >> NIT: Please organize your imports per pep8 rules (pygtk import is >> clearly not applicable here) >> >> NIT: Please nuke all of the pylint disable/enable comments. There's >> absolutely no reason at all to remain beholden to pylint's parsers and >> it just clutters the code. >> >> NIT - this is nothing more than a personal NIT on my part. When >> passing only boolean arguments can you label the arguments? >> >> e.g. >> self.set_back_next(back_sensitive=True, next_sensitive=False) >> >> This simply makes the code easier to read (for me. maybe not for you!) >> >> I see this a lot in the set_back_next() calls. >> >> >> usr/src/cmd/gui-install/src/base_screen.py >> ------------------------------------------ >> 60: commented line? >> >> 145: You don't need .keys() >> >> usr/src/cmd/gui-install/src/confirm_screen.py >> -------------------------------------------- >> 99: make this line a simple 4 space indent >> >> usr/src/cmd/gui-install/src/disk_screen.py >> ------------------------------------------ >> 137-138: empty docstring >> >> 193: does the UI prevent it? :) >> >> 202: does TC prevent it? :) >> >> 287, 295: unneeded parens >> >> 421: join to line 420 >> >> 431, 432, 435: NIT: boolean args >> >> 617-619: 8 space indents >> >> 647: if not slices: >> >> 831: join to line 830 >> >> 844: join to line 843 >> >> usr/src/cmd/gui-install/src/failure_screen.py >> --------------------------------------------- >> 67-69: these should all fit on one line >> >> usr/src/cmd/gui-install/src/fdisk_panel.py >> ------------------------------------------ >> 118: use dict() >> >> 837, 844, 851: remove .keys() >> >> 882: use list() >> >> 912: s/priomary/primary >> >> 1196: s/ENTENDED/EXTENDED >> >> usr/src/cmd/gui-install/src/finish_screen.py >> -------------------------------------------- >> 79-81: make this all one line >> >> 124: remove line >> 126: change cmd to [REBOOT] >> >> usr/src/cmd/gui-install/src/gui_install_common.py >> ------------------------------------------------- >> 162: Instead of opening the file with open(), use the linecache >> module: >> >> if os.path.exists(PIDFILE): >> previous_pid = int(linecache(PIDFILE, 1)) >> this_pid = os.getpid() >> <...> >> >> It'll save some indentation and will smartly handle errors (IOErrors, >> etc.) >> >> usr/src/cmd/gui-install/src/help_dialog.py >> ------------------------------------------ >> 43: commented line >> >> usr/src/cmd/gui-install/src/install_profile.py >> ---------------------------------------------- >> 51, 52: use list() >> >> usr/src/cmd/gui-install/src/libzoneinfo_ctypes.py >> ------------------------------------------------- >> Sweet! Another ctypes masochist! >> >> 39-48: Some of the types don't match what's in the header file. >> You've got c_int for some where you want c_uint. >> >> usr/src/cmd/gui-install/src/map.py >> ---------------------------------- >> >> 132-134: maybe move this to a logging.debug call? >> >> 206: use list() >> >> 358, 397: commented line? >> >> 513, 560, 612: use list() >> >> usr/src/cmd/gui-install/src/progress_screen.py >> ---------------------------------------------- >> 120-122: join to one line >> >> 156-174: I had no idea the TextFile class existed. Why the heck did >> Python stick that class in the distutils module instead of somewhere >> more universal?! >> >> I think it reads easier if you use the readlines() call though instead >> of a readline() while loop: >> >> urlimage_dict = dict() >> image_fh = TextFile(....) >> for line in image_fh.readlines(): >> if "=" in line: >> filename, sep, url = line.partition("=") >> filename = os.path.join(path, filename) >> urlimage[filename] = url >> return urlimage_dict >> >> 195: use list() >> >> 263-282: There's an entire in-line function setup to create a >> software node >> for CPIO that's used only once and only inside this class method. >> That tells me there's no reason for an in-line function here. >> >> 301-302: combine the calls >> >> usr/src/cmd/gui-install/src/screen_manager.py >> --------------------------------------------- >> 106: use list() >> >> usr/src/cmd/gui-install/src/target_utils.py >> ------------------------------------------- >> 29-34: Would it help if these were part of targets? I can do that, >> you know :) >> >> 77: use dict() >> >> 81-86: partition names should be strings and not ints. Not sure if >> this would cause a problem if they were strings in this section of the >> code though. >> >> 166-167: combine the calls: >> ctrl_type = ctrl_type.split()[0].upper() >> >> usr/src/cmd/gui-install/src/timezone.py >> --------------------------------------- >> 307-309: commented lines? >> >> usr/src/cmd/gui-install/src/user_screen.py >> ------------------------------------------ >> 97-99: join to one line >> >> 159, 171-172: You default data=None but then try to split it out. Is >> it possible to traceback here because of that? If this wasn't a pygtk >> callback method, I would think you'd have to add special handling for >> it but I'm not sure if pygtk takes care of it for you or not.... >> >> 283-285: We could use str.translate here to make this a lot more >> readable: >> >> import string # depricated, but that's ok >> # construct a map of viable characters for a hostname >> viable = string.letters + string.digits + "-_." >> if " " in hostname or hostname.translate(None, viable): >> return False >> return True >> >> 275-289: Again, we have a function used only once. Can we remove the >> function call part of this? >> >> usr/src/cmd/gui-install/src/welcome_screen.py >> --------------------------------------------- >> 50-52: join to one line >> >> usr/src/cmd/system-config/profile/user_info.py >> ---------------------------------------------- >> 59-62: I know this isn't yours, but can you remove the extra spaces >> from in-between the "=" ? >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On 6/1/11 11:12 AM, Dermot McCluskey wrote: >>> Hi, >>> >>> I'd like to request a code review for the GUI Install -> CUD project. >>> >>> I need to set a timeout of Friday June 10th for this first round of >>> comments. >>> Please let me know if you intend to review, and also which of the >>> sections >>> listed below you will be looking at. >>> >>> The webrev is here: >>> http://cr.opensolaris.org/~dermot/webrev-cud-gui-round-1/ >>> >>> The latest iso and usb images for the project are here: >>> file:///net/indiana-build.us.oracle.com/var/lib/hudson/jobs/dc/cud_gui/media >>> >>> >>> >>> Below is my suggested grouping of the sources. If reviewers think a >>> code >>> walk-through would be helpful, then let me know. I could do this >>> at, eg, >>> 9am PT on Friday, 3rd or Monday, 6th or some other time if that doesn't >>> suit. >>> >>> >>> Thanks, >>> - Dermot >>> >>> >>> 1. Makefiles and manifest >>> ================== >>> usr/src/Makefile.master >>> usr/src/cmd/Makefile >>> usr/src/cmd/Makefile.targ >>> usr/src/cmd/gui-aux/Makefile >>> usr/src/cmd/gui-install/Makefile >>> usr/src/cmd/gui-install/src/Makefile >>> usr/src/cmd/gui-install/pixmaps/Makefile >>> usr/src/cmd/gui-install/xml/Makefile >>> usr/src/pkg/manifests/system-install-gui-install.mf >>> >>> 2. Glade UI Definition file >>> ================== >>> (These files are basically the old *.glade files which define the >>> Gtk+ widgets >>> and layout of each screen. They have been run through the >>> gtk-builder-convert >>> utility to convert them to the newer Gtk+Builder format, plus some >>> minor >>> tidying up.) >>> usr/src/cmd/gui-install/xml/confirmation.xml >>> usr/src/cmd/gui-install/xml/date-time-zone.xml >>> usr/src/cmd/gui-install/xml/failure.xml >>> usr/src/cmd/gui-install/xml/gui-install.xml >>> usr/src/cmd/gui-install/xml/installation.xml >>> usr/src/cmd/gui-install/xml/installationdisk.xml >>> usr/src/cmd/gui-install/xml/users.xml >>> >>> 3. App startup and checkpoint setup; handle screens; misc. >>> =========================================== >>> usr/src/cmd/gui-install/src/gui-install.py >>> usr/src/cmd/gui-install/src/__init__.py >>> usr/src/cmd/gui-install/src/base_screen.py >>> usr/src/cmd/gui-install/src/screen_manager.py >>> usr/src/cmd/gui-install/src/gui_install_common.py >>> usr/src/cmd/gui-install/src/help_dialog.py >>> usr/src/cmd/gui-install/src/install_profile.py >>> >>> 4. Welcome Screen and Confirmation Screen >>> ============= >>> usr/src/cmd/gui-install/src/welcome_screen.py >>> usr/src/cmd/gui-install/src/confirm_screen.py >>> >>> 5. Disk Screen >>> ========== >>> usr/src/cmd/gui-install/src/disk_screen.py >>> usr/src/cmd/gui-install/src/fdisk_panel.py >>> usr/src/cmd/gui-install/src/target_utils.py >>> usr/src/lib/install_target/controller.py >>> >>> 6. Timezone screen >>> ============= >>> usr/src/cmd/gui-install/src/timezone_screen.py >>> usr/src/cmd/gui-install/src/timezone.py >>> usr/src/cmd/gui-install/src/map.py >>> usr/src/cmd/gui-install/src/libzoneinfo_ctypes.py >>> >>> 7. User Screen >>> ========== >>> usr/src/cmd/gui-install/src/user_screen.py >>> usr/src/cmd/gui-install/src/user_support.py >>> >>> 8. Progress Screen / Perform Installation >>> =========================== >>> usr/src/cmd/gui-install/src/progress_screen.py >>> usr/src/cmd/gui-install/src/failure_screen.py >>> usr/src/cmd/gui-install/src/finish_screen.py >>> usr/src/cmd/gui-install/src/textview_dialog.py >>> usr/src/cmd/gui-aux/imageurl.txt >>> usr/src/cmd/system-config/profile/user_info.py >>> >>> _______________________________________________ >>> caiman-discuss mailing list >>> [email protected] >>> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss >> _______________________________________________ >> caiman-discuss mailing list >> [email protected] >> http://mail.opensolaris.org/mailman/listinfo/caiman-discuss > _______________________________________________ caiman-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

