gam.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:GAMADV-XTD 作者: taers232c 项目源码 文件源码
def getPhoto(users):
  cd = buildGAPIObject(API.DIRECTORY)
  targetFolder = os.getcwd()
  showPhotoData = True
  while Cmd.ArgumentsRemaining():
    myarg = getArgument()
    if myarg == u'drivedir':
      targetFolder = GC.Values[GC.DRIVE_DIR]
    elif myarg == u'targetfolder':
      targetFolder = os.path.expanduser(getString(Cmd.OB_FILE_PATH))
      if not os.path.isdir(targetFolder):
        os.makedirs(targetFolder)
    elif myarg == u'noshow':
      showPhotoData = False
    else:
      unknownArgumentExit()
  i, count, users = getEntityArgument(users)
  for user in users:
    i += 1
    user = normalizeEmailAddressOrUID(user)
    try:
      entityPerformActionNumItems([Ent.USER, user], 1, Ent.PHOTO, i, count)
      photo = callGAPI(cd.users().photos(), u'get',
                       throw_reasons=[GAPI.USER_NOT_FOUND, GAPI.FORBIDDEN, GAPI.PHOTO_NOT_FOUND],
                       userKey=user)
      filename = os.path.join(targetFolder, u'{0}.jpg'.format(user))
      photo_data = str(photo[u'photoData'])
      if showPhotoData:
        writeStdout(photo_data+'\n')
      status, e = writeFileReturnError(filename, base64.urlsafe_b64decode(photo_data))
      if status:
        entityActionPerformed([Ent.USER, user, Ent.PHOTO, filename], i, count)
      else:
        entityActionFailedWarning([Ent.USER, user, Ent.PHOTO, filename], str(e), i, count)
    except GAPI.photoNotFound as e:
      entityActionFailedWarning([Ent.USER, user, Ent.PHOTO, None], str(e), i, count)
    except (GAPI.userNotFound, GAPI.forbidden):
      entityUnknownWarning(Ent.USER, user, i, count)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号