コード例 #1
0
 def __init__(self, environ=None):
     """
     Initialize the serialization. Delete tiddlyweb.title to
     turn off HTMLPresenter.
     """
     HTMLSerialization.__init__(self, environ)
     del self.environ['tiddlyweb.title']
コード例 #2
0
    def list_tiddlers(self, bag):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, bag)

        try:
            name = self.environ['wsgiorg.routing_args'][1]['bag_name']
        except KeyError: # not a bag link
            return HTMLSerialization.list_tiddlers(self, bag)

        representation_link = '%s/bags/%s/tiddlers' % (
                self._server_prefix(), encode_name(bag.name))
        representations = self._tiddler_list_header(representation_link)
        user_object = get_user_object(self.environ)
        publicity = ''
        try:
            bag.policy.allows(user_object, 'manage')
            policy = bag.policy
            publicity = determine_publicity(user_object, policy)
        except (UserRequiredError, ForbiddenError):
            policy = None
        try:
            bag.policy.allows(user_object, 'delete')
            delete = True
        except (UserRequiredError, ForbiddenError):
            delete = False
        data = {'title': 'TiddlyHoster Bag %s' % bag.name, 'policy': policy,
                'publicity': publicity, 'delete': delete,
                'bag': bag, 'representations': representations}
        del self.environ['tiddlyweb.title']
        return send_template(self.environ, 'baglist.html', data)
コード例 #3
0
ファイル: htmlserialization.py プロジェクト: pads/tiddlyspace
 def __init__(self, environ=None):
     """
     Initialize the serialization. Delete tiddlyweb.title to
     turn off HTMLPresenter.
     """
     HTMLSerialization.__init__(self, environ)
     del self.environ['tiddlyweb.title']
コード例 #4
0
 def tiddler_as(self, tiddler):
     self.environ['tiddlyweb.links'].append(
                 '<link rel="alternate" '
                 'type="application/atom+xml" '
                 'title="Atom" href="%s" />'
                 % '%s.atom' % tiddler_url(self.environ, tiddler))
     return HTMLSerialization.tiddler_as(self, tiddler)
コード例 #5
0
ファイル: htmlatom.py プロジェクト: FND/tiddlywiki-svn-mirror
 def _tiddler_list_header(self, wiki_link):
     if wiki_link:
         self.environ['tiddlyweb.links'].append(
                 '<link rel="alternate" type="application/atom+xml" title="Atom" href="%s" />' \
                         % '%s.atom' % wiki_link
                 )
     return HTMLSerialization._tiddler_list_header(self, wiki_link)
コード例 #6
0
    def _footer(self):
        """
        Add editor to the footer.
        """

        output = ""
        # Not using tiddlyweb.web.util:get_route_value to avoid
        # ValueError
        routing_args = self.environ["wsgiorg.routing_args"][1]
        config = self.environ["tiddlyweb.config"]
        if "tiddlyeditor_tiddlers" in config:
            tiddler_name = routing_args.get("tiddler_name", None)
            recipe_name = routing_args.get("recipe_name", "")
            bag_name = routing_args.get("bag_name", "")
            revision = routing_args.get("revision", None)
            server_prefix = config["server_prefix"]

            if tiddler_name and not revision:
                output = """
<div id="edit">
    <a href="%s/tiddlyeditor?tiddler=%s;bag=%s;recipe=%s">TiddlyEdit</a>
</div>
""" % (
                    server_prefix,
                    tiddler_name,
                    bag_name,
                    recipe_name,
                )
        original_footer = HTML._footer(self)
        if output:
            head, sep, tail = original_footer.partition('<div id="badge">')
            return head + output + sep + tail
        return original_footer
コード例 #7
0
 def _tiddler_list_header(self, wiki_link):
     if wiki_link:
         self.environ['tiddlyweb.links'].append(
                 '<link rel="alternate" '
                 'type="application/atom+xml" '
                 'title="Atom" href="%s" />'
                 % '%s.atom' % wiki_link)
     return HTMLSerialization._tiddler_list_header(self, wiki_link)
コード例 #8
0
ファイル: mdedit.py プロジェクト: cdent/tiddlytoys
    def tiddler_as(self, tiddler):
        links = []
        for javascript in self.environ['tiddlyweb.config'].get(
                'mdedit.javascripts', []):
            links.append('<script type="text/javascript" src="%s"></script>'
                    % javascript)
        for css in self.environ['tiddlyweb.config'].get('mdedit.css', []):
            links.append('<link rel="stylesheet" type="text/css" href="%s" />'
                    % css)

        self.environ['tiddlyweb.links'] = links
        return HTML.tiddler_as(self, tiddler)
コード例 #9
0
    def list_tiddlers(self, tiddlers):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, tiddlers)

        try:
            name = get_route_value(environ, 'bag_name')
            return self._bag_list(tiddlers)
        except KeyError:  # not a bag link
            try:
                name = get_route_value(environ, 'recipe_name')
                return self._recipe_list(tiddlers, name)
            except KeyError:
                return self._bag_list(tiddlers)
コード例 #10
0
ファイル: serialization.py プロジェクト: cdent/tiddlyhoster
    def list_tiddlers(self, tiddlers):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, tiddlers)

        try:
            name = get_route_value(environ, 'bag_name')
            return self._bag_list(tiddlers)
        except KeyError:  # not a bag link
            try:
                name = get_route_value(environ, 'recipe_name')
                return self._recipe_list(tiddlers, name)
            except KeyError:
                return self._bag_list(tiddlers)
コード例 #11
0
    def list_tiddlers(self, tiddlers):
        """
        If the URL is a list of bag tiddlers, we present a bag
        editing interface. Otherwise we use the parent serialization.
        """
        if (self.environ['wsgiorg.routing_args'][1].get('tiddler_name')):
            return HTMLSerialization.list_tiddlers(self, tiddlers)

        try:
            name = self.environ['wsgiorg.routing_args'][1]['bag_name']
            return self._bag_list(tiddlers)
        except KeyError: # not a bag link
            try:
                name = self.environ['wsgiorg.routing_args'][1]['recipe_name']
                name = urllib.unquote(name)
                name = unicode(name, 'utf-8')
                return self._recipe_list(tiddlers, name)
            except KeyError:
                return self._bag_list(tiddlers)
コード例 #12
0
ファイル: upper.py プロジェクト: tiddlyweb/tiddlyweb-tutorial
 def tiddler_as(self, tiddler):
     tiddler.text = tiddler.text.upper()
     return HTMLSerialization.tiddler_as(self, tiddler)
コード例 #13
0
ファイル: upper.py プロジェクト: tiddlyweb/tiddlyweb-tutorial
 def tiddler_as(self, tiddler):
     tiddler.text = tiddler.text.upper()
     return HTMLSerialization.tiddler_as(self, tiddler)
コード例 #14
0
ファイル: serialization.py プロジェクト: cdent/tiddlyhoster
 def tiddler_as(self, tiddler):
     return self._templatize(HTMLSerialization.tiddler_as(self, tiddler))
コード例 #15
0
ファイル: serialization.py プロジェクト: cdent/tiddlyhoster
 def bag_as(self, bag):
     return self._templatize(HTMLSerialization.bag_as(self, bag))
コード例 #16
0
ファイル: serialization.py プロジェクト: cdent/tiddlyhoster
 def recipe_as(self, recipe):
     return self._templatize(HTMLSerialization.recipe_as(self, recipe))
コード例 #17
0
ファイル: serialization.py プロジェクト: cdent/tiddlyhoster
 def list_bags(self, bags):
     return self._templatize(HTMLSerialization.list_bags(self, bags))
コード例 #18
0
ファイル: serialization.py プロジェクト: cdent/tiddlyhoster
 def list_recipes(self, recipes):
     return self._templatize(HTMLSerialization.list_recipes(self, recipes))
コード例 #19
0
 def tiddler_as(self, tiddler):
     return self._templatize(HTMLSerialization.tiddler_as(self, tiddler))
コード例 #20
0
 def bag_as(self, bag):
     return self._templatize(HTMLSerialization.bag_as(self, bag))
コード例 #21
0
 def recipe_as(self, recipe):
     return self._templatize(HTMLSerialization.recipe_as(self, recipe))
コード例 #22
0
 def list_bags(self, bags):
     return self._templatize(HTMLSerialization.list_bags(self, bags))
コード例 #23
0
 def list_recipes(self, recipes):
     return self._templatize(HTMLSerialization.list_recipes(self, recipes))