Skip to content

Handle BrokenPipeError - #775

Merged
Travis Prescott (tjprescott) merged 2 commits into
Azure:masterfrom
tjprescott:FixIssue770
Aug 29, 2016
Merged

Travis Prescott (tjprescott) merged 2 commits into
Azure:masterfrom
tjprescott:FixIssue770

Conversation

@tjprescott

Copy link
Copy Markdown
Member

Fixes #770.

@derekbekoe

Derek Bekoe (derekbekoe) commented Aug 29, 2016

Copy link
Copy Markdown
Member

I tried this out and got BrokenPipeError not defined on Python 2.7.

$ az vm list | sdfdf
-bash: sdfdf: command not found
global name 'BrokenPipeError' is not defined
Traceback (most recent call last):
  File "/Users/debekoe/Repos/derekbekoe-azure-cli/src/azure/cli/main.py", line 69, in main
    OutputProducer(formatter=formatter, file=file).out(cmd_result)
  File "/Users/debekoe/Repos/derekbekoe-azure-cli/src/azure/cli/_output.py", line 109, in out
    except BrokenPipeError: # pylint: disable=undefined-variable
NameError: global name 'BrokenPipeError' is not defined
$ python --version
Python 2.7.10

Also, I think it should go in main where we handle the other exceptions.

I have created #780 as a suggestion. It works with Python 2 & 3 and moved the logic to main.py. #Resolved

@tjprescott

Travis Prescott (tjprescott) commented Aug 29, 2016

Copy link
Copy Markdown
Member Author

You're right--when I tried it on my Mac I assumed it was on Python 2.7 (since that's what it comes with) but sure enough it was running with Python 3. I originally had the code in main.py but figured it made more sense to be localized since there might be other cases where a broken pipe error might be caused by something else and a generic "pass" in main might not be the right approach.


In reply to: 243230094 [](ancestors = 243230094)

@derekbekoe

Copy link
Copy Markdown
Member

Looks good then :shipit:

@tjprescott
Travis Prescott (tjprescott) merged commit a0f1f85 into Azure:master Aug 29, 2016
@tjprescott
Travis Prescott (tjprescott) deleted the FixIssue770 branch August 29, 2016 21:19
Johan Stenberg (ex-msft) (johanste) added a commit that referenced this pull request Aug 31, 2016
* Provide support for reading a single parameter value from file

Values prefixed with @ will be replaced with the content of the file immediately following the @-sign.

The pseudo-name '-' is used to indicate stdin.

* Fix accidentally deleted space (which made pylint angry)

* enable diagnostics and extensions in vmss profile (#737)

* Expose generic update parameters on existing custom updates (#735)

* Convert all updates to cli_generic_update_commands.

* Code review fixes.

* Remove inline CliArgumentType(...) registrations (#744)

* Eliminates anti-pattern of creating CliArgumentTypes inline during parameter registration.

* Minor fixes.

* Add NAT Rules to VMSS create that allow SSH/RDP by default (#743)

* Update regular expression to fix issue #147 (#747)

* Support colored output on Windows (#756)

* [Help] Help Fixes and Enhancements (#736)

* Fix issue #680.

* Initial version of help dump. Logic to extract summary.

* Fix issues #365 and #447.

* Code review fixes.

* Code review fixes.

* Fix folded parameter logic to make new optional. Update existing uses to (#766)

work with new logic.

* Treat CloudError like a CLIError (don't print stack trace) (#759)

* 'az configure' experience (default output format) (#739)

* 'az configure' experience

- Allows user to set default output type.
- Infrastructure for CLI configurations also implemented.

* Add license header & fix deprecated method

* Wrap SafeConfigParser instead of extending from it

* Code review feedback changes

* Table format revisions (#748)

* Table format revisions

- Table output is generic and automatically extracts fields from the result.
- No longer use simple_output_query as it was specific for commands and as packages will support multiple API versions, this solution is no longer feasible.

* Support callable again for table format after discussion

When a callable is set for a command, it will be used as long as there is no query active.
If there's a query active, the callable will not be used so the user has to specify a full query that can generate an appropriate table.

* Remove 'starting' message for long running operations (#767)

* Remove 'starting' message for long running operations

* Change name of poll_interval_ms as ambiguous and also change logger messages that referred to this interval

* Catch EOF to minimize stack trace craziness. (#768)

* Change simple_output_query to be table_transformer (#771)

* [Resource] Resource Tag Fix (issue 763) (#765)

* Use 'ignore_type' within resource module. Fix issue 763.

* Code review fixes.

* Only delete certain files in yml output folder during Document CI (#762)

* Update README Docker instructions. (#776)

* Fixes #772 (#779)

* Handle BrokenPipeError (#775)

* Fix issue 770.

* Fix undeclared-variable

* update a few command descriptions (#781)

* VM issue: fix #749, #753, #575 (#778)

* Add commands for Azure IoT (#730)

* Add commands for Azure IoT

* 1.Include files into azure-cli.pyproj; 2. Update license info in setup.py

* add missing pylint directive

* resolve review comments

* resolve comments

* fix typo

* [Document CI] Handle Robocopy exit code (#786)

* Generic Update enhancements. (#740)

* Fix issues #728 and #686

* Code review fixes.

* Fix Error if Non-existent Storage Account Specified (#787)

* Fix issue #784.

* Code review fix.

* vm: enable autoUpgradeMinorVersion by default (#791)

* cmd: use plurals for list-* command naming (#792)

Committer: yugangw-msft

* Ensure docstring help with unrecognized unicode characters still displays correctly. (#795)

* Provide support for reading a single parameter value from file

Values prefixed with @ will be replaced with the content of the file immediately following the @-sign.

The pseudo-name '-' is used to indicate stdin.

* Fix accidentally deleted space (which made pylint angry)
Kerwin(Kaihui) Sun (00Kai0) pushed a commit to 00Kai0/azure-cli that referenced this pull request Apr 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants