540 Commits

Author SHA1 Message Date
Olivier Mangin
a5466c940e Prepare configuration loading for autocomplete.
In particular, tries to load configuration when no argument is given.
Also removes unused check option from load_conf.
2017-07-08 00:10:15 -04:00
Olivier Mangin
f6e0412306 Missing import in update. 2017-07-08 00:10:15 -04:00
Olivier Mangin
af73d4ed64 Basic autocompletion with argcomplete.
Only support pubs command completion.
2017-07-08 00:10:15 -04:00
Olivier Mangin
559d486236 Fix path not expanded for edit_file command.
In particular the issue was preventing notes from being edited.
2017-07-08 00:09:21 -04:00
Olivier Mangin
ce7eccf8b1 Adds LICENSE file 2017-07-06 11:40:53 -04:00
Olivier Mangin
f1f5343017 [readme] Adds website in authors. 2017-07-05 16:13:50 -04:00
Olivier Mangin
2370d0b783 [readme] Adds a short install section to the README. 2017-07-05 16:13:50 -04:00
Olivier Mangin
d7e25d07eb Merge pull request from d9w/pr1
Fixes default message for errors bug
2017-05-24 14:04:39 -04:00
Olivier Mangin
4ff87085ae Config spec update for empty editor value. 2017-05-24 13:58:04 -04:00
Olivier Mangin
6c2f0f6f8d Moves editor commands to ui to avoid using with wrong editor values.
For now, the editor_input and edit_file functions do not make sense
outside of the context of an ui. Having them in the content module
was confusing. (See issue fixed by a600855.)
2017-05-24 13:51:02 -04:00
Olivier Mangin
a600855c31 Fix calls to edit_file with wrong editor in conf and note commands.
Also replaces fix from PR .
2017-05-24 13:45:24 -04:00
Dennis Wilson
fbff9cd94c default message for errors bugfix 2017-05-24 14:18:39 +02:00
Olivier Mangin
a02f67f133 Minor improvement of error handling.
Also removes ignore of broken pipe from 5ca090668 since this is not
handling it the right way (see ).
2017-05-11 15:49:35 -04:00
Olivier Mangin
d4c18ad1a4 Fixes . 2017-05-11 15:34:14 -04:00
Olivier Mangin
bbf3d3d0c8 Merge pull request from tmearnest/master
fixed inverted conditional
2017-05-09 11:56:35 -04:00
Tyler Earnest
d465c35e89 fixed inverted conditional 2017-05-05 16:50:06 -05:00
Olivier Mangin
70e1169fe7 Simplifies test if binary mode. 2017-04-14 20:14:15 -04:00
Olivier Mangin
8ae339d870 Removes debug code and unused code. 2017-04-14 19:10:08 -04:00
Fabien C. Y. Benureau
0f84268ebf Honor custom pubsdoc in config 2016-06-06 00:25:27 +02:00
Fabien C. Y. Benureau
2aad93b526 Simplify, update the testsuite
Replace the in-house stubbing by the facilities offered
by pyfakefs for running tests. We don't use `io.open`
anymore, because pyfakefs does not stub it correctly.
We rely on a patched version of pyfakefs, as a few bug
remain in the official repo.
2016-06-05 21:48:19 +02:00
Fabien Benureau
dcfe429e42 Merge pull request from pubs/feat/cache
Add a cache to speed up commands.
2016-06-01 15:33:19 +02:00
Olivier Mangin
2859e4bc62 More refactoring to remove code duplication. Also adds tests. 2016-02-02 21:21:24 -05:00
Olivier Mangin
57a32e5601 Removes some code duplication. 2016-02-02 19:06:34 -05:00
Fabien Benureau
d9f24052fc Update bs4 code; removes warning 2016-01-31 06:57:04 +01:00
Fabien Benureau
22c7acde99 Rewrite cache in case of any problem 2016-01-23 02:31:20 +01:00
Fabien Benureau
ee3a7cd77d Travis uses tests/requirements.txt 2016-01-23 02:11:08 +01:00
Fabien Benureau
e5b898c5c2 Cache implemented
The implementation is designed to be robust to filesystems having integers
or nanosecond stat time.

Added a requirements.txt file for the tests:
`pip install -r tests/requirements.txt` to install the necessary packages
to run the tests.

Fix , Fix 
2016-01-23 02:03:02 +01:00
Fabien Benureau
9ad6d8db25 Simplified fake_env code
1. Removed the unicode wrapper around fake_env io
2. Overrided pyfakefs cStringIO with StringIO (Python 2.x)
3. copy_dir will copy file in binary file to the fake filesystem
   *unless* they are bib, yaml, txt or md files
4. ui.handle_exception() conserve traceback

Numerous unicode subtelties required diving into pyfakefs and configobj
source code. Unicode on Python 2.x is the worst.
2016-01-21 16:18:16 +01:00
Olivier Mangin
a7012f532d Merge pull request from pubs/feat/skippable_tests
Fix expectedFailure tests
2016-01-17 18:58:31 -05:00
Fabien Benureau
620eef4ace Fix expectedFailure tests 2016-01-17 02:42:56 +01:00
Fabien Benureau
e979aae85b Better rename and error dialogue
info() messages now print on stdout. warning() and error() still
print on stderr.

Fix 
2016-01-16 21:52:36 +01:00
Olivier Mangin
b4d066e1f9 Merge pull request from pubs/feat/better-exceptions
Better exceptions handling at the ui level.
2016-01-15 19:08:16 -05:00
Olivier Mangin
2d9fa9af94 Comments out failing test from . 2016-01-15 19:02:56 -05:00
Olivier Mangin
35214e3012 Fix using str instead of ustr for python2 compatibility. 2016-01-15 19:02:56 -05:00
Olivier Mangin
2720d13049 Moves test of config file creation to its own test. 2016-01-15 19:02:56 -05:00
Olivier Mangin
ecb1910084 Better error message on UnicodeDecodeError for reading text file.
Also renames read_file to read_text_file which is what is implemented.
Fixes .
2016-01-15 19:02:56 -05:00
Olivier Mangin
348bd6d64b FIX wrong access to debug configuration value.
Also adds the option to the config spec.
2016-01-15 19:02:56 -05:00
Olivier Mangin
ed2bbb4498 Removes generic handling of errors from commands.
The default behavior for commands is now to only catch exceptions that
must be handled specifically. This includes outputting a context
dependant message, cleaning up, etc. All other exceptions will be
handled by the ui.
2016-01-15 19:02:56 -05:00
Olivier Mangin
df8f0e6d6b FIX error handler.
Also fix alignments.
2016-01-15 19:02:56 -05:00
Olivier Mangin
6366f4bd01 Uses exception __string__, not __repr__ to carry message. 2016-01-15 19:02:56 -05:00
Olivier Mangin
b12c6297f0 Adds exception catching in main command. 2016-01-15 19:02:56 -05:00
Olivier Mangin
7f6dde2f0c Temporary fix ExpectedFailure does not handle SystemExit on python 2.
Actually the test not only is expected to fail but it misses a file
which causes an error instead of a failure on python 2. Should be
addressed by .
2016-01-15 19:02:56 -05:00
Olivier Mangin
e3df872e65 Updates for new version of pyfakefs.
Modules should now be imported from the pyfakefs package.
2016-01-15 19:02:43 -05:00
Olivier Mangin
9d0a800d8b Cleans up old imports of ConfigParser. 2016-01-15 16:45:06 -05:00
Fabien Benureau
3e3a671837 Remove bibtexparser unicode conversion
It was transforming "\&" into "&", rendering the output of
pubs export unsuitable for latex rendering.
2016-01-10 23:00:44 +01:00
Fabien Benureau
a5a653becd Support old bibtexparser keywords
So previous commit 666941d471 broke the current pip version
of bibtexparser (0.6.2), which does not have a
homegeneize_fields keyword. My bad and fixed!
2016-01-10 22:15:24 +01:00
Fabien Benureau
2db80c66ae Add volume to field ordering
Fix , which was annoying.
Any implementation of  should watch out for this.
2016-01-10 22:08:23 +01:00
Fabien Benureau
666941d471 Set bibtexparser homogenize_fields to True
The default changed from True to False. It is not explicitly set.
2016-01-10 22:04:58 +01:00
Fabien Benureau
98a2f1d646 Fix quadratic output in export 2016-01-10 19:40:01 +01:00
Fabien Benureau
a702d86a74 Make pubs doc subparsers required
Before, `pubs doc` alone would just exit without printing any help
2016-01-07 14:09:22 +01:00