mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Use Go1.11 module (#5743)
* Migrate to go modules * make vendor * Update mvdan.cc/xurls * make vendor * Update code.gitea.io/git * make fmt-check * Update github.com/go-sql-driver/mysql * make vendor
This commit is contained in:
		
							
								
								
									
										2
									
								
								vendor/github.com/urfave/cli/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/urfave/cli/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
*.coverprofile
 | 
			
		||||
node_modules/
 | 
			
		||||
							
								
								
									
										39
									
								
								vendor/github.com/urfave/cli/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								vendor/github.com/urfave/cli/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
language: go
 | 
			
		||||
 | 
			
		||||
sudo: false
 | 
			
		||||
 | 
			
		||||
cache:
 | 
			
		||||
  directories:
 | 
			
		||||
  - node_modules
 | 
			
		||||
 | 
			
		||||
go:
 | 
			
		||||
- 1.2.x
 | 
			
		||||
- 1.3.x
 | 
			
		||||
- 1.4.2
 | 
			
		||||
- 1.5.x
 | 
			
		||||
- 1.6.x
 | 
			
		||||
- 1.7.x
 | 
			
		||||
- master
 | 
			
		||||
 | 
			
		||||
matrix:
 | 
			
		||||
  allow_failures:
 | 
			
		||||
  - go: master
 | 
			
		||||
  include:
 | 
			
		||||
  - go: 1.6.x
 | 
			
		||||
    os: osx
 | 
			
		||||
  - go: 1.7.x
 | 
			
		||||
    os: osx
 | 
			
		||||
 | 
			
		||||
before_script:
 | 
			
		||||
- go get github.com/urfave/gfmrun/... || true
 | 
			
		||||
- go get golang.org/x/tools/... || true
 | 
			
		||||
- if [ ! -f node_modules/.bin/markdown-toc ] ; then
 | 
			
		||||
    npm install markdown-toc ;
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
script:
 | 
			
		||||
- ./runtests gen
 | 
			
		||||
- ./runtests vet
 | 
			
		||||
- ./runtests test
 | 
			
		||||
- ./runtests gfmrun
 | 
			
		||||
- ./runtests toc
 | 
			
		||||
							
								
								
									
										336
									
								
								vendor/github.com/urfave/cli/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										336
									
								
								vendor/github.com/urfave/cli/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,336 @@
 | 
			
		||||
# Change Log
 | 
			
		||||
 | 
			
		||||
**ATTN**: This project uses [semantic versioning](http://semver.org/).
 | 
			
		||||
 | 
			
		||||
## [Unreleased]
 | 
			
		||||
### Added
 | 
			
		||||
- Flag type code generation via `go generate`
 | 
			
		||||
- Write to stderr and exit 1 if action returns non-nil error
 | 
			
		||||
- Added support for TOML to the `altsrc` loader
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Raise minimum tested/supported Go version to 1.2+
 | 
			
		||||
 | 
			
		||||
## [1.18.0] - 2016-06-27
 | 
			
		||||
### Added
 | 
			
		||||
- `./runtests` test runner with coverage tracking by default
 | 
			
		||||
- testing on OS X
 | 
			
		||||
- testing on Windows
 | 
			
		||||
- `UintFlag`, `Uint64Flag`, and `Int64Flag` types and supporting code
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Use spaces for alignment in help/usage output instead of tabs, making the
 | 
			
		||||
  output alignment consistent regardless of tab width
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Printing of command aliases in help text
 | 
			
		||||
- Printing of visible flags for both struct and struct pointer flags
 | 
			
		||||
- Display the `help` subcommand when using `CommandCategories`
 | 
			
		||||
- No longer swallows `panic`s that occur within the `Action`s themselves when
 | 
			
		||||
  detecting the signature of the `Action` field
 | 
			
		||||
 | 
			
		||||
## [1.17.0] - 2016-05-09
 | 
			
		||||
### Added
 | 
			
		||||
- Pluggable flag-level help text rendering via `cli.DefaultFlagStringFunc`
 | 
			
		||||
- `context.GlobalBoolT` was added as an analogue to `context.GlobalBool`
 | 
			
		||||
- Support for hiding commands by setting `Hidden: true` -- this will hide the
 | 
			
		||||
  commands in help output
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- `Float64Flag`, `IntFlag`, and `DurationFlag` default values are no longer
 | 
			
		||||
  quoted in help text output.
 | 
			
		||||
- All flag types now include `(default: {value})` strings following usage when a
 | 
			
		||||
  default value can be (reasonably) detected.
 | 
			
		||||
- `IntSliceFlag` and `StringSliceFlag` usage strings are now more consistent
 | 
			
		||||
  with non-slice flag types
 | 
			
		||||
- Apps now exit with a code of 3 if an unknown subcommand is specified
 | 
			
		||||
  (previously they printed "No help topic for...", but still exited 0. This
 | 
			
		||||
  makes it easier to script around apps built using `cli` since they can trust
 | 
			
		||||
  that a 0 exit code indicated a successful execution.
 | 
			
		||||
- cleanups based on [Go Report Card
 | 
			
		||||
  feedback](https://goreportcard.com/report/github.com/urfave/cli)
 | 
			
		||||
 | 
			
		||||
## [1.16.0] - 2016-05-02
 | 
			
		||||
### Added
 | 
			
		||||
- `Hidden` field on all flag struct types to omit from generated help text
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- `BashCompletionFlag` (`--enable-bash-completion`) is now omitted from
 | 
			
		||||
generated help text via the `Hidden` field
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- handling of error values in `HandleAction` and `HandleExitCoder`
 | 
			
		||||
 | 
			
		||||
## [1.15.0] - 2016-04-30
 | 
			
		||||
### Added
 | 
			
		||||
- This file!
 | 
			
		||||
- Support for placeholders in flag usage strings
 | 
			
		||||
- `App.Metadata` map for arbitrary data/state management
 | 
			
		||||
- `Set` and `GlobalSet` methods on `*cli.Context` for altering values after
 | 
			
		||||
parsing.
 | 
			
		||||
- Support for nested lookup of dot-delimited keys in structures loaded from
 | 
			
		||||
YAML.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- The `App.Action` and `Command.Action` now prefer a return signature of
 | 
			
		||||
`func(*cli.Context) error`, as defined by `cli.ActionFunc`.  If a non-nil
 | 
			
		||||
`error` is returned, there may be two outcomes:
 | 
			
		||||
    - If the error fulfills `cli.ExitCoder`, then `os.Exit` will be called
 | 
			
		||||
    automatically
 | 
			
		||||
    - Else the error is bubbled up and returned from `App.Run`
 | 
			
		||||
- Specifying an `Action` with the legacy return signature of
 | 
			
		||||
`func(*cli.Context)` will produce a deprecation message to stderr
 | 
			
		||||
- Specifying an `Action` that is not a `func` type will produce a non-zero exit
 | 
			
		||||
from `App.Run`
 | 
			
		||||
- Specifying an `Action` func that has an invalid (input) signature will
 | 
			
		||||
produce a non-zero exit from `App.Run`
 | 
			
		||||
 | 
			
		||||
### Deprecated
 | 
			
		||||
- <a name="deprecated-cli-app-runandexitonerror"></a>
 | 
			
		||||
`cli.App.RunAndExitOnError`, which should now be done by returning an error
 | 
			
		||||
that fulfills `cli.ExitCoder` to `cli.App.Run`.
 | 
			
		||||
- <a name="deprecated-cli-app-action-signature"></a> the legacy signature for
 | 
			
		||||
`cli.App.Action` of `func(*cli.Context)`, which should now have a return
 | 
			
		||||
signature of `func(*cli.Context) error`, as defined by `cli.ActionFunc`.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Added missing `*cli.Context.GlobalFloat64` method
 | 
			
		||||
 | 
			
		||||
## [1.14.0] - 2016-04-03 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Codebeat badge
 | 
			
		||||
- Support for categorization via `CategorizedHelp` and `Categories` on app.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Use `filepath.Base` instead of `path.Base` in `Name` and `HelpName`.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Ensure version is not shown in help text when `HideVersion` set.
 | 
			
		||||
 | 
			
		||||
## [1.13.0] - 2016-03-06 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- YAML file input support.
 | 
			
		||||
- `NArg` method on context.
 | 
			
		||||
 | 
			
		||||
## [1.12.0] - 2016-02-17 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Custom usage error handling.
 | 
			
		||||
- Custom text support in `USAGE` section of help output.
 | 
			
		||||
- Improved help messages for empty strings.
 | 
			
		||||
- AppVeyor CI configuration.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Removed `panic` from default help printer func.
 | 
			
		||||
- De-duping and optimizations.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Correctly handle `Before`/`After` at command level when no subcommands.
 | 
			
		||||
- Case of literal `-` argument causing flag reordering.
 | 
			
		||||
- Environment variable hints on Windows.
 | 
			
		||||
- Docs updates.
 | 
			
		||||
 | 
			
		||||
## [1.11.1] - 2015-12-21 (backfilled 2016-04-25)
 | 
			
		||||
### Changed
 | 
			
		||||
- Use `path.Base` in `Name` and `HelpName`
 | 
			
		||||
- Export `GetName` on flag types.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Flag parsing when skipping is enabled.
 | 
			
		||||
- Test output cleanup.
 | 
			
		||||
- Move completion check to account for empty input case.
 | 
			
		||||
 | 
			
		||||
## [1.11.0] - 2015-11-15 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Destination scan support for flags.
 | 
			
		||||
- Testing against `tip` in Travis CI config.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Go version in Travis CI config.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Removed redundant tests.
 | 
			
		||||
- Use correct example naming in tests.
 | 
			
		||||
 | 
			
		||||
## [1.10.2] - 2015-10-29 (backfilled 2016-04-25)
 | 
			
		||||
### Fixed
 | 
			
		||||
- Remove unused var in bash completion.
 | 
			
		||||
 | 
			
		||||
## [1.10.1] - 2015-10-21 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Coverage and reference logos in README.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Use specified values in help and version parsing.
 | 
			
		||||
- Only display app version and help message once.
 | 
			
		||||
 | 
			
		||||
## [1.10.0] - 2015-10-06 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- More tests for existing functionality.
 | 
			
		||||
- `ArgsUsage` at app and command level for help text flexibility.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Honor `HideHelp` and `HideVersion` in `App.Run`.
 | 
			
		||||
- Remove juvenile word from README.
 | 
			
		||||
 | 
			
		||||
## [1.9.0] - 2015-09-08 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- `FullName` on command with accompanying help output update.
 | 
			
		||||
- Set default `$PROG` in bash completion.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Docs formatting.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Removed self-referential imports in tests.
 | 
			
		||||
 | 
			
		||||
## [1.8.0] - 2015-06-30 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Support for `Copyright` at app level.
 | 
			
		||||
- `Parent` func at context level to walk up context lineage.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Global flag processing at top level.
 | 
			
		||||
 | 
			
		||||
## [1.7.1] - 2015-06-11 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Aggregate errors from `Before`/`After` funcs.
 | 
			
		||||
- Doc comments on flag structs.
 | 
			
		||||
- Include non-global flags when checking version and help.
 | 
			
		||||
- Travis CI config updates.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Ensure slice type flags have non-nil values.
 | 
			
		||||
- Collect global flags from the full command hierarchy.
 | 
			
		||||
- Docs prose.
 | 
			
		||||
 | 
			
		||||
## [1.7.0] - 2015-05-03 (backfilled 2016-04-25)
 | 
			
		||||
### Changed
 | 
			
		||||
- `HelpPrinter` signature includes output writer.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Specify go 1.1+ in docs.
 | 
			
		||||
- Set `Writer` when running command as app.
 | 
			
		||||
 | 
			
		||||
## [1.6.0] - 2015-03-23 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Multiple author support.
 | 
			
		||||
- `NumFlags` at context level.
 | 
			
		||||
- `Aliases` at command level.
 | 
			
		||||
 | 
			
		||||
### Deprecated
 | 
			
		||||
- `ShortName` at command level.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Subcommand help output.
 | 
			
		||||
- Backward compatible support for deprecated `Author` and `Email` fields.
 | 
			
		||||
- Docs regarding `Names`/`Aliases`.
 | 
			
		||||
 | 
			
		||||
## [1.5.0] - 2015-02-20 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- `After` hook func support at app and command level.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Use parsed context when running command as subcommand.
 | 
			
		||||
- Docs prose.
 | 
			
		||||
 | 
			
		||||
## [1.4.1] - 2015-01-09 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Support for hiding `-h / --help` flags, but not `help` subcommand.
 | 
			
		||||
- Stop flag parsing after `--`.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Help text for generic flags to specify single value.
 | 
			
		||||
- Use double quotes in output for defaults.
 | 
			
		||||
- Use `ParseInt` instead of `ParseUint` for int environment var values.
 | 
			
		||||
- Use `0` as base when parsing int environment var values.
 | 
			
		||||
 | 
			
		||||
## [1.4.0] - 2014-12-12 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Support for environment variable lookup "cascade".
 | 
			
		||||
- Support for `Stdout` on app for output redirection.
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
- Print command help instead of app help in `ShowCommandHelp`.
 | 
			
		||||
 | 
			
		||||
## [1.3.1] - 2014-11-13 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- Docs and example code updates.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Default `-v / --version` flag made optional.
 | 
			
		||||
 | 
			
		||||
## [1.3.0] - 2014-08-10 (backfilled 2016-04-25)
 | 
			
		||||
### Added
 | 
			
		||||
- `FlagNames` at context level.
 | 
			
		||||
- Exposed `VersionPrinter` var for more control over version output.
 | 
			
		||||
- Zsh completion hook.
 | 
			
		||||
- `AUTHOR` section in default app help template.
 | 
			
		||||
- Contribution guidelines.
 | 
			
		||||
- `DurationFlag` type.
 | 
			
		||||
 | 
			
		||||
## [1.2.0] - 2014-08-02
 | 
			
		||||
### Added
 | 
			
		||||
- Support for environment variable defaults on flags plus tests.
 | 
			
		||||
 | 
			
		||||
## [1.1.0] - 2014-07-15
 | 
			
		||||
### Added
 | 
			
		||||
- Bash completion.
 | 
			
		||||
- Optional hiding of built-in help command.
 | 
			
		||||
- Optional skipping of flag parsing at command level.
 | 
			
		||||
- `Author`, `Email`, and `Compiled` metadata on app.
 | 
			
		||||
- `Before` hook func support at app and command level.
 | 
			
		||||
- `CommandNotFound` func support at app level.
 | 
			
		||||
- Command reference available on context.
 | 
			
		||||
- `GenericFlag` type.
 | 
			
		||||
- `Float64Flag` type.
 | 
			
		||||
- `BoolTFlag` type.
 | 
			
		||||
- `IsSet` flag helper on context.
 | 
			
		||||
- More flag lookup funcs at context level.
 | 
			
		||||
- More tests & docs.
 | 
			
		||||
 | 
			
		||||
### Changed
 | 
			
		||||
- Help template updates to account for presence/absence of flags.
 | 
			
		||||
- Separated subcommand help template.
 | 
			
		||||
- Exposed `HelpPrinter` var for more control over help output.
 | 
			
		||||
 | 
			
		||||
## [1.0.0] - 2013-11-01
 | 
			
		||||
### Added
 | 
			
		||||
- `help` flag in default app flag set and each command flag set.
 | 
			
		||||
- Custom handling of argument parsing errors.
 | 
			
		||||
- Command lookup by name at app level.
 | 
			
		||||
- `StringSliceFlag` type and supporting `StringSlice` type.
 | 
			
		||||
- `IntSliceFlag` type and supporting `IntSlice` type.
 | 
			
		||||
- Slice type flag lookups by name at context level.
 | 
			
		||||
- Export of app and command help functions.
 | 
			
		||||
- More tests & docs.
 | 
			
		||||
 | 
			
		||||
## 0.1.0 - 2013-07-22
 | 
			
		||||
### Added
 | 
			
		||||
- Initial implementation.
 | 
			
		||||
 | 
			
		||||
[Unreleased]: https://github.com/urfave/cli/compare/v1.18.0...HEAD
 | 
			
		||||
[1.18.0]: https://github.com/urfave/cli/compare/v1.17.0...v1.18.0
 | 
			
		||||
[1.17.0]: https://github.com/urfave/cli/compare/v1.16.0...v1.17.0
 | 
			
		||||
[1.16.0]: https://github.com/urfave/cli/compare/v1.15.0...v1.16.0
 | 
			
		||||
[1.15.0]: https://github.com/urfave/cli/compare/v1.14.0...v1.15.0
 | 
			
		||||
[1.14.0]: https://github.com/urfave/cli/compare/v1.13.0...v1.14.0
 | 
			
		||||
[1.13.0]: https://github.com/urfave/cli/compare/v1.12.0...v1.13.0
 | 
			
		||||
[1.12.0]: https://github.com/urfave/cli/compare/v1.11.1...v1.12.0
 | 
			
		||||
[1.11.1]: https://github.com/urfave/cli/compare/v1.11.0...v1.11.1
 | 
			
		||||
[1.11.0]: https://github.com/urfave/cli/compare/v1.10.2...v1.11.0
 | 
			
		||||
[1.10.2]: https://github.com/urfave/cli/compare/v1.10.1...v1.10.2
 | 
			
		||||
[1.10.1]: https://github.com/urfave/cli/compare/v1.10.0...v1.10.1
 | 
			
		||||
[1.10.0]: https://github.com/urfave/cli/compare/v1.9.0...v1.10.0
 | 
			
		||||
[1.9.0]: https://github.com/urfave/cli/compare/v1.8.0...v1.9.0
 | 
			
		||||
[1.8.0]: https://github.com/urfave/cli/compare/v1.7.1...v1.8.0
 | 
			
		||||
[1.7.1]: https://github.com/urfave/cli/compare/v1.7.0...v1.7.1
 | 
			
		||||
[1.7.0]: https://github.com/urfave/cli/compare/v1.6.0...v1.7.0
 | 
			
		||||
[1.6.0]: https://github.com/urfave/cli/compare/v1.5.0...v1.6.0
 | 
			
		||||
[1.5.0]: https://github.com/urfave/cli/compare/v1.4.1...v1.5.0
 | 
			
		||||
[1.4.1]: https://github.com/urfave/cli/compare/v1.4.0...v1.4.1
 | 
			
		||||
[1.4.0]: https://github.com/urfave/cli/compare/v1.3.1...v1.4.0
 | 
			
		||||
[1.3.1]: https://github.com/urfave/cli/compare/v1.3.0...v1.3.1
 | 
			
		||||
[1.3.0]: https://github.com/urfave/cli/compare/v1.2.0...v1.3.0
 | 
			
		||||
[1.2.0]: https://github.com/urfave/cli/compare/v1.1.0...v1.2.0
 | 
			
		||||
[1.1.0]: https://github.com/urfave/cli/compare/v1.0.0...v1.1.0
 | 
			
		||||
[1.0.0]: https://github.com/urfave/cli/compare/v0.1.0...v1.0.0
 | 
			
		||||
							
								
								
									
										1364
									
								
								vendor/github.com/urfave/cli/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1364
									
								
								vendor/github.com/urfave/cli/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										24
									
								
								vendor/github.com/urfave/cli/appveyor.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/urfave/cli/appveyor.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
version: "{build}"
 | 
			
		||||
 | 
			
		||||
os: Windows Server 2012 R2
 | 
			
		||||
 | 
			
		||||
clone_folder: c:\gopath\src\github.com\urfave\cli
 | 
			
		||||
 | 
			
		||||
environment:
 | 
			
		||||
  GOPATH: C:\gopath
 | 
			
		||||
  GOVERSION: 1.6
 | 
			
		||||
  PYTHON: C:\Python27-x64
 | 
			
		||||
  PYTHON_VERSION: 2.7.x
 | 
			
		||||
  PYTHON_ARCH: 64
 | 
			
		||||
 | 
			
		||||
install:
 | 
			
		||||
- set PATH=%GOPATH%\bin;C:\go\bin;%PATH%
 | 
			
		||||
- go version
 | 
			
		||||
- go env
 | 
			
		||||
- go get github.com/urfave/gfmrun/...
 | 
			
		||||
- go get -v -t ./...
 | 
			
		||||
 | 
			
		||||
build_script:
 | 
			
		||||
- python runtests vet
 | 
			
		||||
- python runtests test
 | 
			
		||||
- python runtests gfmrun
 | 
			
		||||
							
								
								
									
										93
									
								
								vendor/github.com/urfave/cli/flag-types.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								vendor/github.com/urfave/cli/flag-types.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Bool",
 | 
			
		||||
    "type": "bool",
 | 
			
		||||
    "value": false,
 | 
			
		||||
    "context_default": "false",
 | 
			
		||||
    "parser": "strconv.ParseBool(f.Value.String())"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "BoolT",
 | 
			
		||||
    "type": "bool",
 | 
			
		||||
    "value": false,
 | 
			
		||||
    "doctail": " that is true by default",
 | 
			
		||||
    "context_default": "false",
 | 
			
		||||
    "parser": "strconv.ParseBool(f.Value.String())"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Duration",
 | 
			
		||||
    "type": "time.Duration",
 | 
			
		||||
    "doctail": " (see https://golang.org/pkg/time/#ParseDuration)",
 | 
			
		||||
    "context_default": "0",
 | 
			
		||||
    "parser": "time.ParseDuration(f.Value.String())"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Float64",
 | 
			
		||||
    "type": "float64",
 | 
			
		||||
    "context_default": "0",
 | 
			
		||||
    "parser": "strconv.ParseFloat(f.Value.String(), 64)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Generic",
 | 
			
		||||
    "type": "Generic",
 | 
			
		||||
    "dest": false,
 | 
			
		||||
    "context_default": "nil",
 | 
			
		||||
    "context_type": "interface{}"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Int64",
 | 
			
		||||
    "type": "int64",
 | 
			
		||||
    "context_default": "0",
 | 
			
		||||
    "parser": "strconv.ParseInt(f.Value.String(), 0, 64)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Int",
 | 
			
		||||
    "type": "int",
 | 
			
		||||
    "context_default": "0",
 | 
			
		||||
    "parser": "strconv.ParseInt(f.Value.String(), 0, 64)",
 | 
			
		||||
    "parser_cast": "int(parsed)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "IntSlice",
 | 
			
		||||
    "type": "*IntSlice",
 | 
			
		||||
    "dest": false,
 | 
			
		||||
    "context_default": "nil",
 | 
			
		||||
    "context_type": "[]int",
 | 
			
		||||
    "parser": "(f.Value.(*IntSlice)).Value(), error(nil)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Int64Slice",
 | 
			
		||||
    "type": "*Int64Slice",
 | 
			
		||||
    "dest": false,
 | 
			
		||||
    "context_default": "nil",
 | 
			
		||||
    "context_type": "[]int64",
 | 
			
		||||
    "parser": "(f.Value.(*Int64Slice)).Value(), error(nil)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "String",
 | 
			
		||||
    "type": "string",
 | 
			
		||||
    "context_default": "\"\"",
 | 
			
		||||
    "parser": "f.Value.String(), error(nil)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "StringSlice",
 | 
			
		||||
    "type": "*StringSlice",
 | 
			
		||||
    "dest": false,
 | 
			
		||||
    "context_default": "nil",
 | 
			
		||||
    "context_type": "[]string",
 | 
			
		||||
    "parser": "(f.Value.(*StringSlice)).Value(), error(nil)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Uint64",
 | 
			
		||||
    "type": "uint64",
 | 
			
		||||
    "context_default": "0",
 | 
			
		||||
    "parser": "strconv.ParseUint(f.Value.String(), 0, 64)"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Uint",
 | 
			
		||||
    "type": "uint",
 | 
			
		||||
    "context_default": "0",
 | 
			
		||||
    "parser": "strconv.ParseUint(f.Value.String(), 0, 64)",
 | 
			
		||||
    "parser_cast": "uint(parsed)"
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										248
									
								
								vendor/github.com/urfave/cli/generate-flag-types
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										248
									
								
								vendor/github.com/urfave/cli/generate-flag-types
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,248 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
"""
 | 
			
		||||
The flag types that ship with the cli library have many things in common, and
 | 
			
		||||
so we can take advantage of the `go generate` command to create much of the
 | 
			
		||||
source code from a list of definitions.  These definitions attempt to cover
 | 
			
		||||
the parts that vary between flag types, and should evolve as needed.
 | 
			
		||||
 | 
			
		||||
An example of the minimum definition needed is:
 | 
			
		||||
 | 
			
		||||
    {
 | 
			
		||||
      "name": "SomeType",
 | 
			
		||||
      "type": "sometype",
 | 
			
		||||
      "context_default": "nil"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
In this example, the code generated for the `cli` package will include a type
 | 
			
		||||
named `SomeTypeFlag` that is expected to wrap a value of type `sometype`.
 | 
			
		||||
Fetching values by name via `*cli.Context` will default to a value of `nil`.
 | 
			
		||||
 | 
			
		||||
A more complete, albeit somewhat redundant, example showing all available
 | 
			
		||||
definition keys is:
 | 
			
		||||
 | 
			
		||||
    {
 | 
			
		||||
      "name": "VeryMuchType",
 | 
			
		||||
      "type": "*VeryMuchType",
 | 
			
		||||
      "value": true,
 | 
			
		||||
      "dest": false,
 | 
			
		||||
      "doctail": " which really only wraps a []float64, oh well!",
 | 
			
		||||
      "context_type": "[]float64",
 | 
			
		||||
      "context_default": "nil",
 | 
			
		||||
      "parser": "parseVeryMuchType(f.Value.String())",
 | 
			
		||||
      "parser_cast": "[]float64(parsed)"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
The meaning of each field is as follows:
 | 
			
		||||
 | 
			
		||||
               name (string) - The type "name", which will be suffixed with
 | 
			
		||||
                               `Flag` when generating the type definition
 | 
			
		||||
                               for `cli` and the wrapper type for `altsrc`
 | 
			
		||||
               type (string) - The type that the generated `Flag` type for `cli`
 | 
			
		||||
                               is expected to "contain" as its `.Value` member
 | 
			
		||||
                value (bool) - Should the generated `cli` type have a `Value`
 | 
			
		||||
                               member?
 | 
			
		||||
                 dest (bool) - Should the generated `cli` type support a
 | 
			
		||||
                               destination pointer?
 | 
			
		||||
            doctail (string) - Additional docs for the `cli` flag type comment
 | 
			
		||||
       context_type (string) - The literal type used in the `*cli.Context`
 | 
			
		||||
                               reader func signature
 | 
			
		||||
    context_default (string) - The literal value used as the default by the
 | 
			
		||||
                               `*cli.Context` reader funcs when no value is
 | 
			
		||||
                               present
 | 
			
		||||
             parser (string) - Literal code used to parse the flag `f`,
 | 
			
		||||
                               expected to have a return signature of
 | 
			
		||||
                               (value, error)
 | 
			
		||||
        parser_cast (string) - Literal code used to cast the `parsed` value
 | 
			
		||||
                               returned from the `parser` code
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
from __future__ import print_function, unicode_literals
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import json
 | 
			
		||||
import os
 | 
			
		||||
import subprocess
 | 
			
		||||
import sys
 | 
			
		||||
import tempfile
 | 
			
		||||
import textwrap
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class _FancyFormatter(argparse.ArgumentDefaultsHelpFormatter,
 | 
			
		||||
                      argparse.RawDescriptionHelpFormatter):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main(sysargs=sys.argv[:]):
 | 
			
		||||
    parser = argparse.ArgumentParser(
 | 
			
		||||
        description='Generate flag type code!',
 | 
			
		||||
        formatter_class=_FancyFormatter)
 | 
			
		||||
    parser.add_argument(
 | 
			
		||||
        'package',
 | 
			
		||||
        type=str, default='cli', choices=_WRITEFUNCS.keys(),
 | 
			
		||||
        help='Package for which flag types will be generated'
 | 
			
		||||
    )
 | 
			
		||||
    parser.add_argument(
 | 
			
		||||
        '-i', '--in-json',
 | 
			
		||||
        type=argparse.FileType('r'),
 | 
			
		||||
        default=sys.stdin,
 | 
			
		||||
        help='Input JSON file which defines each type to be generated'
 | 
			
		||||
    )
 | 
			
		||||
    parser.add_argument(
 | 
			
		||||
        '-o', '--out-go',
 | 
			
		||||
        type=argparse.FileType('w'),
 | 
			
		||||
        default=sys.stdout,
 | 
			
		||||
        help='Output file/stream to which generated source will be written'
 | 
			
		||||
    )
 | 
			
		||||
    parser.epilog = __doc__
 | 
			
		||||
 | 
			
		||||
    args = parser.parse_args(sysargs[1:])
 | 
			
		||||
    _generate_flag_types(_WRITEFUNCS[args.package], args.out_go, args.in_json)
 | 
			
		||||
    return 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _generate_flag_types(writefunc, output_go, input_json):
 | 
			
		||||
    types = json.load(input_json)
 | 
			
		||||
 | 
			
		||||
    tmp = tempfile.NamedTemporaryFile(suffix='.go', delete=False)
 | 
			
		||||
    writefunc(tmp, types)
 | 
			
		||||
    tmp.close()
 | 
			
		||||
 | 
			
		||||
    new_content = subprocess.check_output(
 | 
			
		||||
        ['goimports', tmp.name]
 | 
			
		||||
    ).decode('utf-8')
 | 
			
		||||
 | 
			
		||||
    print(new_content, file=output_go, end='')
 | 
			
		||||
    output_go.flush()
 | 
			
		||||
    os.remove(tmp.name)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _set_typedef_defaults(typedef):
 | 
			
		||||
    typedef.setdefault('doctail', '')
 | 
			
		||||
    typedef.setdefault('context_type', typedef['type'])
 | 
			
		||||
    typedef.setdefault('dest', True)
 | 
			
		||||
    typedef.setdefault('value', True)
 | 
			
		||||
    typedef.setdefault('parser', 'f.Value, error(nil)')
 | 
			
		||||
    typedef.setdefault('parser_cast', 'parsed')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _write_cli_flag_types(outfile, types):
 | 
			
		||||
    _fwrite(outfile, """\
 | 
			
		||||
        package cli
 | 
			
		||||
 | 
			
		||||
        // WARNING: This file is generated!
 | 
			
		||||
 | 
			
		||||
        """)
 | 
			
		||||
 | 
			
		||||
    for typedef in types:
 | 
			
		||||
        _set_typedef_defaults(typedef)
 | 
			
		||||
 | 
			
		||||
        _fwrite(outfile, """\
 | 
			
		||||
        // {name}Flag is a flag with type {type}{doctail}
 | 
			
		||||
        type {name}Flag struct {{
 | 
			
		||||
            Name string
 | 
			
		||||
            Usage string
 | 
			
		||||
            EnvVar string
 | 
			
		||||
            Hidden bool
 | 
			
		||||
        """.format(**typedef))
 | 
			
		||||
 | 
			
		||||
        if typedef['value']:
 | 
			
		||||
            _fwrite(outfile, """\
 | 
			
		||||
            Value {type}
 | 
			
		||||
            """.format(**typedef))
 | 
			
		||||
 | 
			
		||||
        if typedef['dest']:
 | 
			
		||||
            _fwrite(outfile, """\
 | 
			
		||||
            Destination *{type}
 | 
			
		||||
            """.format(**typedef))
 | 
			
		||||
 | 
			
		||||
        _fwrite(outfile, "\n}\n\n")
 | 
			
		||||
 | 
			
		||||
        _fwrite(outfile, """\
 | 
			
		||||
            // String returns a readable representation of this value
 | 
			
		||||
            // (for usage defaults)
 | 
			
		||||
            func (f {name}Flag) String() string {{
 | 
			
		||||
                return FlagStringer(f)
 | 
			
		||||
            }}
 | 
			
		||||
 | 
			
		||||
            // GetName returns the name of the flag
 | 
			
		||||
            func (f {name}Flag) GetName() string {{
 | 
			
		||||
                return f.Name
 | 
			
		||||
            }}
 | 
			
		||||
 | 
			
		||||
            // {name} looks up the value of a local {name}Flag, returns
 | 
			
		||||
            // {context_default} if not found
 | 
			
		||||
            func (c *Context) {name}(name string) {context_type} {{
 | 
			
		||||
                return lookup{name}(name, c.flagSet)
 | 
			
		||||
            }}
 | 
			
		||||
 | 
			
		||||
            // Global{name} looks up the value of a global {name}Flag, returns
 | 
			
		||||
            // {context_default} if not found
 | 
			
		||||
            func (c *Context) Global{name}(name string) {context_type} {{
 | 
			
		||||
                if fs := lookupGlobalFlagSet(name, c); fs != nil {{
 | 
			
		||||
                    return lookup{name}(name, fs)
 | 
			
		||||
                }}
 | 
			
		||||
                return {context_default}
 | 
			
		||||
            }}
 | 
			
		||||
 | 
			
		||||
            func lookup{name}(name string, set *flag.FlagSet) {context_type} {{
 | 
			
		||||
                f := set.Lookup(name)
 | 
			
		||||
                if f != nil {{
 | 
			
		||||
                    parsed, err := {parser}
 | 
			
		||||
                    if err != nil {{
 | 
			
		||||
                        return {context_default}
 | 
			
		||||
                    }}
 | 
			
		||||
                    return {parser_cast}
 | 
			
		||||
                }}
 | 
			
		||||
                return {context_default}
 | 
			
		||||
            }}
 | 
			
		||||
            """.format(**typedef))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _write_altsrc_flag_types(outfile, types):
 | 
			
		||||
    _fwrite(outfile, """\
 | 
			
		||||
        package altsrc
 | 
			
		||||
 | 
			
		||||
        import (
 | 
			
		||||
            "gopkg.in/urfave/cli.v1"
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        // WARNING: This file is generated!
 | 
			
		||||
 | 
			
		||||
        """)
 | 
			
		||||
 | 
			
		||||
    for typedef in types:
 | 
			
		||||
        _set_typedef_defaults(typedef)
 | 
			
		||||
 | 
			
		||||
        _fwrite(outfile, """\
 | 
			
		||||
        // {name}Flag is the flag type that wraps cli.{name}Flag to allow
 | 
			
		||||
        // for other values to be specified
 | 
			
		||||
        type {name}Flag struct {{
 | 
			
		||||
            cli.{name}Flag
 | 
			
		||||
            set *flag.FlagSet
 | 
			
		||||
        }}
 | 
			
		||||
 | 
			
		||||
        // New{name}Flag creates a new {name}Flag
 | 
			
		||||
        func New{name}Flag(fl cli.{name}Flag) *{name}Flag {{
 | 
			
		||||
            return &{name}Flag{{{name}Flag: fl, set: nil}}
 | 
			
		||||
        }}
 | 
			
		||||
 | 
			
		||||
        // Apply saves the flagSet for later usage calls, then calls the
 | 
			
		||||
        // wrapped {name}Flag.Apply
 | 
			
		||||
        func (f *{name}Flag) Apply(set *flag.FlagSet) {{
 | 
			
		||||
            f.set = set
 | 
			
		||||
            f.{name}Flag.Apply(set)
 | 
			
		||||
        }}
 | 
			
		||||
        """.format(**typedef))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _fwrite(outfile, text):
 | 
			
		||||
    print(textwrap.dedent(text), end='', file=outfile)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
_WRITEFUNCS = {
 | 
			
		||||
    'cli': _write_cli_flag_types,
 | 
			
		||||
    'altsrc': _write_altsrc_flag_types
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    sys.exit(main())
 | 
			
		||||
							
								
								
									
										122
									
								
								vendor/github.com/urfave/cli/runtests
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								vendor/github.com/urfave/cli/runtests
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,122 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
from __future__ import print_function
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import os
 | 
			
		||||
import sys
 | 
			
		||||
import tempfile
 | 
			
		||||
 | 
			
		||||
from subprocess import check_call, check_output
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PACKAGE_NAME = os.environ.get(
 | 
			
		||||
    'CLI_PACKAGE_NAME', 'github.com/urfave/cli'
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main(sysargs=sys.argv[:]):
 | 
			
		||||
    targets = {
 | 
			
		||||
        'vet': _vet,
 | 
			
		||||
        'test': _test,
 | 
			
		||||
        'gfmrun': _gfmrun,
 | 
			
		||||
        'toc': _toc,
 | 
			
		||||
        'gen': _gen,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    parser = argparse.ArgumentParser()
 | 
			
		||||
    parser.add_argument(
 | 
			
		||||
        'target', nargs='?', choices=tuple(targets.keys()), default='test'
 | 
			
		||||
    )
 | 
			
		||||
    args = parser.parse_args(sysargs[1:])
 | 
			
		||||
 | 
			
		||||
    targets[args.target]()
 | 
			
		||||
    return 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _test():
 | 
			
		||||
    if check_output('go version'.split()).split()[2] < 'go1.2':
 | 
			
		||||
        _run('go test -v .')
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    coverprofiles = []
 | 
			
		||||
    for subpackage in ['', 'altsrc']:
 | 
			
		||||
        coverprofile = 'cli.coverprofile'
 | 
			
		||||
        if subpackage != '':
 | 
			
		||||
            coverprofile = '{}.coverprofile'.format(subpackage)
 | 
			
		||||
 | 
			
		||||
        coverprofiles.append(coverprofile)
 | 
			
		||||
 | 
			
		||||
        _run('go test -v'.split() + [
 | 
			
		||||
            '-coverprofile={}'.format(coverprofile),
 | 
			
		||||
            ('{}/{}'.format(PACKAGE_NAME, subpackage)).rstrip('/')
 | 
			
		||||
        ])
 | 
			
		||||
 | 
			
		||||
    combined_name = _combine_coverprofiles(coverprofiles)
 | 
			
		||||
    _run('go tool cover -func={}'.format(combined_name))
 | 
			
		||||
    os.remove(combined_name)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _gfmrun():
 | 
			
		||||
    go_version = check_output('go version'.split()).split()[2]
 | 
			
		||||
    if go_version < 'go1.3':
 | 
			
		||||
        print('runtests: skip on {}'.format(go_version), file=sys.stderr)
 | 
			
		||||
        return
 | 
			
		||||
    _run(['gfmrun', '-c', str(_gfmrun_count()), '-s', 'README.md'])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _vet():
 | 
			
		||||
    _run('go vet ./...')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _toc():
 | 
			
		||||
    _run('node_modules/.bin/markdown-toc -i README.md')
 | 
			
		||||
    _run('git diff --exit-code')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _gen():
 | 
			
		||||
    go_version = check_output('go version'.split()).split()[2]
 | 
			
		||||
    if go_version < 'go1.5':
 | 
			
		||||
        print('runtests: skip on {}'.format(go_version), file=sys.stderr)
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    _run('go generate ./...')
 | 
			
		||||
    _run('git diff --exit-code')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _run(command):
 | 
			
		||||
    if hasattr(command, 'split'):
 | 
			
		||||
        command = command.split()
 | 
			
		||||
    print('runtests: {}'.format(' '.join(command)), file=sys.stderr)
 | 
			
		||||
    check_call(command)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _gfmrun_count():
 | 
			
		||||
    with open('README.md') as infile:
 | 
			
		||||
        lines = infile.read().splitlines()
 | 
			
		||||
        return len(filter(_is_go_runnable, lines))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _is_go_runnable(line):
 | 
			
		||||
    return line.startswith('package main')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _combine_coverprofiles(coverprofiles):
 | 
			
		||||
    combined = tempfile.NamedTemporaryFile(
 | 
			
		||||
        suffix='.coverprofile', delete=False
 | 
			
		||||
    )
 | 
			
		||||
    combined.write('mode: set\n')
 | 
			
		||||
 | 
			
		||||
    for coverprofile in coverprofiles:
 | 
			
		||||
        with open(coverprofile, 'r') as infile:
 | 
			
		||||
            for line in infile.readlines():
 | 
			
		||||
                if not line.startswith('mode: '):
 | 
			
		||||
                    combined.write(line)
 | 
			
		||||
 | 
			
		||||
    combined.flush()
 | 
			
		||||
    name = combined.name
 | 
			
		||||
    combined.close()
 | 
			
		||||
    return name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    sys.exit(main())
 | 
			
		||||
		Reference in New Issue
	
	Block a user