Exemplo n.º 1
0
    def download(self):
        # Get a file
        drive_service = TransportVehicle.build_drive_service()
        try:
            file = drive_service.files().get(fileId=self.file_id).execute()
        except AccessTokenCredentialsError as a:
            print "Download try:", a
            creds = TransportVehicle.manual_authorization()
            drive_service = TransportVehicle.build_drive_service(credentials=creds)
            file = drive_service.files().get(fileId=self.file_id).execute()

        url = file.get('downloadUrl')
        if url:
            resp, content = drive_service._http.request(url)
            if resp.status == 200:
                f = open(self.given_name,'w+')
                f.write(content)
                f.close()
Exemplo n.º 2
0
    def upload(self):
        # Path to the file to upload
        drive_service = TransportVehicle.build_drive_service()
        media_body = MediaFileUpload(self.file_path, mimetype='text/plain', resumable=True)
        body = {
            'title': self.given_name,
            'description': 'A test document',
            'mimeType': 'text/plain'
        }
        try:
            file = drive_service.files().insert(body=body, media_body=media_body).execute()
        except Exception as a:
            print "Upload try:", a
            creds = TransportVehicle.manual_authorization()
            drive_service = TransportVehicle.build_drive_service(credentials=creds)
            file = drive_service.files().insert(body=body, media_body=media_body).execute()

        return file['id']
Exemplo n.º 3
0
        url = file.get('downloadUrl')
        if url:
            resp, content = drive_service._http.request(url)
            if resp.status == 200:
                f = open(self.given_name,'w+')
                f.write(content)
                f.close()


if __name__ == '__main__':
    # Add argparse here
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('--jsession_id', metavar="ID", default=None, help="The JSession ID that will be used to attempt to authenticate.")
    parser.add_argument('file_path')
    parser.add_argument('given_name')
    args = parser.parse_args()
    
    FILE_ID = sys.argv[1]
    GIVEN_NAME = sys.argv[2]
    token = None
    if args.jsession_id:
        JSESSIONID = args.jsession_id
        cookie = dict(JSESSIONID=JSESSIONID)
        access = requests.get('https://myglims.appspot.com/token', cookies=cookie)
        token = str( access.text ).strip( )
    
    
    TransportVehicle.setToken(token)
    d = Download( GIVEN_NAME, FILE_ID )
    d.download()