gdrive_ros_client.py
Go to the documentation of this file.
1 import rospy
2 from gdrive_ros.srv import MultipleUpload
3 from gdrive_ros.srv import MultipleUploadRequest
4 from gdrive_ros.srv import Upload
5 from gdrive_ros.srv import UploadRequest
6 
7 
9 
10  def __init__(self):
11 
12  self.srv_upload = rospy.ServiceProxy(
13  '/gdrive_server/upload',
14  Upload
15  )
16  self.srv_upload_multi = rospy.ServiceProxy(
17  '/gdrive_server/upload_multi',
18  MultipleUpload
19  )
20 
21  def wait_for_gdrive_server(self,timeout=None):
22  if timeout is None:
23  rospy.wait_for_service('/gdrive_server/upload')
24  rospy.wait_for_service('/gdrive_server/upload_multi')
25 
26  try:
27  rospy.wait_for_service('/gdrive_server/upload', timeout=timeout)
28  rospy.wait_for_service('/gdrive_server/upload_multi', timeout=timeout)
29  return True
30  except rospy.ROSException as e:
31  rospy.logerr('Error: {}'.format(e))
32  return False
33 
34  def upload_file(self,
35  file_path,
36  file_title,
37  parents_path='',
38  parents_id='',
39  use_timestamp_folder=False,
40  use_timestamp_file_title=False
41  ):
42  #
43  req = UploadRequest()
44  req.file_path = file_path
45  req.file_title = file_title
46  req.parents_path = parents_path
47  req.parents_id = parents_id
48  req.use_timestamp_folder = use_timestamp_folder
49  req.use_timestamp_file_title = use_timestamp_file_title
50  #
51  res = self.srv_upload(req)
52  #
53  return (res.success,
54  res.file_id,
55  res.file_url,
56  res.parents_id,
57  res.parents_url)
58 
59  def upload_multiple_files(self,
60  file_paths,
61  file_titles,
62  parents_path='',
63  parents_id='',
64  use_timestamp_folder=False,
65  use_timestamp_file_title=False
66  ):
67  #
68  req = MultipleUploadRequest()
69  req.file_paths = file_paths
70  req.file_titles = file_titles
71  req.parents_path = parents_path
72  req.parents_id = parents_id
73  req.use_timestamp_folder = use_timestamp_folder
74  req.use_timestamp_file_title = use_timestamp_file_title
75  #
76  res = self.srv_upload_multi(req)
77  #
78  return (res.successes,
79  res.file_ids,
80  res.file_urls,
81  res.parents_id,
82  res.parents_url)
def upload_file(self, file_path, file_title, parents_path='', parents_id='', use_timestamp_folder=False, use_timestamp_file_title=False)
def upload_multiple_files(self, file_paths, file_titles, parents_path='', parents_id='', use_timestamp_folder=False, use_timestamp_file_title=False)


gdrive_ros
Author(s): Shingo Kitagawa
autogenerated on Sat Jun 24 2023 02:40:20