227 Commits

Author SHA1 Message Date
Fabien C. Y. Benureau
6cccc021f8 Minor fix for isbn2index docstring 2017-08-06 18:02:24 -04:00
Fabien C. Y. Benureau
0942df3b50 Fix pubs conf command 2017-08-01 23:43:06 -04:00
Olivier Mangin
38fc68adbc Refactors filebroker to remove file duplication. 2017-07-22 13:35:13 -04:00
Olivier Mangin
983d1892e0 Removes unused imports. 2017-07-22 13:35:13 -04:00
Olivier Mangin
7b19a9dcdd Forces utf8 when no encoding in header for DOI request.
The default behavior from the requests library is to use the guess from
chardet which is not always reliable while doi.org seems to always
return utf8 encoded data. It's unlikely that this changes without also
updating the header.
2017-07-22 13:35:13 -04:00
Olivier Mangin
cf596206b0 FIX: Encode unicode before writing to file in python2.
This is necessary because _open returns a file descriptor in binary mode
for python2.
2017-07-22 13:35:13 -04:00
Olivier Mangin
81f2661593 Cosmit 2017-07-22 13:35:13 -04:00
Fabien C. Y. Benureau
1f224a90c7 Fixes websearch in Python 3 (fix #69) 2017-07-17 15:42:06 +02:00
Olivier Mangin
4ffd62fe9f [notes] Allow different file extension for note file (see #70). 2017-07-12 10:41:51 -04:00
Olivier Mangin
323fb8b674 Fixes indent and removes unused io import. 2017-07-11 17:13:39 -04:00
Fabien C. Y. Benureau
3b4cfe635d Fix tests for Python 2
Also, some cleanup in fake_env.py
2017-07-11 17:08:53 -04:00
Fabien C. Y. Benureau
66a91b3c0c Fix content._open for Python 2 2017-07-11 17:08:53 -04:00
Olivier Mangin
e129398311 Pass the config to plugins on parser modification to allow completion. 2017-07-08 00:10:15 -04:00
Olivier Mangin
92fb403871 Fix function in FakeModule. 2017-07-08 00:10:15 -04:00
Olivier Mangin
ce3ed1e52f Use ImportError for older python versions. 2017-07-08 00:10:15 -04:00
Olivier Mangin
e1a6ad2167 Adds basic tag completion. 2017-07-08 00:10:15 -04:00
Olivier Mangin
02c11aaaea Adds completion for citekeys. 2017-07-08 00:10:15 -04:00
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
d7e25d07eb Merge pull request #62 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 #63.
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 #60).
2017-05-11 15:49:35 -04:00
Olivier Mangin
d4c18ad1a4 Fixes #49. 2017-05-11 15:34:14 -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
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
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
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 #13, Fix #14
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
Fabien Benureau
e979aae85b Better rename and error dialogue
info() messages now print on stdout. warning() and error() still
print on stderr.

Fix #50
2016-01-16 21:52:36 +01:00
Olivier Mangin
35214e3012 Fix using str instead of ustr for python2 compatibility. 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 #51.
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
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 #40, which was annoying.
Any implementation of #33 should watch out for this.
2016-01-10 22:08:23 +01:00