def get_unique_media_list(node, idevice=None): '''Returns a list of media which is used only by this idevice''' block = block_factory(idevice.as_child()) media = block.media._js + block.media._css.get('all', []) # compressor is always loaded per default compressor_url = reverse('tinymce-compressor') if compressor_url in media: media.remove(compressor_url) for idevice in node.idevices.exclude(id=idevice.id): block = block_factory(idevice.as_child()) for js in block.media._js + block.media._css.get('all', []): if js in media: media.remove(js) return media
def get_unique_media_list(node, idevice=None): """Returns a list of media which is used only by this idevice""" block = block_factory(idevice.as_child()) media = block.media._js + block.media._css.get("all", []) # compressor is always loaded per default compressor_url = reverse("tinymce-compressor") if compressor_url in media: media.remove(compressor_url) for idevice in node.idevices.exclude(id=idevice.id): block = block_factory(idevice.as_child()) for js in block.media._js + block.media._css.get("all", []): if js in media: media.remove(js) return media
def test_idevice_factory(self): IDEVICE_ID = 1 self.root.add_idevice(self.IDEVICE_TYPE) test_idevice = Idevice.objects.get(id=IDEVICE_ID).as_child() block = block_factory(test_idevice) self.assertTrue("<textarea" in block.renderEdit())
def get_unique_media_list(node, idevice): """Returns a list of media which is used only by this idevice""" block = block_factory(idevice.as_child()) media = block.media js_modules = block.js_modules return { 'js': media._js, 'css': media._css, 'js_modules': js_modules }
def test_export_resource_substitution(self): RESOURCE = 'test.jpg' CONTENT = 'src="/exeapp/media/uploads/%s/%s"' % (self.package.user.username, RESOURCE) IDEVICE_ID = 1 self.root.add_idevice(self.IDEVICE_TYPE) test_idevice = Idevice.objects.get(id=IDEVICE_ID).as_child() test_idevice.content = CONTENT test_block = block_factory(test_idevice) self.assertTrue(RESOURCE in test_block.renderView())
def handle_action(self, idevice_id, action, data): '''Removes an iDevice or delegates action to it''' idevice = self.idevices.get(pk=idevice_id).as_child() from exeapp.views.blocks.blockfactory import block_factory block = block_factory(idevice) if action == 'delete': idevice.delete() return "" else: response = block.process(action, data) block.idevice.save() return response
def view_media(page, full_url): if full_url: return get_media_list(page.node) else: js = set() css = set() for idevice in page.node.idevices.all(): block = block_factory(idevice.as_child()) for each in block.media._js: js.add("<script src='{}'></script>".format(each.split('/')[-1])) for each in block.media._css.get('all', []): css.add("<link rel='stylesheet' href='{}' />".format( each.split('/')[-1])) return "\n".join(css) + "\n" + "\n".join(js)
def get_media_list(node, ajax=False): '''Returns the idevice-specific media list for a given node. Always includes tinymce compressor, since it can't be loaded dynamically''' # always load tinymce compressor media = forms.Media(js=[reverse('tinymce-compressor')]) for idevice in node.idevices.all(): idevice = idevice.as_child() block = block_factory(idevice) media += block.media #print "#" * 10 #print media._js if ajax: media._js.remove(reverse('tinymce-compressor')) return simplejson.dumps(media._js + media._css.get('all', [])) else: return str(media)
def get_media_list(node, ajax=False): """Returns the idevice-specific media list for a given node. Always includes tinymce compressor, since it can't be loaded dynamically""" # always load tinymce compressor media = forms.Media(js=[reverse("tinymce-compressor")]) for idevice in node.idevices.all(): idevice = idevice.as_child() block = block_factory(idevice) media += block.media # print "#" * 10 # print media._js if ajax: media._js.remove(reverse("tinymce-compressor")) return simplejson.dumps(media._js + media._css.get("all", [])) else: return str(media)
def __init__(self, node, depth, exporter, prev_page=None, next_page=None, has_children=False): """ Initialize """ self.depth = depth self.node = node self.exporter = exporter self.prev_page = prev_page self.next_page = next_page self.has_children = has_children self.name = self._generate_name() self.view_media = forms.Media() for idevice in node.idevices.all(): block = block_factory(idevice.as_child()) self.view_media += block.media
def get_media_list(node, ajax=False): """Returns the idevice-specific media list for a given node. Always includes tinymce compressor, since it can't be loaded dynamically""" media = forms.Media(js=[ "/static/ckeditor/ckeditor/ckeditor.js", "/static/filebrowser/js/FB_CKEditor.js" ]) js_modules = set() for idevice in node.idevices.all(): idevice = idevice.as_child() block = block_factory(idevice) media += block.media js_modules = js_modules.union(block.js_modules) if ajax: return simplejson.dumps({ "js": media._js, "css": media._css.get('all', []), "js_modules": list(js_modules) }) else: return str(media)
def get_media_list(node, ajax=False): """Returns the idevice-specific media list for a given node. Always includes tinymce compressor, since it can't be loaded dynamically""" media = forms.Media( js=["/static/ckeditor/ckeditor/ckeditor.js", "/static/filebrowser/js/FB_CKEditor.js"]) js_modules = set() for idevice in node.idevices.all(): idevice = idevice.as_child() block = block_factory(idevice) media += block.media js_modules = js_modules.union(block.js_modules) if ajax: return simplejson.dumps( { "js": media._js, "css": media._css.get('all', []), "js_modules": list(js_modules) } ) else: return str(media)
def export_idevice(idevice): '''Convinience filter, just renders calls render function of a block''' block = block_factory(idevice.as_child()) return block.renderView()
def get_unique_media_list(node, idevice): """Returns a list of media which is used only by this idevice""" block = block_factory(idevice.as_child()) media = block.media js_modules = block.js_modules return {'js': media._js, 'css': media._css, 'js_modules': js_modules}
def render_idevice(idevice): """Finds the leaf idevice and renders it""" leaf_idevice = idevice.as_child() block = block_factory(leaf_idevice) return render_to_string("exe/authoring_idevice_form.html", {'block' : block})
def render_idevice(idevice): """Finds the leaf idevice and renders it""" leaf_idevice = idevice.as_child() block = block_factory(leaf_idevice) return render_to_string("exe/authoring_idevice_form.html", {'block': block})