Completed
Push — develop ( e7ff60...e3f0ff )
by
unknown
35s
created

inspect_ipynb_package()   B

Complexity

Conditions 3

Size

Total Lines 26

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
dl 0
loc 26
rs 8.8571
c 0
b 0
f 0
1
from __future__ import absolute_import, print_function, unicode_literals
2
3
import os
4
import re
5
import time
6
7
from datetime import datetime
8
9
import nbformat
10
11
from ..utils.notebook.data_uri import data_uri_from
12
from ..utils.notebook.inflection import parameterize
13
14
15
def inspect_ipynb_package(filename, fileobj, *args, **kwargs):
16
    notebook = nbformat.read(fileobj, nbformat.NO_CONVERT)
17
    summary = notebook['metadata'].get('summary', 'Jupyter Notebook')
18
    description = notebook['metadata'].get('description', 'Jupyter Notebook')
19
20
    package_data = {
21
        'name': re.sub('\-ipynb$', '', parameterize(os.path.basename(filename))),
22
        'summary': summary,
23
        'description': description,
24
    }
25
26
    if 'parser_args' in kwargs and kwargs['parser_args'].thumbnail:
27
        package_data['thumbnail'] = data_uri_from(kwargs['parser_args'].thumbnail)
28
29
    release_data = {
30
        'version': datetime.now().strftime('%Y.%m.%d.%H%M'),
31
        'summary': summary,
32
        'description': description,
33
    }
34
35
    file_data = {
36
        'basename': os.path.basename(filename),
37
        'attrs': {}
38
    }
39
40
    return package_data, release_data, file_data
41