Passed
Pull Request — master (#27)
by
unknown
01:13
created

nextcloud.api_wrappers.federated_cloudshares   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 8
eloc 27
dl 0
loc 36
rs 10
c 0
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A FederatedCloudShare.list_pending_federated_cloudshares() 0 3 1
A FederatedCloudShare.accept_pending_federated_cloudshare() 0 3 1
A FederatedCloudShare.list_accepted_federated_cloudshares() 0 3 1
A FederatedCloudShare.get_known_federated_cloudshare() 0 3 1
A FederatedCloudShare.delete_accepted_federated_cloudshare() 0 3 1
A FederatedCloudShare.decline_pending_federated_cloudshare() 0 3 1
A FederatedCloudShare.get_federated_url() 0 4 2
1
from nextcloud.base import WithRequester
2
3
4
class FederatedCloudShare(WithRequester):
5
    API_URL = "/ocs/v2.php/apps/files_sharing/api/v1"
6
    FEDERATED = "remote_shares"
7
8
    def get_federated_url(self, additional_url=""):
9
        if additional_url:
10
            return "/".join([self.FEDERATED, additional_url])
11
        return self.FEDERATED
12
13
    def list_accepted_federated_cloudshares(self):
14
        url = self.get_federated_url()
15
        return self.requester.get(url)
16
17
    def get_known_federated_cloudshare(self, sid):
18
        url = self.get_federated_url(sid)
19
        return self.requester.get(url)
20
21
    def delete_accepted_federated_cloudshare(self, sid):
22
        url = self.get_federated_url(sid)
23
        return self.requester.delete(url)
24
25
    def list_pending_federated_cloudshares(self, sid):
26
        url = self.get_federated_url("pending")
27
        return self.requester.get(url)
28
29
    def accept_pending_federated_cloudshare(self, sid):
30
        url = self.get_federated_url("pending/{sid}".format(sid=sid))
31
        return self.requester.post(url)
32
33
    def decline_pending_federated_cloudshare(self, sid):
34
        url = self.get_federated_url("pending/{sid}".format(sid=sid))
35
        return self.requester.delete(url)
36