nextcloud.api_wrappers.federated_cloudshares   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 8
eloc 28
dl 0
loc 38
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
# -*- coding: utf-8 -*-
2
from nextcloud.base import WithRequester
3
4
5
class FederatedCloudShare(WithRequester):
6
    API_URL = "/ocs/v2.php/apps/files_sharing/api/v1"
7
    FEDERATED = "remote_shares"
8
    SUCCESS_CODE = 200
9
10
    def get_federated_url(self, additional_url=""):
11
        if additional_url:
12
            return "/".join([self.FEDERATED, additional_url])
13
        return self.FEDERATED
14
15
    def list_accepted_federated_cloudshares(self):
16
        url = self.get_federated_url()
17
        return self.requester.get(url)
18
19
    def get_known_federated_cloudshare(self, sid):
20
        url = self.get_federated_url(sid)
21
        return self.requester.get(url)
22
23
    def delete_accepted_federated_cloudshare(self, sid):
24
        url = self.get_federated_url(sid)
25
        return self.requester.delete(url)
26
27
    def list_pending_federated_cloudshares(self):
28
        url = self.get_federated_url("pending")
29
        return self.requester.get(url)
30
31
    def accept_pending_federated_cloudshare(self, sid):
32
        url = self.get_federated_url("pending/{sid}".format(sid=sid))
33
        return self.requester.post(url)
34
35
    def decline_pending_federated_cloudshare(self, sid):
36
        url = self.get_federated_url("pending/{sid}".format(sid=sid))
37
        return self.requester.delete(url)
38