htsql-sqlascii-patch / src / htsql / ctl / encode.py

#
# Copyright (c) 2006-2008, Prometheus Research, LLC
# See `LICENSE` for license information, `AUTHORS` for the list of authors.
#

"""
:mod:`htsql.ctl.encode`
=====================

This module implements the `encode` routine.
"""


from .routine import Routine, Argument
from ..core.validator import BoolVal
import os, urllib


class EncodeRoutine(Routine):
    """
    Implements the `encode` routine.
    """

    name = 'encode'
    aliases = []
    arguments = []
    hint = """percent encode input for database or query URI"""
    help = """
    Run '%(executable)s encode' to percent-encode a query fragment or
    database URI fragment so that it is a suitable for HTTP queries 
    and command line arguments.  This can be run interactively or 
    as a filter using standard input/output.
    """

    def run(self):
        input = self.ctl.input("What is the query fragment?")
        self.ctl.out(urllib.quote(input))
        if self.ctl.isatty:
            self.ctl.out()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.