assets: less flavor of bootstrap

* Installing less and grunt-contrib-less.

* Adding the filters parameter on the assets.
  `{% css "foo.css", "00-bundle", "less" %}`

* Adding some configuration keys.
  LESS_BIN which must be pointing to lessc.
  CLEANCSS_BIN ditto for CleanCSS
  LESS_RUN_IN_DEBUG (default True) to enable or disable the less
  bundling in DEBUG. ASSETS_DEBUG must be also set to True for
  it to work.

* Renamed base.css to base.less and it includes the less files from
  Bootstrap and Font-Awesome.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
docs: fix of sphinx warnings.

* Fixing all the warnings given by sphinx during compilation.

* Fixing the PEP8, PyFlakes and PEP257 warnings of the touched files.

* Adding some intersphinx.

* Reading the theme from docs/requirements.txt.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
merger: syntax fix

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
assets: fix bundle builder

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
assets: error logging if binary are missing

* Adding a check for LESS_BIN and CLEANCSS_BIN presence at startup.
  It switches to ASSETS_DEBUG=True if you ignore the error message.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reported-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
upgrader: fix for docstring style

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
elasticsearch: initial commit

Signed-off-by: Johnny Mariéthoz <Johnny.Mariethoz@rero.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
grunt: fix for prism CSS path

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Acked-by: Jiri Kuncar <jiri.kuncar@cern.ch>
datastructures: MutableMapping register SmartDict

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
messages: div in messages menu fix

Signed-off-by: Eirini Psallida <eirini.psallida@cern.ch>
base: absolute icon font path

* Forcing the font path to be absolute. Otherwise less.js is confused,
  the problem doesn't occur when the stylesheet it compiled though.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reported-by: Jan Åge Lavik <jan.age.lavik@cern.ch>
base: render field enhancement

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
groups: account settings fixes

* NOTE: please upgrade *SQLAlchemy-Utils*
  $ pip install --upgrade SQLAlchemy-Utils<0.24.0

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
utils: etree to dict translation reorganization

* Adds xmlhelpers to utils to handle custom XML.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
utils: import json from arxiv api

* Adds API to import JSON data from http://export.arxiv.org with a
  given ArXiv ID.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
arxiv: initial Flask extension commit

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
records: API for database querying with DOI

* Adds API to query the database with a DOI.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
travis: less verbose output

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
registry: keygetter value fix

* `register` method of `DictModuleAutoDiscoverySubRegistry` class
  gives original value of parameter `value` to the keygetter method
  as well as the modified value from valuegetter.

* NOTE If your registry.py is using DictModuleAutoDiscoverySubRegistry
  and you use your own keygetter method then please update your
  keygetter method to use all three parameters.

Co-authored-by: Jan Åge Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Graham R. Armstrong <graham.richard.armstrong@cern.ch>
workflows: registry fix for keygetter method

* `keygetter` method of WorkflowsRegistry updated for keygetter fix.

Co-authored-by: Jan Åge Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Graham R. Armstrong <graham.richard.armstrong@cern.ch>