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


Python DrupyPHP.dirname方法代码示例

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


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

示例1: destination

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import dirname [as 别名]
def destination(destination, replace):
  """
   Determines the destination path for a file depending on how replacement of
   existing files should be handled.
  
   @param destination A string specifying the desired path.
   @param replace Replace behavior when the destination file already exists.
     - FILE_EXISTS_REPLACE - Replace the existing file
     - FILE_EXISTS_RENAME - Append _{incrementing number} until the filename is
       unique
     - FILE_EXISTS_ERROR - Do nothing and return False.
   @return The destination file path or False if the file already exists and
     FILE_EXISTS_ERROR was specified.
  """
  if (php.file_exists(destination)):
    if replace == FILE_EXISTS_RENAME:
      basename = basename(destination)
      directory = php.dirname(destination)
      destination = file_create_filename(basename, directory)
    elif replace == FILE_EXISTS_ERROR:
      drupal_set_message(t('The selected file %file could not be copied, \
        because a file by that name already exists in the destination.', \
        {'%file' : destination}), 'error')
      return False
  return destination
开发者ID:brendoncrawford,项目名称:drupy,代码行数:27,代码来源:file.py

示例2: check_location

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import dirname [as 别名]
def check_location(source, directory = ''):
  """
   Check if a file is really located inside directory + Should be used to make
   sure a file specified is really located within the directory to prevent
   exploits.
  
   @code
     // Returns False:
     file_check_location('/www/example.com/files/../../../etc/passwd', \
       '/www/example.com/files')
   @endcode
  
   @param source A string set to the file to check.
   @param directory A string where the file should be located.
   @return FALSE for invalid path or the real path of the source.
  """
  check = realpath(source)
  if (check):
    source = check
  else:
    # This file does not yet exist
    source = realpath(php.dirname(source)) + '/' + basename(source)
  directory = realpath(directory)
  if (directory and php.strpos(source, directory) != 0):
    return False
  return source
开发者ID:brendoncrawford,项目名称:drupy,代码行数:28,代码来源:file.py

示例3: rebuild_cache

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import dirname [as 别名]
def rebuild_cache():
  """
   Rebuild the database cache of plugin files.
  
   @return
     The array of filesystem objects used to rebuild the cache.
  """
  # Get current list of plugins
  files = drupal_system_listing('\.plugin$', 'plugins', 'name', 0)
  # Extract current files from database.
  system_get_files_database(files, 'plugin')
  ksort(files)
  # Set defaults for plugin info
  defaults = {
    'dependencies' : [],
    'dependents' : [],
    'description' : '',
    'version' : None,
    'php' : DRUPAL_MINIMUM_PHP,
  }
  for filename,file in files.items():
    # Look for the info file.
    file.info = drupal_parse_info_file(php.dirname(file.filename) +  '/'  + \
      file.name + '.info')
    # Skip plugins that don't provide info.
    if (php.empty(file.info)):
      del(files[filename])
      continue
    # Merge in defaults and save.
    files[filename].info = file.info + defaults
    # Invoke hook_system_info_alter() to give installed plugins a chance to
    # modify the data in the .info files if necessary.
    drupal_alter('system_info', files[filename].info, files[filename])
    # Log the critical hooks implemented by this plugin.
    bootstrap = 0
    for hook in bootstrap_hooks():
      if (plugin_hook(file.name, hook)):
        bootstrap = 1
        break
    # Update the contents of the system table:
    if (php.isset(file, 'status') or (php.isset(file, 'old_filename') and \
        file.old_filename != file.filename)):
      db_query(\
        "UPDATE {system} SET info = '%s', name = '%s', " + \
        "filename = '%s', bootstrap = %d WHERE filename = '%s'", \
        php.serialize(files[filename].info), file.name, \
        file.filename, bootstrap, file.old_filename)
    else:
      # This is a new plugin.
      files[filename].status = 0
      db_query(\
        "INSERT INTO {system} (name, info, type, " + \
        "filename, status, bootstrap) VALUES " + \
        "('%s', '%s', '%s', '%s', %d, %d)", \
        file.name, php.serialize(files[filename].info), \
        'plugin', file.filename, 0, bootstrap)
  files = _plugin_build_dependencies(files)
  return files
开发者ID:brendoncrawford,项目名称:drupy,代码行数:60,代码来源:plugin.py

示例4: check_path

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import dirname [as 别名]
def check_path(path):
  """
   Checks path to see if it is a directory, or a dir/file.
  
   @param path A string containing a file path + This will be set to the
     directory's path.
   @return If the directory is not in a Drupal writable directory, False is
     returned + Otherwise, the base name of the path is returned.
  """
  php.Reference.check(path)
  # Check if path is a directory.
  if (file_check_directory(path)):
    return ''
  # Check if path is a possible dir/file.
  filename = basename(path)
  path = php.dirname(path)
  if (file_check_directory(path)):
    return filename
  return False
开发者ID:brendoncrawford,项目名称:drupy,代码行数:21,代码来源:file.py

示例5: conf_init

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import dirname [as 别名]
def conf_init():
    """
   Loads the configuration and sets the base URL, cookie domain, and
   session name correctly.
  """
    # These will come from settings
    # db_url, db_prefix, cookie_domain, conf, installed_profile, update_free_access
    if lib_appglobals.base_url != None:
        # Parse fixed base URL from settings.php.
        parts = php.parse_url(lib_appglobals.base_url)
        if not php.isset(parts, "path"):
            parts["path"] = ""
        lib_appglobals.base_path = parts["path"] + "/"
        # Build base_root (everything until first slash after "scheme://").
        lib_appglobals.base_root = php.substr(
            lib_appglobals.base_url, 0, php.strlen(lib_appglobals.base_url) - php.strlen(parts["path"])
        )
    else:
        # Create base URL
        lib_appglobals.base_root = (
            "https" if (php.isset(php.SERVER, "HTTPS") and php.SERVER["HTTPS"] == "on") else "http"
        )
        # As php.SERVER['HTTP_HOST'] is user input, ensure it only contains
        # characters allowed in hostnames.
        lib_appglobals.base_root += "://" + php.preg_replace("/[^a-z0-9-:._]/i", "", php.SERVER["HTTP_HOST"])
        lib_appglobals.base_url = lib_appglobals.base_root
        # php.SERVER['SCRIPT_NAME'] can, in contrast to php.SERVER['PHP_SELF'], not
        # be modified by a visitor.
        dir = php.trim(php.dirname(php.SERVER["SCRIPT_NAME"]), "\,/")
        if len(dir) > 0:
            lib_appglobals.base_path = "/dir"
            lib_appglobals.base_url += lib_appglobals.base_path
            lib_appglobals.base_path += "/"
        else:
            lib_appglobals.base_path = "/"
    if settings.cookie_domain != None:
        # If the user specifies the cookie domain, also use it for session name.
        session_name_ = settings.cookie_domain
    else:
        # Otherwise use base_url as session name, without the protocol
        # to use the same session identifiers across http and https.
        session_name_ = php.explode("://", lib_appglobals.base_url, 2)[1]
        # We escape the hostname because it can be modified by a visitor.
        if not php.empty(php.SERVER["HTTP_HOST"]):
            settings.cookie_domain = check_plain(php.SERVER["HTTP_HOST"])
    # To prevent session cookies from being hijacked, a user can configure the
    # SSL version of their website to only transfer session cookies via SSL by
    # using PHP's session.cookie_secure setting. The browser will then use two
    # separate session cookies for the HTTPS and HTTP versions of the site. So we
    # must use different session identifiers for HTTPS and HTTP to prevent a
    # cookie collision.
    if php.ini_get("session.cookie_secure"):
        session_name_ += "SSL"
    # Strip leading periods, www., and port numbers from cookie domain.
    settings.cookie_domain = php.ltrim(settings.cookie_domain, ".")
    if php.strpos(settings.cookie_domain, "www.") == 0:
        settings.cookie_domain = php.substr(settings.cookie_domain, 4)
    settings.cookie_domain = php.explode(":", settings.cookie_domain)
    settings.cookie_domain = "." + settings.cookie_domain[0]
    # Per RFC 2109, cookie domains must contain at least one dot other than the
    # first. For hosts such as 'localhost' or IP Addresses we don't set a
    # cookie domain.
    if php.count(php.explode(".", settings.cookie_domain)) > 2 and not php.is_numeric(
        php.str_replace(".", "", settings.cookie_domain)
    ):
        php.ini_set("session.cookie_domain", settings.cookie_domain)
    # print session_name;
    lib_session.name("SESS" + php.md5(session_name_))
开发者ID:sabren,项目名称:drupy,代码行数:70,代码来源:bootstrap.py

示例6: hook_init

# 需要导入模块: from lib.drupy import DrupyPHP [as 别名]
# 或者: from lib.drupy.DrupyPHP import dirname [as 别名]
def hook_init(template):
  file = php.dirname(template.filename) + '/template.py'
  if (php.file_exists(file)):
    lib_theme.processors['template'] = DrupyImport.import_file(file)
开发者ID:brendoncrawford,项目名称:drupy,代码行数:6,代码来源:__init__.py


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