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


Python util.format_path函数代码示例

本文整理汇总了Python中util.format_path函数的典型用法代码示例。如果您正苦于以下问题:Python format_path函数的具体用法?Python format_path怎么用?Python format_path使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: put

  def put(self, path, content):
    """
    Args:
      path: string
      content: string

    Returns:
      None
    """
    path = util.format_path(path)
    name = os.path.basename(path)
    parent_folder = os.path.dirname(path)

    if parent_folder == '/':
      parent_id = BoxAPI.ROOT_FOLDER_ID
    else:
      parent = self._path_to_metadata(parent_folder, isfolder=True)
      if not parent:
        # if the parent folder doesn't exist, then create one
        self.putdir(parent_folder)
        parent = self._path_to_metadata(parent_folder, isfolder=True)
      parent_id = parent['id']

    url = BoxAPI.UPLOAD_URL + '/files/content'
    form = {"parent_id": parent_id}
    strobj = StringIO(content)

    resp = self._request('POST', url, data=form, files={name: strobj})

    metadata = resp['entries'][0]
    self._cache_metadata(path, metadata)
    return True 
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:32,代码来源:box_api.py

示例2: get_logs

  def get_logs(self, path, last_clock):

    beg = time.time()

    path = '/Public' + util.format_path(path)
    length = 5
    offset = 0

    # latest comment comes first
    comments = self.get_comments(path, length, offset)
    if not comments:
      return [], None
    
    new_logs = []
    new_clock = comments[0]['id']
    end = False

    while True:
      for comment in comments:
        if last_clock and comment['id'] == last_clock:
          end = True
          break
        new_logs.insert(0, comment['message'])
      if end: break
      if len(comments) < length: break
      # if haven't reached to end, read next batch
      offset += length
      comments = self.get_comments(path, length, offset)

    end = time.time()
    dbg.paxos_time("get_log %s", end-beg)
    return new_logs, new_clock
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:32,代码来源:onedrive_api.py

示例3: listdir

  def listdir(self, path):
    """
    Args:
      path: string

    Returns:
      list of file/dir names
    """
    path = util.format_path(path)

    if path == '/':
      folder_id = BoxAPI.ROOT_FOLDER_ID
    else:
      folder = self.search(path)
      folder_id = folder['id']

    result = []
    offset = 0
    while True:
      metalist = self._listdir(folder_id, offset)
    
      for metadata in metalist:
        self._cache_metadata(os.path.join(path, metadata['name']), metadata)
        result.append(metadata['name'])

      if(len(metalist) < 1000): break
      offset += 1000
      
    return result
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:29,代码来源:box_api.py

示例4: listdir

  def listdir(self, path):
    result = []
    path = util.format_path(path)
    if path == '/':
      folder_id = 'root'
    else:
      folder_id = self._path_to_metadata(path)['id']

    param = {}
    param['q'] = '"%s" in parents and trashed=false' % (folder_id)
    param['maxResults'] = 500
    page_token = None

    while True:
      try:
        if page_token:
          param['pageToken'] = page_token
        files = self.service.files().list(**param).execute()
        result.extend(map(lambda x: x['title'], files['items']))

        page_token = files.get('nextPageToken', None)
        if not page_token:
          break
      except errors.HttpError, error:
        print 'An error occurred: %s' % error
        return None
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:26,代码来源:google_api.py

示例5: putdir

  def putdir(self, path):
    """
    Args:
      path: string

    Returns:
      None
    """
    path = util.format_path(path)
    name = os.path.basename(path)
    parent_folder = os.path.dirname(path)

    if parent_folder == '/':
      parent_id = BoxAPI.ROOT_FOLDER_ID
    else:
      parent = self._path_to_metadata(parent_folder, isfolder=True)
      if not parent:
        # if the parent folder doesn't exist, then create one
        self.putdir(parent_folder)
        parent = self._path_to_metadata(parent_folder, isfolder=True)
      parent_id = parent['id']

    url = BoxAPI.BASE_URL + '/folders'
    data = '{"name":"%s", "parent":{"id":"%s"}}' % (name, parent_id)
    resp = self._request('POST', url, data=data)

    self._cache_metadata(path, resp)
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:27,代码来源:box_api.py

示例6: rmdir

  def rmdir(self, path):
    path = util.format_path(path)
    metadata = self._path_to_metadata(path, isfolder=True)
    file_id = metadata['id']

    url = OneDriveAPI.BASE_URL + '/%s' % file_id
    self._request('DELETE', url, raw=True)
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:7,代码来源:onedrive_api.py

示例7: metadata

 def metadata(self, path):
   path = util.format_path(path)
   _md = self.search(path)
   md = {}
   md['size'] = _md['size']
   md['mtime'] = util.convert_time(_md['updated_time'])
   return md
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:7,代码来源:onedrive_api.py

示例8: putdir

  def putdir(self, path):
    """
    Args:
      path: string

    Returns:
      None
    """
    path = util.format_path(path)
    name = os.path.basename(path)
    parent_folder = os.path.dirname(path)

    parent = self._path_to_metadata(parent_folder, isfolder=True)
    if not parent:
      # if the parent folder doesn't exist, then create one
      self.putdir(parent_folder)
      parent = self._path_to_metadata(parent_folder, isfolder=True)

    parent_id = parent['id']
    url = OneDriveAPI.BASE_URL + '/%s' % parent_id
    headers = {
      "Authorization": "Bearer " + self.token.access_token,
      "Content-Type": "application/json"
    }
    data = '{"name": "%s"}' % name
    resp = self._request('POST', url, headers=headers, data=data)
    self._cache_metadata(path, resp)
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:27,代码来源:onedrive_api.py

示例9: put

  def put(self, path, content):
    """
    Args:
      path: string
      content: string

    Returns:
      None
    """
    path = util.format_path(path)
    name = os.path.basename(path)
    parent_folder = os.path.dirname(path)

    parent = self._path_to_metadata(parent_folder, isfolder=True)
    if not parent:
      # if the parent folder doesn't exist, then create one
      self.putdir(parent_folder)
      parent = self._path_to_metadata(parent_folder, isfolder=True)

    parent_id = parent['id']
    url = OneDriveAPI.BASE_URL + '/%s/files/%s' % (parent_id, name)
    strobj = StringIO(content)
    params = { 'overwrite': 'false' }
    metadata = self._request('PUT', url, params=params, data=strobj)

    metadata[u'type'] = u'file'
    self._cache_metadata(path, metadata)
    return True
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:28,代码来源:onedrive_api.py

示例10: update

  def update(self, path, content):
    """Update the file
    Args and returns same as put
    """
    dbg.dbg(path)
    path = util.format_path(path)
    metadata = self._path_to_metadata(path)
    file_id = metadata['id']

    uri = GoogleAPI.UPLOAD_URL + '/files/%s?uploadType=media' % file_id

    headers = {
      'Content-Type': 'text/plain',
      'Content-Length': len(content),
	 	}

    for retry_num in xrange(self._num_retries + 1):
      resp, data = self.service._http.request(uri, method='PUT',
        body=content, headers=headers)
      if resp.status < 500:
        break

    if resp.status >= 300:
      raise errors.HttpError(resp, data, uri=uri)
    if resp.status == 200:
      drive_file = json.loads(data)
      self._cache_metadata(path, drive_file)
      return True
    else:
      return False
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:30,代码来源:google_api.py

示例11: putdir

  def putdir(self, path):

    uri = GoogleAPI.UPLOAD_URL + '/files?uploadType=multipart&alt=json'

    path = util.format_path(path)
    name = os.path.basename(path)
    folder = os.path.dirname(path)

    parent_id = None
    if folder != '/':
      # if it's not at the root folder, find out the parent id
      parent = self._path_to_metadata(folder, isfolder=True)
      if not parent:
        # if the parent folder doesn't exist, then create one
        self.putdir(folder)
        parent = self._path_to_metadata(folder, isfolder=True)
      parent_id = parent['id']

    body = {
      'title': name,
      'mimeType': 'application/vnd.google-apps.folder'
    }
    if parent_id:
      # if not at root folder
      body['parents'] = [{'id': parent_id}]

    try:
      drive_file = self.service.files().insert(body=body).execute()
      self._cache_metadata(path, drive_file)
      return True
    except errors.HttpError, error:
      print 'An error occurred: %s' % error
      return False
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:33,代码来源:google_api.py

示例12: rmdir

  def rmdir(self, path):
    path = util.format_path(path)
    metadata = self._path_to_metadata(path, isfolder=True)
    file_id = metadata['id']

    self.service.files().delete(fileId=file_id).execute()
    self._decache_metadata(path, metadata)
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:7,代码来源:google_api.py

示例13: metadata

 def metadata(self, path):
   path = util.format_path(path)
   _md = self.search(path)
   md = {}
   md['size'] = eval(_md['fileSize'])
   md['mtime'] = util.convert_time(_md['modifiedDate'])
   return md
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:7,代码来源:google_api.py

示例14: get_logs

  def get_logs(self, path, last_clock):
    path = util.format_path(path)
    file_id = self._path_to_metadata(path)['id']

    # latest comment comes first
    comments = self.service.comments().list(fileId=file_id, maxResults=5).execute()
    if not comments['items']:
      return [], None
    
    new_logs = []
    new_clock = comments['items'][0]['commentId']
    end = False

    while True:
      for comment in comments['items']:
        if last_clock and comment['commentId'] == last_clock:
          end = True
          break
        new_logs.insert(0, comment['content'])
      if end: break
      if 'nextPageToken' not in comments: break
      # get a new batch (5) comments
      comments = self.service.comments().list(fileId=file_id, maxResults=5, pageToken=comments['nextPageToken']).execute()

    return new_logs, new_clock
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:25,代码来源:google_api.py

示例15: listdir_old

  def listdir_old(self, path):
    result = []
    page_token = None

    path = util.format_path(path)
    folder_metadata = self.search(path)
    if folder_metadata:
      folder_id = folder_metadata['id']
    else:
      folder_id = 'root'

    while True:
      try:
        param = {}
        if page_token:
          param['pageToken'] = page_token

        children = self.service.children().list(folderId=folder_id, **param).execute()

        for child in children.get('items', []):
          request = self.service.files().get(fileId=child['id'])
          metadata = request.execute()
          self._cache_metadata(os.path.join(path, metadata['title']), metadata)
          result.append(metadata['title'])

        page_token = children.get('nextPageToken')

        if not page_token:
          break
      except errors.HttpError, error:
        print 'An error occurred: %s' % error
        break
开发者ID:UWNetworksLab,项目名称:metasync,代码行数:32,代码来源:google_api.py


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