Fixes#144: behavior of add_copy mode during add.
- correctly handles `add_copy` mode and configuration,
- adds option top force 'copy' mode in `add` command,
- reverts default to `copy` instead of move for the `add` command,
- fixes assumption in tests about the default,
- do not try to delete the source when it is an URL,
- set default to `copy` during `import` commands and provides option for `move` or `link` alternatives.
Handle arXiv errors and other improvements.
- handles old/new style arxiv references
- normalize arXiv citekeys
- improves error handling of doi/isbn (raise Exception if an HTTP status is detected).
- fix the isbn parse test that was incorrectly using doi2bibtex.
- add feedparser to the requirements.txt file.
- allows to run the tests using pytest.
- correctly handles add_copy mode and configuration,
- add option top force 'copy' mode (since the default had been changed
in between from 'copy' to 'move' this is now needed),
- fixes assumption in one test that the default is 'copy' (in other
words the test was broken and ensuring that the functionality was broken
too.),
- do not try to delete the source when it is an URL.
The mock system relies on the PUBS_TESTS_MODE environmental variable.
See the `tests/mock_requests.py` code for details.
By defaults, fast mock tests are used with data pre-fetched from real
calls.
- Make `python setup.py test work`. remove test/requirements.txt.
fix#154
- Detect if no connection is present, and skip tests if not.
stop-gap measure for issue #147
* This fixes the logic in the `pubs add` command so that an arxiv ID doesn't
overwrite a DOI. This also changes the logic so that if an invalid DOI, ISBN,
or arXiv ID is provided the program will raise an error.
* The code now uses the bibtexparser package to generate the bibtex file for
arxiv papers.
* A dedicated exception is added for references that can't be found.
Because of the mechanism for catching exceptions in pubs, the
UnexpectedInput exception raised by FakeInput never reached the catch
statement in the CommandTestCase and raised a FakeSystemExit instead.
This commit monkey-patches the exception handler in the ui at the same
time as the patching of the input functions to ignore UnexptectedInput
at the ui level.