def process_push(self, request, user_profile, input_data, template_args, **kwargs): """ Set the notebook to articles """ node = kwargs['node'] nb = get_or_create_notebook(node) i = 0 # if not, create one for cell in nb.cells: # check for item corresponding try: cell_id = cell.metadata.gid except: cell.metadata.gid = get_new_uuid() cell_id = cell.metadata.gid try: cell_node = Item.objects.get(id=cell_id) except ObjectDoesNotExist: cell_node = Item(id=cell_id, parent=node, **kwargs['pipe']) if cell.cell_type == 'code': # content = u'' for output in cell.outputs: if output.output_type == 'stream' and 'stream' == 'stdout': content += output.get('text', u'') cell_node.content = content #if cell_node.content: # cell_node.visible = True #else: cell_node.visible = False #if not cell_node.title: # cell_node.title = 'Code' #if not cell_node.label: # cell_node.label = cell_node.title elif cell.cell_type == 'markdown': #cell_node.behavior = 'view' #cell_node.content = '<i>markdown rendered html</i>' cell_node.visible = True cell = markdown_to_item(cell_node, ''.join(cell.source)) cell_node.status = 'pushed' cell_node.order = i cell_node.save() i += 1 save_notebook(nb, node) # if not node.file: node.file = 'resource/'+node.id+'.ipynb' node.save() return HttpResponseRedirect(node.get_url()+'view/') return self.manage_item_pipe(request, user_profile, input_data, template_args, **kwargs)