当前位置: 首页>>代码示例>>Python>>正文


Python DrupyPHP.is_array方法代码示例

本文整理汇总了Python中lib.drupy.DrupyPHP.is_array方法的典型用法代码示例。如果您正苦于以下问题:Python DrupyPHP.is_array方法的具体用法?Python DrupyPHP.is_array怎么用?Python DrupyPHP.is_array使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在lib.drupy.DrupyPHP的用法示例。


在下文中一共展示了DrupyPHP.is_array方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_order

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def get_order(headers):
  """
   Determine the current sort criterion.

   @param headers
     An array of column headers in the format described in theme_table().
   @return
     An associative array describing the criterion, containing the keys:
     - "name": The localized title of the table column.
     - "sql": The name of the database field to sort on.
  """
  order = php.GET['order'] if php.isset(php.GET['order']) else ''
  for header in headers:
    if php.isset(header['data']) and order == header['data']:
      return {
        'name': header['data'],
        'sql': header['field'] if php.isset(header['field']) else ''
      }
    if (php.isset(header['sort']) and (header['sort'] == 'asc' or
       header['sort'] == 'desc')):
      default = {
        'name': header['data'],
        'sql': header['field'] if php.isset(header['field']) else ''
      }
  if php.isset(default):
    return default
  else:
    # The first column specified is initial 'order by' field unless otherwise
    # specified
    if php.is_array(headers[0]):
      headers[0] += {'data': None, 'field': None}
      return {'name': headers[0]['data'], 'sql': headers[0]['field']}
    else:
      return {'name': headers[0]}
开发者ID:brendoncrawford,项目名称:drupy,代码行数:36,代码来源:tablesort.py

示例2: prefix_tables

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def prefix_tables(sql):
  """
   Append a database prefix to all tables in a query.
  
   Queries sent to Drupal should wrap all table names in curly brackets. This
   function searches for this syntax and adds Drupal's table prefix to all
   tables, allowing Drupal to coexist with other systems in the same
   database if necessary.
  
   @param sql
     A string containing a partial or entire SQL query.
   @return
     The properly-prefixed string.
  """
  if (php.is_array(settings.db_prefix)):
    if (php.array_key_exists('default', settings.db_prefix)):
      tmp = settings.db_prefix;
      del(tmp['default']);
      for key,val in tmp.items():
        sql = php.strtr(sql, {('{' + key + '}') : (val + key)});
      return php.strtr(sql, {'{' : settings.db_prefix['default'], '}' : ''});
    else:
      for key,val in settings.db_prefix.items():
        sql = php.strtr(sql, {('{' + key + '}') : (val + key)});
      return php.strtr(sql, {'{' : '', '}' : ''});
  else:
    return php.strtr(sql, {'{' : settings.db_prefix, '}' : ''});
开发者ID:brendoncrawford,项目名称:drupy,代码行数:29,代码来源:database.py

示例3: cell

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def cell(cell, header, ts, i):
  """
   Format a table cell.

   Adds a class attribute to all cells in the currently active column.

   @param cell
     The cell to format.
   @param header
     An array of column headers in the format described in theme_table().
   @param ts
     The current table sort context as returned from hook_init().
   @param i
     The index of the cell's table column.
   @return
     A properly formatted cell, ready for _theme_table_cell().
  """
  if (php.isset(header[i]['data']) and header[i]['data'] == ts['name'] and
     not php.empty(header[i]['field'])):
    if php.is_array(cell):
      if php.isset(cell['class']):
        cell['class'] += ' active'
      else:
        cell['class'] = 'active'
    else:
      cell = {'data': cell, 'class': 'active'}
  return cell
开发者ID:brendoncrawford,项目名称:drupy,代码行数:29,代码来源:tablesort.py

示例4: invoke_all

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def invoke_all(*args):
  """
   Invoke a hook in all enabled plugins that implement it.
  
   @param hook
     The name of the hook to invoke.
   @param ...
     Arguments to pass to the hook.
   @return
     An array of return values of the hook implementations. If plugins return
     arrays from their implementations, those are merged into one array.
  """
  global plugins
  args = list(args)
  hook = 'hook_%s' % args[0]
  del(args[0])
  return_ = []
  for plugin_ in implements(hook):
    if (lib_bootstrap.drupal_function_exists(hook, plugins[plugin_])):
      function = DrupyImport.getFunction(\
        plugins[plugin_], hook)
      result = php.call_user_func_array(function, args);
      if (result is not None and php.is_array(result)):
        return_ = p.array_merge_recursive(return_, result);
      elif (result is not None):
        return_.append( result );
  return return_
开发者ID:brendoncrawford,项目名称:drupy,代码行数:29,代码来源:plugin.py

示例5: field_names

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def field_names(fields):
  ret = []
  for field in fields:
    if (php.is_array(field)):
      ret.append( field[0] )
    else:
      ret.append( field )
  return ret
开发者ID:brendoncrawford,项目名称:drupy,代码行数:10,代码来源:database.py

示例6: _create_key_sql

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def _create_key_sql(fields):
  ret = []
  for field in fields:
    if (php.is_array(field)):
      ret.append( field[0] +  '('  + field[1] + ')' )
    else:
      ret.append( field )
  return php.implode(', ', ret)
开发者ID:brendoncrawford,项目名称:drupy,代码行数:10,代码来源:database_mysqli.py

示例7: header

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def header(cell, header, ts):
  """
   Format a column header.

   If the cell in question is the column header for the current sort criterion,
   it gets special formatting. All possible sort criteria become links.

   @param cell
     The cell to format.
   @param header
     An array of column headers in the format described in theme_table().
   @param ts
     The current table sort context as returned from hook_init().
   @return
     A properly formatted cell, ready for _theme_table_cell().
  """
  # Special formatting for the currently sorted column header.
  if php.is_array(cell) and php.isset(cell['field']):
    title = t('sort by @s', {'@s': cell['data']})
    if cell['data'] == ts['name']:
      ts['sort'] = ('desc' if (ts['sort'] == 'asc') else 'asc')
      if php.isset(cell['class']):
        cell['class'] += ' active'
      else:
        cell['class'] = 'active'
      image = lib_theme.theme('tablesort_indicator', ts['sort'])
    else:
      # If the user clicks a different header, we want to sort ascending
      # initially.
      ts['sort'] = 'asc'
      image = ''
    if not php.empty(ts['query_string']):
      ts['query_string'] = '&' + ts['query_string']
    cell['data'] = l(
      cell['data'] + image, php.GET['q'], {
        'attributes':
          {
            'title': title,
            'query':
              'sort=' + ts['sort'] + '&order=' + rawurlencode(cell['data']) +
              ts['query_string'],
            'html': TRUE
          }
      }
    )
    php.unset(cell['field'], cell['sort'])
  return cell
开发者ID:brendoncrawford,项目名称:drupy,代码行数:49,代码来源:tablesort.py

示例8: query_temporary

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def query_temporary(query):
  """
   Runs a SELECT query and stores its results in a temporary table.
  
   Use this as a substitute for db_query() when the results need to stored
   in a temporary table. Temporary tables exist for the duration of the page
   request.
   User-supplied arguments to the query should be passed in as
   separate parameters
   so that they can be properly escaped to avoid SQL injection attacks.
  
   Note that if you need to know how many results were returned, you should do
   a SELECT COUNT(*) on the temporary table afterwards. db_affected_rows() does
   not give consistent result across different database types in this case.
  
   @param query
     A string containing a normal SELECT SQL query.
   @param ...
     A variable number of arguments which are substituted into the query
     using printf() syntax. The query arguments can be enclosed in one
     array instead.
     Valid %-modifiers are: %s, %d, %f, %b (binary data, do not enclose
     in '') and %%.
  
     NOTE: using this syntax will cast None and False values to decimal 0,
     and True values to decimal 1.
  
   @param table
     The name of the temporary table to select into. This name will not be
     prefixed as there is no risk of collision.
   @return
     A database query result resource, or False if the query was not executed
     correctly.
  """
  args = func_get_args()
  tablename = php.array_pop(args)
  php.array_shift(args)
  query = php.preg_replace('/^SELECT/i', 'CREATE TEMPORARY TABLE ' +  \
    tablename  + ' Engine=HEAP SELECT', db_prefix_tables(query))
  # 'All arguments in one array' syntax
  if (php.isset(args, 0) and php.is_array(args, 0)): 
    args = args[0]
  _db_query_callback(args, True)
  query = php.preg_replace_callback(DB_QUERY_REGEXP, \
    '_db_query_callback', query)
  return _db_query(query)
开发者ID:brendoncrawford,项目名称:drupy,代码行数:48,代码来源:database_mysqli.py

示例9: get_sort

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def get_sort(headers):
  """
   Determine the current sort direction.

   @param headers
     An array of column headers in the format described in theme_table().
   @return
     The current sort direction ("asc" or "desc").
  """
  if php.isset(php.GET['sort']):
    return 'desc' if (php.GET['sort'] == 'desc')  else 'asc';
  # User has not specified a sort. Use default if specified; otherwise use
  # "asc".
  else:
    for header in headers:
      if php.is_array(header) and php.array_key_exists('sort', header):
        return header['sort']
  return 'asc'
开发者ID:brendoncrawford,项目名称:drupy,代码行数:20,代码来源:tablesort.py

示例10: _rewrite_sql

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def _rewrite_sql(query = '', primary_table = 'n', primary_field = 'nid', \
    args = []):
  where = []
  join_ = []
  distinct = False
  for plugin in lib_plugin.implements('db_rewrite_sql'):
    result = lib_plugin.invoke(plugin, 'db_rewrite_sql', query, \
      primary_table, primary_field, args)
    if (php.isset(result) and php.is_array(result)):
      if (php.isset(result['where'])):
        where.append( result['where'] )
      if (php.isset(result['join'])):
        join_.append( result['join'] )
      if (php.isset(result['distinct']) and result['distinct']):
        distinct = True
    elif (php.isset(result)):
      where.append( result )
  where = ('' if php.empty(where) else \
    ('(' +  php.implode(') AND (', where)  + ')') )
  join_ = ('' if php.empty(join) else php.implode(' ', join))
  return (join, where, distinct)
开发者ID:brendoncrawford,项目名称:drupy,代码行数:23,代码来源:database.py

示例11: query_range

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def query_range(query):
  """
   Runs a limited-range query in the active database.
  
   Use this as a substitute for db_query() when a subset of the query is to be
   returned. User-supplied arguments to the query should be passed in as
   separate parameters so that they can be properly escaped to avoid SQL
   injection attacks.
  
   @param query
     A string containing an SQL query.
   @param ...
     A variable number of arguments which are substituted into the query
     using printf() syntax. The query arguments can be enclosed in one
     array instead.
     Valid %-modifiers are: %s, %d, %f, %b (binary data, do not enclose
     in '') and %%.
     NOTE: using this syntax will cast None and False values to decimal 0,
     and True values to decimal 1.
   @param from
     The first result row to return.
   @param count
     The maximum number of result rows to return.
   @return
     A database query result resource, or False if the query was not executed
     correctly.
  """
  args = func_get_args()
  count = php.array_pop(args)
  from_ = php.array_pop(args)
  php.array_shift(args)
  query = db_prefix_tables(query)
  # 'All arguments in one array' syntax
  if (php.isset(args, 0) and php.is_array(args, 0)): 
    args = args[0]
  _db_query_callback(args, True)
  query = php.preg_replace_callback(DB_QUERY_REGEXP, \
    '_db_query_callback', query)
  query += ' LIMIT ' +  int(from_)  + ', ' . int(count)
  return _db_query(query)
开发者ID:brendoncrawford,项目名称:drupy,代码行数:42,代码来源:database_mysqli.py

示例12: drupal_is_denied

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def drupal_is_denied(ip):
    """
   Check to see if an IP address has been blocked.
  
   Blocked IP addresses are stored in the database by default. However for
   performance reasons we allow an override in settings.php. This allows us
   to avoid querying the database at this critical stage of the bootstrap if
   an administrative interface for IP address blocking is not required.
  
   @param $ip string
     IP address to check.
   @return bool
     TRUE if access is denied, FALSE if access is allowed.
  """
    # Because this function is called on every page request, we first check
    # for an array of IP addresses in settings.php before querying the
    # database.
    blocked_ips = variable_get("blocked_ips", None)
    if blocked_ips != None and php.is_array(blocked_ips):
        return php.in_array(ip, blocked_ips)
    else:
        sql = "SELECT 1 FROM {blocked_ips} WHERE ip = '%s'"
        return lib_database.result(lib_database.query(sql, ip)) != False
开发者ID:sabren,项目名称:drupy,代码行数:25,代码来源:bootstrap.py

示例13: query

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def query(query_, *args):
  """
   Runs a basic query in the active database.
  
   User-supplied arguments to the query should be passed in as separate
   parameters so that they can be properly escaped to avoid SQL injection
   attacks.
  
   @param query
     A string containing an SQL query.
   @param ...
     A variable number of arguments which are substituted into the query
     using printf() syntax. Instead of a variable number of query arguments,
     you may also pass a single array containing the query arguments.
  
     Valid %-modifiers are: %s, %d, %f, %b (binary data, do not enclose
     in '') and %%.
  
     NOTE: using this syntax will cast None and False values to decimal 0,
    and True values to decimal 1.
  
   @return
     A database query result resource, or False if the query was not
     executed correctly.
  """
  this_query = lib_database.prefix_tables(query_)
  # 'All arguments in one array' syntax
  if (php.isset(args, 0) and php.is_array(args[0])): 
    args = args[0]
  lib_database._query_callback(args, True)
  this_query = php.preg_replace_callback(lib_database.DB_QUERY_REGEXP, \
    lib_database._query_callback, this_query)
  #print
  #print "QUERY DEBUG:"
  #print this_query
  #print
  return _query(this_query)
开发者ID:brendoncrawford,项目名称:drupy,代码行数:39,代码来源:database_mysqli.py

示例14: _build_dependencies

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import is_array [as 别名]
def _build_dependencies(files):
  """
   Find dependencies any level deep and fill in dependents information too.
  
   If plugin A depends on B which in turn depends on C then this function will
   add C to the list of plugins A depends on. This will be repeated until
   plugin A has a list of all plugins it depends on. If it depends on itself,
   called a circular dependency, that's marked by adding a nonexistent plugin,
   called -circular- to this list of plugins. Because this does not exist,
   it'll be impossible to switch plugin A on.
  
   Also we fill in a dependents array in file.info. Using the names above,
   the dependents array of plugin B lists A.
  
   @param files
     The array of filesystem objects used to rebuild the cache.
   @return
     The same array with dependencies and dependents added where applicable.
  """
  while True:
    new_dependency = False
    for filename,file in files.items():
      # We will modify this object (plugin A, see doxygen for plugin A, B, C).
      file = files[filename]
      if (php.isset(file.info, 'dependencies') and \
          php.is_array(file.info, 'dependencies')):
        for dependency_name in file.info['dependencies']:
          # This is a nonexistent plugin.
          if (dependency_name == '-circular-' or \
              not php.isset(files[dependency_name])):
            continue
          # dependency_name is plugin B (again, see doxygen).
          files[dependency_name].info['dependents'][filename] = filename
          dependency = files[dependency_name]
          if (php.isset(dependency.info['dependencies']) and \
              php.is_array(dependency.info['dependencies'])):
            # Let's find possible C plugins.
            for candidate in dependency.info['dependencies']:
              if (array_search(candidate, file.info['dependencies']) == False):
                # Is this a circular dependency?
                if (candidate == filename):
                  # As a plugin name can not contain dashes, this makes
                  # impossible to switch on the plugin.
                  candidate = '-circular-'
                  # Do not display the message or add -circular-
                  # more than once.
                  if (array_search(candidate, \
                      file.info['dependencies']) != False):
                    continue
                  drupal_set_message(\
                    t('%plugin is part of a circular dependency. ' + \
                      'This is not supported and you will not ' + \
                      'be able to switch it on.', \
                      {'%plugin' : file.info['name']}), 'error')
                else:
                  # We added a new dependency to plugin A. The next loop will
                  # be able to use this as "B plugin" thus finding even
                  # deeper dependencies.
                  new_dependency = True
                file.info['dependencies'].append( candidate )
      # Don't forget to break the reference.
      del(file)
    if (not new_dependency):
      break
  return files
开发者ID:brendoncrawford,项目名称:drupy,代码行数:67,代码来源:plugin.py


注:本文中的lib.drupy.DrupyPHP.is_array方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。