On Tue, Jul 07, 2020 at 08:51:31AM +0300, Sam Eiderman wrote: > Notice that I have added the closing bracket and return type hint into > the indentation function as a hack to line wrap correctly when the > return type hint is causing > 79 chars per line: > > So that instead of: > > def btrfs_subvolume_create(self, dest: str, qgroupid: > Optional[str] = None) -> None: > > We correctly get: > > def btrfs_subvolume_create(self, dest: str, > qgroupid: Optional[str] = None) -> None: > > Since the indent function looks for a comma to wrap - this works nicely. > > However there is this one case where we use the Tuple hint, which > contains a comma in itself and causes the following weird line > wrapping: > > def btrfs_subvolume_show(self, subvolume: str) -> Union[List[Tuple[str, > str]], dict]: > def inspect_get_drive_mappings(self, root: str) -> Union[List[Tuple[str, > str]], dict]: > def inspect_get_mountpoints(self, root: str) -> Union[List[Tuple[str, > str]], dict]: > > In my opinion it is okay, pep8 complains about this and actually > requires either: > > Option A > > def btrfs_subvolume_show(self, subvolume: str) -> Union[List[Tuple[str, > str]], > dict]: > pass > > Which has a more complicated nesting scheme and will require the > indentation function to work more intelligently > > Option B > > def btrfs_subvolume_show(self, > subvolume: str) -> Union[List[Tuple[str, str]], > dict]: > pass > > Still requires intelligent wrapping > > Option C > > def btrfs_subvolume_show( > self, subvolume: str > ) -> Union[List[Tuple[str, str]], dict]: > > This option is easy to implement, just change the amount of > indentation required (9 + function name) to 8 and begin args on > newline, however in most cases this will make the all other 500 > function signatures longer. > > WDYT?
I'm not massively concerned about generated code. It should be possible for humans to follow it and we tend to format it as nicely as is feasible, but a bit of line wrapping isn't the end of the world. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
