API Docs¶
Invenio module for previewing files.
-
class
invenio_previewer.ext.
InvenioPreviewer
(app, **kwargs)[source]¶ Invenio-Previewer extension.
Extension initialization.
-
invenio_previewer.ext.
load_or_import_from_config
(key, app=None, default=None)[source]¶ Load or import value from config.
-
invenio_previewer.ext.
obj_or_import_string
(value, default=None)[source]¶ Import string or return object.
API¶
File reader utility.
-
class
invenio_previewer.api.
PreviewFile
(pid, record, fileobj)[source]¶ Preview file default implementation.
Default constructor.
Parameters: file – ObjectVersion instance from Invenio-Files-REST. -
bucket
¶ Get bucket.
-
filename
¶ Get filename.
-
size
¶ Get file size.
-
uri
¶ Get file download link.
Note
The URI generation assumes that you can download the file using the view
invenio_records_ui.<pid_type>_files
.
-
Proxies¶
Proxy for current previewer.
-
invenio_previewer.proxies.
current_previewer
= <LocalProxy unbound>¶ Proxy object to the current previewer extension.
Utils¶
Invenio Previewer Utilities.
Views¶
View method for Invenio-Records-UI for previewing files.
-
invenio_previewer.views.
blueprint
= <flask.blueprints.Blueprint object>¶ Blueprint used to register template and static folders.
-
invenio_previewer.views.
is_previewable
(extension)[source]¶ Test if a file can be previewed checking its extension.
-
invenio_previewer.views.
preview
(pid, record, template=None, **kwargs)[source]¶ Preview file for given record.
Plug this method into your
RECORDS_UI_ENDPOINTS
configuration:RECORDS_UI_ENDPOINTS = dict( recid=dict( # ... route='/records/<pid_value/preview/<path:filename>', view_imp='invenio_previewer.views.preview', record_class='invenio_records_files.api:Record', ) )
Webpack¶
JS/CSS bundles for Previewer.
-
invenio_previewer.webpack.
previewer
= <invenio_assets.webpack.WebpackThemeBundle object>¶ Bundle of webpack assets.
Previewers¶
CSV (d3.js)¶
Render a CSV file using d3.js.
-
invenio_previewer.extensions.csv_dthreejs.
can_preview
(file)[source]¶ Determine if the given file can be previewed.
Default¶
Default rendering returning a default web page.
JSON (prism.js)¶
Previews a JSON file.
-
invenio_previewer.extensions.json_prismjs.
can_preview
(file)[source]¶ Determine if the given file can be previewed.
-
invenio_previewer.extensions.json_prismjs.
preview
(file)[source]¶ Render the appropriate template with embed flag.
Markdown¶
Markdown rendering using mistune library.
PDF (pdf.js)¶
PDF previewer based on pdf.js.
Simple Images¶
Previews simple image files.
-
invenio_previewer.extensions.simple_image.
can_preview
(file)[source]¶ Determine if the given file can be previewed.
XML (prism.js)¶
Previews an XML file.
-
invenio_previewer.extensions.xml_prismjs.
can_preview
(file)[source]¶ Determine if the given file can be previewed.
-
invenio_previewer.extensions.xml_prismjs.
preview
(file)[source]¶ Render appropiate template with embed flag.