Cmdln.py is unmaintained for years and uses deprecated optparse.
Let's replace it with a simpler custom code. Also remove code
that generates man page, we'll replace it with a 3rd party tool.
The ':' character is used as a separator in Open Build Service
and constantly appears in directory names after running osc commands.
Windows do not support ':' as a valid character on file system.
This breaks not only osc but also basic commands such
as 'git clone' on a project that contains colons in paths.
That's why we decided to make osc unsupported on Windows.
* `.travis.yml`
- Reformatted for easier reading
- Used `before_*` statements instead of script chains
- Publish only source packages
* `setup.py`
- Reformatted for easier reading
- Use README contents for `long_description` to have a nice description on PyPI
- Added classifiers
- Added explicit package dependencies
* fixes#658
* fixes#708
Exchange individual return statements with a finally statement in the
big try/except statement in babysitter.py. If you return a different
value in the 'except' clause, it takes precedency over the 'finally'
clause (finally is executed before returning, naturally).
Revert a part of b3c5204, the do_main has to have at least one
argument, unless following exception will appear
osc.cmdln.CmdlnError: incorrect argcount for do_man(): takes 1, must
take 2 for 'argv' signature or 3+ for 'opts' signature
Signed-off-by: Petr Uzel <puzel@suse.cz>
Signed-off-by: Michal Vyskocil <mvyskocil@suse.cz>
Fixed serveral warnings from pychecker.py like such:
- Parameter ($) not used
- Local variable ($) not used
Including fixes like:
- remove not needed imports
- don't read apiurl in core.py from config if already available via
function parameter
- delPerson(): check for user as e.g. in addPerson()
fostering open source contributions says that it can discourage contribution by
conveying a false sense of "code ownership". Marking territory is negatively
affecting collaboration. See http://www.youtube.com/watch?v=ZSFDm3UYkeE
- make all subcommands functions -- so they can be used from outside (they
still print directly their output; they could become iterators later)
- deprecate 'init' subcommand
- 0.5
status:
- use new file metadata which provides checksum, size and mtime
- don't list unmodified files
- fix some conditions where status was too stupid so far
update:
- much faster now, since only new or changed files are downloaded
- print revision number
checkout:
- mark project directory as such (to be used later)
diff:
- faster, since 'status' is faster
- work against local copy
checkin:
- update package metadata from specfile
- fix argument handling
add:
- ignore .osc and other files
other changes:
- sanitize argument handling, so most commands can work with
arbitrary files/directories as arguments (work is always done per package)
- add history command (doesn't seem to be working yet)
- on first usage, ask for username password on first usage,
and store them in .oscrc (.netrc can still be used)
- add setup.py
- add osc-wrapper.py as a wrapper script, so the module can be used when
installed in the system as well as in the uninstalled source directory