def upload(self, name, content):
     """The simple upload API allows you to provide the contents of a new file or update the contents of an
     existing file in a single API call. This method only supports files up to 4MB in size. """
     drive_item = DriveItem(self.context, ResourcePathUrl(self.context, self.resourcePath, name))
     qry = ClientQuery(r"{0}content".format(drive_item.resourceUrl), HttpMethod.Put, content)
     self.context.add_query(qry, drive_item)
     return drive_item
 def add(self, web_creation_information):
     web = Web(self.context)
     qry = ClientQuery(self.resource_url + "/add", ActionType.PostMethod,
                       web_creation_information)
     self.context.add_query(qry, web)
     self.add_child(web)
     return web
Example #3
0
 def add_user(self, login_name):
     user = User(self.context)
     user.set_property('LoginName', login_name)
     qry = ClientQuery(self.resourceUrl, HttpMethod.Post, user)
     self.context.add_query(qry, user)
     self.add_child(user)
     return user
Example #4
0
 def load(self, client_object, properties_to_retrieve=[]):
     """Prepare query"""
     if properties_to_retrieve:
         select_expr = ",".join(properties_to_retrieve)
         client_object = client_object.select(select_expr)
     qry = ClientQuery(client_object.url, ActionType.ReadEntry)
     self.pending_request.add_query(qry, client_object)
Example #5
0
 def add_item(self, list_item_creation_information):
     """The recommended way to add a list item is to send a POST request to the ListItemCollection resource endpoint,
      as shown in ListItemCollection request examples."""
     item = ListItem(self.context, None, list_item_creation_information)
     qry = ClientQuery(self.url + "/items", ActionType.CreateEntry, item.convert_to_payload())
     self.context.add_query(qry, item)
     return item
Example #6
0
 def convert(self, format_name):
     """Converts the contents of an item in a specific format"""
     url = r"{0}content?format={1}".format(self.resourceUrl, format_name)
     qry = ClientQuery(url, HttpMethod.Get)
     result = ClientResult(None)
     self.context.add_query(qry, result)
     return result
Example #7
0
 def add(self, web_creation_information):
     web = Web(self.context)
     qry = ClientQuery(self.resourceUrl + "/add", HttpMethod.Post,
                       web_creation_information)
     self.context.add_query(qry, web)
     self.add_child(web)
     return web
Example #8
0
 def add(self, folder_url):
     from office365.sharepoint.folder import Folder
     folder = Folder(self.context)
     folder.set_property("ServerRelativeUrl", folder_url)
     qry = ClientQuery(self.url, ActionType.CreateEntry, folder.convert_to_payload())
     self.context.add_query(qry, folder)
     return folder
 def get_all_webs(self):
     """Returns a collection containing a flat list of all Web objects in the Web object."""
     result = ClientResult(self.webs)
     qry = ClientQuery(self.webs, None, None, result)
     self.context.add_query(qry)
     self.context.afterExecuteOnce += self._load_sub_webs
     return result
 def add(self, web_creation_information):
     web_creation_information._include_metadata = self.include_metadata
     payload = web_creation_information.payload
     web = Web(self.context)
     qry = ClientQuery(self.url + "/add", ActionType.PostMethod, payload)
     self.context.add_query(qry, web)
     self.add_child(web)
     return web
Example #11
0
 def download(self):
     """Download the contents of the primary stream (file) of a DriveItem. Only driveItems with the file property
     can be downloaded. """
     url = r"{0}content".format(self.resourceUrl)
     qry = ClientQuery(url, HttpMethod.Get)
     result = ClientResult(None)
     self.context.add_query(qry, result)
     return result
Example #12
0
 def add(self, group_creation_information):
     """Creates a Group resource"""
     group = Group(self.context)
     qry = ClientQuery(self.resourceUrl, HttpMethod.Post,
                       group_creation_information)
     self.context.add_query(qry, group)
     self.add_child(group)
     return group
Example #13
0
 def add_item(self, list_item_creation_information):
     """The recommended way to add a list item is to send a POST request to the ListItemCollection resource endpoint,
      as shown in ListItemCollection request examples."""
     item = ListItem(self.context, None, list_item_creation_information)
     item._parent_collection = self
     qry = ClientQuery(self.resourceUrl + "/items", HttpMethod.Post, item)
     self.context.add_query(qry, item)
     return item
Example #14
0
 def add(self, group_creation_information):
     """Creates a Group resource"""
     group = Group(self.context)
     qry = ClientQuery(self.url, ActionType.CreateEntry,
                       group_creation_information)
     self.context.add_query(qry, group)
     self.add_child(group)
     return group
Example #15
0
 def load(self, client_object, properties_to_retrieve=None):
     """Prepare query"""
     if properties_to_retrieve is None:
         properties_to_retrieve = []
     if properties_to_retrieve:
         select_expr = ",".join(properties_to_retrieve)
         client_object = client_object.select(select_expr)
     qry = ClientQuery(client_object.resourceUrl, HttpMethod.Get)
     self.pending_request.add_query(qry, client_object)
Example #16
0
    def get_all_webs(self):
        """Returns a collection containing a flat list of all Web objects in the Web object."""
        result = ClientResult(self.webs)
        qry = ClientQuery(self.webs, None, None, result)
        self.context.add_query(qry)

        def _load_sub_webs(resp):
            self._load_sub_webs_inner(result.value)
        self.context.after_execute(_load_sub_webs)
        return result
 def create_folder(self, name):
     """Create a new folder or DriveItem in a Drive with a specified parent item or path."""
     drive_item = DriveItem(self.context, None)
     drive_item._parent_collection = self.children
     payload = {
         "name": name,
         "folder": {},
         "@microsoft.graph.conflictBehavior": ConflictBehavior.Rename
     }
     qry = ClientQuery(self.resourceUrl + "/children", HttpMethod.Post, payload)
     self.context.add_query(qry, drive_item)
     return drive_item
Example #18
0
 def delete_list_item(self, list_name, item_id):
     resource_url = self.service_root_url + list_name + "(" + str(item_id) + ")"
     qry = ClientQuery(resource_url, ActionType.DeleteEntity)
     self.add_query(qry)
Example #19
0
 def add(self, folder_url):
     folder = Folder(self.context)
     folder.set_property("ServerRelativeUrl", folder_url)
     qry = ClientQuery(self.resourceUrl, HttpMethod.Post, folder)
     self.context.add_query(qry, folder)
     return folder
 def send_mail(self, message):
     """Send a new message on the fly"""
     url = self.resourceUrl + "/sendmail"
     qry = ClientQuery(url, HttpMethod.Post, message)
     self.context.add_query(qry)
Example #21
0
 def load(self, client_object, properties_to_retrieve=[]):
     """Prepare query"""
     qry = ClientQuery(client_object.url, ActionType.ReadEntry)
     self.pending_request.add_query(qry, client_object)
Example #22
0
 def update_list_item(self, list_name, item_id, field_values):
     resource_url = self.service_root_url + list_name + "(" + str(item_id) + ")"
     qry = ClientQuery(resource_url, ActionType.UpdateEntity, field_values)
     self.add_query(qry)
 def add(self, folder_url):
     folder = Folder(self.context)
     folder.set_property("ServerRelativeUrl", folder_url)
     qry = ClientQuery(self.resource_url, ActionType.CreateEntity, folder)
     self.context.add_query(qry, folder)
     return folder