示例#1
0
def recent_feed():
    feed = AtomFeed(g.config["BLOGNAME"],
                    feed_url=request.url,
                    url=request.url_root)
    posts = Post.get_list(
        Post.allow_visit == True).order_by(-Post.id).limit(20)
    for post in posts:
        if not post.need_key:
            feed.add(post.title,
                     post.html_content,
                     content_type='html',
                     author=u"博主",
                     url=make_external('page/' + quote(post.url)),
                     updated=post.update_time,
                     published=post.create_time)
        else:
            feed.add(post.title,
                     u"文章被加密,输入密码查看",
                     content_type='html',
                     author=u"博主",
                     url=make_external('page/' + quote(post.url)),
                     updated=post.update_time,
                     published=post.create_time)

    return feed.get_response()
示例#2
0
def call(cmd, *args):
  command = [cmd] + list(args)
  print('Running:', ' '.join(quote(c) for c in command))
  try:
    return subprocess.check_output(command, cwd=ROOT_DIR).decode()
  except subprocess.CalledProcessError as e:
    assert False, 'Command: %s failed: %s'.format(' '.join(command))
示例#3
0
 def _get_auth_header(self):
     ''' Constructs and returns an authentication header. '''
     realm = 'realm="{realm}"'.format(realm=self.realm)
     params = [
         '{k}="{v}"'.format(k=k, v=quote(str(v), safe=''))
         for k, v in self.oauth_params.items()
     ]
     return 'OAuth ' + ','.join([realm] + params)
def call(cmd, *args):
  path = os.path.join('tools', cmd)
  command = [path] + list(args)
  print('Running:', ' '.join(quote(c) for c in command))
  try:
    return subprocess.check_output(command, cwd=ROOT_DIR)
  except subprocess.CalledProcessError as e:
    assert False, 'Command: {} failed'.format(' '.join(command))
示例#5
0
    def _escape(self, s):
        '''
        Escapes a string, ensuring it is encoded as a UTF-8 octet.

        :param s: A string to be encoded.
        :type s: str
        '''
        return quote(self._ensure_unicode(s), safe='~').encode('utf-8')
示例#6
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--ccache', action='store_true', default=False)
    parser.add_argument('--host-only', action='store_true', default=False)
    parser.add_argument('--android', action='store_true', default=False)
    parser.add_argument('--build', metavar='TARGET')
    args = parser.parse_args()

    configs = {}
    if not args.host_only:
        if args.android:
            for config_name, gn_args in iteritems(ANDROID_BUILD_CONFIGS):
                for arch in ANDROID_ARCHS:
                    full_config_name = '%s_%s' % (config_name, arch)
                    configs[full_config_name] = gn_args + ('target_cpu="%s"' %
                                                           arch, )
        for config_name, gn_args in iteritems(LINUX_BUILD_CONFIGS):
            if dict(a.split('=') for a in gn_args).get('is_clang',
                                                       None) == 'true':
                continue
            for arch in LINUX_ARCHS:
                full_config_name = '%s_%s' % (config_name, arch)
                configs[full_config_name] = gn_args + (
                    'target_cpu="%s"' % arch, 'target_os="linux"')

    system = platform.system().lower()
    if system == 'linux':
        configs.update(LINUX_BUILD_CONFIGS)
    elif system == 'darwin':
        configs.update(MAC_BUILD_CONFIGS)
    else:
        assert False, 'Unsupported system %r' % system

    if args.ccache:
        for config_name, gn_args in iteritems(configs):
            configs[config_name] = gn_args + ('cc_wrapper="ccache"', )

    out_base_dir = os.path.join(ROOT_DIR, 'out')
    if not os.path.isdir(out_base_dir):
        os.mkdir(out_base_dir)

    gn = os.path.join(ROOT_DIR, 'tools', 'gn')

    for config_name, gn_args in iteritems(configs):
        print('\n\033[32mBuilding %-20s[%s]\033[0m' %
              (config_name, ','.join(gn_args)))
        out_dir = os.path.join(ROOT_DIR, 'out', config_name)
        if not os.path.isdir(out_dir):
            os.mkdir(out_dir)
        gn_cmd = (gn, 'gen', out_dir, '--args=%s' % (' '.join(gn_args)),
                  '--check')
        print(' '.join(quote(c) for c in gn_cmd))
        subprocess.check_call(gn_cmd, cwd=ROOT_DIR)
        if args.build:
            ninja = os.path.join(ROOT_DIR, 'tools', 'ninja')
            ninja_cmd = (ninja, '-C', '.', args.build)
            subprocess.check_call(ninja_cmd, cwd=out_dir)
示例#7
0
def joinArgs(args):
    if not args:
        return ''

    arglist = []
    for key in sorted(args, key=lambda x: x.lower()):
        value = str(args[key])
        arglist.append('{0}={1}'.format(key, compat.quote(value)))

    return '?{0}'.format('&'.join(arglist))
示例#8
0
文件: oauth.py 项目: wandec/sinaapp
def escape(s):
    """Escape a URL including any /.
    return py2str py3str
    """
    # py3k
    if hasattr(str, 'decode') and type(s) != str:
        # FIXME assume py2unicode
        s = s.encode('utf-8')
    ret = quote(s, safe='~')
    if type(ret) != str:
        return str(ret)
    return ret
示例#9
0
文件: other.py 项目: minyoad/Tyou
def recent_feed():
    feed = AtomFeed(g.config["BLOGNAME"],
                    feed_url=request.url, url=request.url_root)
    postlist = Post.get_page(0, g.config["RSS_ITEM_COUNT"], allow_visit=True)
    for post in postlist:
        if not post.need_key:
            feed.add(post.title, post.html_content,
                     content_type='html',
                     author=u"博主",
                     url=make_external('page/' + quote(post.url)),
                     updated=post.update_time,
                     published=post.create_time)
        else:
            feed.add(post.title, u"文章被加密,输入密码查看",
                     content_type='html',
                     author=u"博主",
                     url=make_external('page/' + quote(post.url)),
                     updated=post.update_time,
                     published=post.create_time)

    return feed.get_response()
示例#10
0
        def build_path(self):
            for variable in re_path_template.findall(self.path):
                name = variable.strip('{}')

                if name == 'user' and self.api.auth:
                    value = self.api.auth.get_username()
                else:
                    try:
                        value = quote(self.parameters[name])
                    except KeyError:
                        raise QWeiboError('No parameter value found for path variable: %s' % name)
                    del self.parameters[name]

                self.path = self.path.replace(variable, value)
示例#11
0
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from __future__ import print_function

import os
import shutil
import subprocess
import sys

from compat import quote
from platform import system

GN_ARGS = ' '.join(
    quote(s) for s in (
        'is_debug=false',
        'is_perfetto_build_generator=true',
        'is_perfetto_embedder=true',
        'use_custom_libcxx=false',
        'enable_perfetto_ipc=true',
    ))

ROOT_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
OUT_DIR = os.path.join('out', 'amalgamated')
GEN_AMALGAMATED = os.path.join('tools', 'gen_amalgamated')


def call(cmd, *args):
  command = [cmd] + list(args)
  print('Running:', ' '.join(quote(c) for c in command))
示例#12
0
文件: app.py 项目: fighteryu/Tyou
 def urlencode(uri, **query):
     return quote(uri.encode('utf-8'))
示例#13
0
文件: app.py 项目: minyoad/Tyou
 def urlencode(uri, **query):
     return quote(uri.encode('utf-8'))