files-com 1.6.72__py3-none-any.whl → 1.6.74__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of files-com might be problematic. Click here for more details.
- _VERSION +1 -1
- {files_com-1.6.72.dist-info → files_com-1.6.74.dist-info}/METADATA +1 -1
- {files_com-1.6.72.dist-info → files_com-1.6.74.dist-info}/RECORD +11 -11
- files_sdk/__init__.py +1 -1
- files_sdk/models/file.py +8 -0
- files_sdk/models/remote_server.py +16 -0
- files_sdk/models/sso_strategy.py +2 -1
- files_sdk/models/user.py +22 -0
- {files_com-1.6.72.dist-info → files_com-1.6.74.dist-info}/WHEEL +0 -0
- {files_com-1.6.72.dist-info → files_com-1.6.74.dist-info}/licenses/LICENSE +0 -0
- {files_com-1.6.72.dist-info → files_com-1.6.74.dist-info}/top_level.txt +0 -0
_VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.6.
|
|
1
|
+
1.6.74
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
README.md,sha256=1Rj6T45hiVlUVx3J-b3E4n3JnWQSEEkuNibBeYzwgWQ,31440
|
|
2
|
-
_VERSION,sha256=
|
|
3
|
-
files_com-1.6.
|
|
4
|
-
files_sdk/__init__.py,sha256=
|
|
2
|
+
_VERSION,sha256=kFCufju_d_jbUhBW3DWIl7Arl1b2e7aJKND5WaGkc3E,7
|
|
3
|
+
files_com-1.6.74.dist-info/licenses/LICENSE,sha256=ziANl9OTD-5-iE8XYIZNm6IYBDxOCHwQ-mdhci7lNew,1102
|
|
4
|
+
files_sdk/__init__.py,sha256=eWfDe7jAfWjOpJ1od7a2H4McnX1AqXIkTAzRHnbpFB8,13153
|
|
5
5
|
files_sdk/api.py,sha256=HOLk50HLQCbnHwnAr9OElQEWvdA_BABBSEvvFSt1S4A,1846
|
|
6
6
|
files_sdk/api_client.py,sha256=cfFvm-o4Ao8SWADiJv7t7qnJfG_LJmWV3l6ALTC-Opo,11264
|
|
7
7
|
files_sdk/error.py,sha256=1Nrfq2AuyTf86XH1Pwx-ykzIKpPGSUibCGs-QF6_9LI,66643
|
|
@@ -41,7 +41,7 @@ files_sdk/models/email_log.py,sha256=Mg8q2Np7pqocKflgjkAhc_LY6QYRdN5rmkeWSuoBlE8
|
|
|
41
41
|
files_sdk/models/errors.py,sha256=x9hbHLBuLNp-2wq3n8A7nrzRP0QuhKqyQwhtVsgTwpE,1117
|
|
42
42
|
files_sdk/models/exavault_api_request_log.py,sha256=SM5dCWSiVqshiWKclhG3FDDKWnRlBW0eoVvFlCBftkI,8090
|
|
43
43
|
files_sdk/models/external_event.py,sha256=4hRg9t9W0QIB8SiJ2LUxwFefR4Odo7ip-bqdignqxpk,7594
|
|
44
|
-
files_sdk/models/file.py,sha256=
|
|
44
|
+
files_sdk/models/file.py,sha256=ipMIcZVBDnfpaR-_MK6bL3Fciu7BerNJWmNsqgCzWq4,35916
|
|
45
45
|
files_sdk/models/file_action.py,sha256=xRUSlnikXt2Y-SbWyuSdG75l0or9Ebl518Jy8btPux4,1231
|
|
46
46
|
files_sdk/models/file_comment.py,sha256=LcfN0FRcGU6xr_Y6ItLWYAkp3Nxg8wvf_JToj-Q9z-c,7160
|
|
47
47
|
files_sdk/models/file_comment_reaction.py,sha256=FHvRIpcV69qwN7WEbUyMZ-8dI2EGZsLMGFDUwKzLMLc,4350
|
|
@@ -84,7 +84,7 @@ files_sdk/models/public_ip_address.py,sha256=5VSlJ4PZQilV6tpGRCnyvGJzqRzdSRpwVDZ
|
|
|
84
84
|
files_sdk/models/public_key.py,sha256=kY00rMoKiYCNwQFNmv1s3M8MQOSR98lMTMBhjKMe_Es,12502
|
|
85
85
|
files_sdk/models/remote_bandwidth_snapshot.py,sha256=kryNewGqe_ZN4D3JBL26DoVYKDowubUNLXn7NQtEJb8,4476
|
|
86
86
|
files_sdk/models/remote_mount_backend.py,sha256=TZ6pLJPLy8se4poHMuREHYNavCOKiznBxPLti008CBY,19360
|
|
87
|
-
files_sdk/models/remote_server.py,sha256=
|
|
87
|
+
files_sdk/models/remote_server.py,sha256=PIIHCW53MkSfFGnkkv2ArYWDkIcgvQ95B7EEBkgMukk,82993
|
|
88
88
|
files_sdk/models/remote_server_configuration_file.py,sha256=So6cK83z_6xwLnHJYgEwzSb9eBkDK5XG2Q4k8kp9nno,3476
|
|
89
89
|
files_sdk/models/request.py,sha256=mWOS36b5pRiAZqDuf1tGidw-FAikYPDqfv5LXdDJA9Q,8867
|
|
90
90
|
files_sdk/models/restore.py,sha256=ukXp-fwsuGFhWl2ULAEWiKarIY3DjOIk3x3hHlshjqE,6685
|
|
@@ -98,7 +98,7 @@ files_sdk/models/share_group_member.py,sha256=m0BUE4AhClJIoaV-_kU0yryCOwQ5EloZly
|
|
|
98
98
|
files_sdk/models/siem_http_destination.py,sha256=mWgfHro5CObkwTYgiWnrREQX2X6zJR389Zw7DJgMFac,50185
|
|
99
99
|
files_sdk/models/site.py,sha256=cxXogtBHPPk1ZruEPP-IBcyKP9QKHFzgBGlmH1gwunc,70076
|
|
100
100
|
files_sdk/models/snapshot.py,sha256=zmdQWKR8EhUkF1mFQHFzWfreaEVXG1p_jEtmY4j3cKA,9840
|
|
101
|
-
files_sdk/models/sso_strategy.py,sha256=
|
|
101
|
+
files_sdk/models/sso_strategy.py,sha256=PA_B4cF4XUnzaTjH0Ld0yUNwWCy8Wpea46YuJrrXtXM,9305
|
|
102
102
|
files_sdk/models/status.py,sha256=IIY3RiJ2RZ2yPByAAh8eIq_cgZFTj13eR4UpqHTANQI,1363
|
|
103
103
|
files_sdk/models/style.py,sha256=KZY0fZ4kP4AtwZpCi24EtNXL8WFLhE9a1Jme1gA6Kkw,5201
|
|
104
104
|
files_sdk/models/sync.py,sha256=dIlmpq4LNwYRMeD5-cQpx6r3XCpF5r8uvzYFGFT17fA,28291
|
|
@@ -107,14 +107,14 @@ files_sdk/models/sync_run.py,sha256=aQX8hT1NmZ2i5J2C1vJLAE1HK5gn-TMFukfTsKydF2Y,
|
|
|
107
107
|
files_sdk/models/usage_by_top_level_dir.py,sha256=o_dETvzcgEA9lsdES_yzwPVAZVFk4ZcnsCTugR8O8eY,1185
|
|
108
108
|
files_sdk/models/usage_daily_snapshot.py,sha256=rWf6GaTlN9spkUPwfF4IJ0Y6z-JTV9TAWjsFrxI-UFg,5477
|
|
109
109
|
files_sdk/models/usage_snapshot.py,sha256=3GzMIxBjKelgNP7ksWq4XlrRlAFcYxzd_J6vAgb52qc,4005
|
|
110
|
-
files_sdk/models/user.py,sha256=
|
|
110
|
+
files_sdk/models/user.py,sha256=bovoVX7ZHezrXW3l8D_UfA2fR7Cq8UhOl1rxkETP35E,61269
|
|
111
111
|
files_sdk/models/user_cipher_use.py,sha256=5Mto-oU87rG2jGIq8TQoOdNZgJA4_ViikvOdM9_jdt0,4994
|
|
112
112
|
files_sdk/models/user_lifecycle_rule.py,sha256=ZEG3pHxc-lbtofwu9DOCZQgiAbqxAJbDOdiG8JnB6Qo,13421
|
|
113
113
|
files_sdk/models/user_request.py,sha256=ykA5Lq0MYB7qTDOMMFBuyKa_R_LgQwGVorC-q-6qxgU,6187
|
|
114
114
|
files_sdk/models/user_sftp_client_use.py,sha256=VnOo3ll6fwSc8grG5ZqGK8o3grYKg5P9b5B_hGS4vCs,2827
|
|
115
115
|
files_sdk/models/web_dav_action_log.py,sha256=uMTIkTgSpW5mgKAEWnCmI4U5eqcAL2g8OHqB-lBir3A,76424
|
|
116
116
|
files_sdk/models/webhook_test.py,sha256=AWGH8ULsgltBJL2YtTYGnAJ80cCVekrjZ2sUP0UlWgc,5018
|
|
117
|
-
files_com-1.6.
|
|
118
|
-
files_com-1.6.
|
|
119
|
-
files_com-1.6.
|
|
120
|
-
files_com-1.6.
|
|
117
|
+
files_com-1.6.74.dist-info/METADATA,sha256=QVTLQzweJrKmS5ASRRYkybc7PMcXABbk7Wv7iHqPtU0,31732
|
|
118
|
+
files_com-1.6.74.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
119
|
+
files_com-1.6.74.dist-info/top_level.txt,sha256=p_2P-gluT_8boeXQNixTP3x-tFd1-la2NedKOiln21I,10
|
|
120
|
+
files_com-1.6.74.dist-info/RECORD,,
|
files_sdk/__init__.py
CHANGED
files_sdk/models/file.py
CHANGED
|
@@ -59,6 +59,7 @@ class File:
|
|
|
59
59
|
"restart": None, # int64 - File byte offset to restart from.
|
|
60
60
|
"structure": None, # string - If copying folder, copy just the structure?
|
|
61
61
|
"with_rename": None, # boolean - Allow file rename instead of overwrite?
|
|
62
|
+
"buffered_upload": None, # boolean - If true, and the path refers to a destination not stored on Files.com (such as a remote server mount), the upload will be uploaded first to Files.com before being sent to the remote server mount. This can allow clients to upload using parallel parts to a remote server destination that does not offer parallel parts support natively.
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
def __init__(self, *args):
|
|
@@ -477,6 +478,7 @@ def download(path, params=None, options=None):
|
|
|
477
478
|
# size - int64 - Size of file.
|
|
478
479
|
# structure - string - If copying folder, copy just the structure?
|
|
479
480
|
# with_rename - boolean - Allow file rename instead of overwrite?
|
|
481
|
+
# buffered_upload - boolean - If true, and the path refers to a destination not stored on Files.com (such as a remote server mount), the upload will be uploaded first to Files.com before being sent to the remote server mount. This can allow clients to upload using parallel parts to a remote server destination that does not offer parallel parts support natively.
|
|
480
482
|
def create(path, params=None, options=None):
|
|
481
483
|
if not isinstance(params, dict):
|
|
482
484
|
params = {}
|
|
@@ -517,6 +519,12 @@ def create(path, params=None, options=None):
|
|
|
517
519
|
raise InvalidParameterError(
|
|
518
520
|
"Bad parameter: with_rename must be an bool"
|
|
519
521
|
)
|
|
522
|
+
if "buffered_upload" in params and not isinstance(
|
|
523
|
+
params["buffered_upload"], bool
|
|
524
|
+
):
|
|
525
|
+
raise InvalidParameterError(
|
|
526
|
+
"Bad parameter: buffered_upload must be an bool"
|
|
527
|
+
)
|
|
520
528
|
if "path" not in params:
|
|
521
529
|
raise MissingParameterError("Parameter missing: path")
|
|
522
530
|
response, options = Api.send_request(
|
|
@@ -20,6 +20,7 @@ class RemoteServer:
|
|
|
20
20
|
"remote_home_path": None, # string - Initial home folder on remote server
|
|
21
21
|
"name": None, # string - Internal name for your reference
|
|
22
22
|
"port": None, # int64 - Port for remote server. Not needed for S3.
|
|
23
|
+
"buffer_uploads_always": None, # boolean - If true, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com.
|
|
23
24
|
"max_connections": None, # int64 - Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
|
|
24
25
|
"pin_to_site_region": None, # boolean - If true, we will ensure that all communications with this remote server are made through the primary region of the site. This setting can also be overridden by a site-wide setting which will force it to true.
|
|
25
26
|
"pinned_region": None, # string - If set, all communications with this remote server are made through the provided region.
|
|
@@ -223,6 +224,7 @@ class RemoteServer:
|
|
|
223
224
|
# azure_files_storage_share_name - string - Azure Files: Storage Share name
|
|
224
225
|
# backblaze_b2_bucket - string - Backblaze B2 Cloud Storage: Bucket name
|
|
225
226
|
# backblaze_b2_s3_endpoint - string - Backblaze B2 Cloud Storage: S3 Endpoint
|
|
227
|
+
# buffer_uploads_always - boolean - If true, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com.
|
|
226
228
|
# cloudflare_access_key - string - Cloudflare: Access Key.
|
|
227
229
|
# cloudflare_bucket - string - Cloudflare: Bucket name
|
|
228
230
|
# cloudflare_endpoint - string - Cloudflare: endpoint
|
|
@@ -764,6 +766,7 @@ def find_configuration_file(id, params=None, options=None):
|
|
|
764
766
|
# azure_files_storage_share_name - string - Azure Files: Storage Share name
|
|
765
767
|
# backblaze_b2_bucket - string - Backblaze B2 Cloud Storage: Bucket name
|
|
766
768
|
# backblaze_b2_s3_endpoint - string - Backblaze B2 Cloud Storage: S3 Endpoint
|
|
769
|
+
# buffer_uploads_always - boolean - If true, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com.
|
|
767
770
|
# cloudflare_access_key - string - Cloudflare: Access Key.
|
|
768
771
|
# cloudflare_bucket - string - Cloudflare: Bucket name
|
|
769
772
|
# cloudflare_endpoint - string - Cloudflare: endpoint
|
|
@@ -979,6 +982,12 @@ def create(params=None, options=None):
|
|
|
979
982
|
raise InvalidParameterError(
|
|
980
983
|
"Bad parameter: backblaze_b2_s3_endpoint must be an str"
|
|
981
984
|
)
|
|
985
|
+
if "buffer_uploads_always" in params and not isinstance(
|
|
986
|
+
params["buffer_uploads_always"], bool
|
|
987
|
+
):
|
|
988
|
+
raise InvalidParameterError(
|
|
989
|
+
"Bad parameter: buffer_uploads_always must be an bool"
|
|
990
|
+
)
|
|
982
991
|
if "cloudflare_access_key" in params and not isinstance(
|
|
983
992
|
params["cloudflare_access_key"], str
|
|
984
993
|
):
|
|
@@ -1273,6 +1282,7 @@ def configuration_file(id, params=None, options=None):
|
|
|
1273
1282
|
# azure_files_storage_share_name - string - Azure Files: Storage Share name
|
|
1274
1283
|
# backblaze_b2_bucket - string - Backblaze B2 Cloud Storage: Bucket name
|
|
1275
1284
|
# backblaze_b2_s3_endpoint - string - Backblaze B2 Cloud Storage: S3 Endpoint
|
|
1285
|
+
# buffer_uploads_always - boolean - If true, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections. It will cause data to be temporarily stored in Files.com.
|
|
1276
1286
|
# cloudflare_access_key - string - Cloudflare: Access Key.
|
|
1277
1287
|
# cloudflare_bucket - string - Cloudflare: Bucket name
|
|
1278
1288
|
# cloudflare_endpoint - string - Cloudflare: endpoint
|
|
@@ -1491,6 +1501,12 @@ def update(id, params=None, options=None):
|
|
|
1491
1501
|
raise InvalidParameterError(
|
|
1492
1502
|
"Bad parameter: backblaze_b2_s3_endpoint must be an str"
|
|
1493
1503
|
)
|
|
1504
|
+
if "buffer_uploads_always" in params and not isinstance(
|
|
1505
|
+
params["buffer_uploads_always"], bool
|
|
1506
|
+
):
|
|
1507
|
+
raise InvalidParameterError(
|
|
1508
|
+
"Bad parameter: buffer_uploads_always must be an bool"
|
|
1509
|
+
)
|
|
1494
1510
|
if "cloudflare_access_key" in params and not isinstance(
|
|
1495
1511
|
params["cloudflare_access_key"], str
|
|
1496
1512
|
):
|
files_sdk/models/sso_strategy.py
CHANGED
|
@@ -26,7 +26,7 @@ class SsoStrategy:
|
|
|
26
26
|
"scim_username": None, # string - SCIM username.
|
|
27
27
|
"scim_oauth_access_token": None, # string - SCIM OAuth Access Token.
|
|
28
28
|
"scim_oauth_access_token_expires_at": None, # string - SCIM OAuth Access Token Expiration Time.
|
|
29
|
-
"subdomain": None, # string - Subdomain
|
|
29
|
+
"subdomain": None, # string - Subdomain or domain name for your auth provider. Example: `https://[subdomain].okta.com/`
|
|
30
30
|
"provision_users": None, # boolean - Auto-provision users?
|
|
31
31
|
"provision_groups": None, # boolean - Auto-provision group membership based on group memberships on the SSO side?
|
|
32
32
|
"deprovision_users": None, # boolean - Auto-deprovision users?
|
|
@@ -47,6 +47,7 @@ class SsoStrategy:
|
|
|
47
47
|
"provision_time_zone": None, # string - Default time zone for auto provisioned users.
|
|
48
48
|
"provision_company": None, # string - Default company for auto provisioned users.
|
|
49
49
|
"provision_require_2fa": None, # string - 2FA required setting for auto provisioned users.
|
|
50
|
+
"provision_filesystem_layout": None, # string - File System layout to use for auto provisioned users.
|
|
50
51
|
"provider_identifier": None, # string - URL-friendly, unique identifier for Azure SAML configuration
|
|
51
52
|
"ldap_base_dn": None, # string - Base DN for looking up users in LDAP server
|
|
52
53
|
"ldap_domain": None, # string - Domain name that will be appended to LDAP usernames
|
files_sdk/models/user.py
CHANGED
|
@@ -28,6 +28,7 @@ class User:
|
|
|
28
28
|
"disabled": None, # boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
29
29
|
"disabled_expired_or_inactive": None, # boolean - Computed property that returns true if user disabled or expired or inactive.
|
|
30
30
|
"email": None, # email - User email address
|
|
31
|
+
"filesystem_layout": None, # string - File system layout
|
|
31
32
|
"first_login_at": None, # date-time - User's first login time
|
|
32
33
|
"ftp_permission": None, # boolean - Can the user access with FTP/FTPS?
|
|
33
34
|
"group_ids": None, # string - Comma-separated list of group IDs of which this user is a member
|
|
@@ -190,6 +191,7 @@ class User:
|
|
|
190
191
|
# bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
|
|
191
192
|
# dav_permission - boolean - Can the user connect with WebDAV?
|
|
192
193
|
# disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
194
|
+
# filesystem_layout - string - File system layout
|
|
193
195
|
# ftp_permission - boolean - Can the user access with FTP/FTPS?
|
|
194
196
|
# header_text - string - Text to display to the user in the header of the UI
|
|
195
197
|
# language - string - Preferred language
|
|
@@ -291,6 +293,12 @@ class User:
|
|
|
291
293
|
raise InvalidParameterError(
|
|
292
294
|
"Bad parameter: authentication_method must be an str"
|
|
293
295
|
)
|
|
296
|
+
if "filesystem_layout" in params and not isinstance(
|
|
297
|
+
params["filesystem_layout"], str
|
|
298
|
+
):
|
|
299
|
+
raise InvalidParameterError(
|
|
300
|
+
"Bad parameter: filesystem_layout must be an str"
|
|
301
|
+
)
|
|
294
302
|
if "header_text" in params and not isinstance(
|
|
295
303
|
params["header_text"], str
|
|
296
304
|
):
|
|
@@ -515,6 +523,7 @@ def get(id, params=None, options=None):
|
|
|
515
523
|
# bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
|
|
516
524
|
# dav_permission - boolean - Can the user connect with WebDAV?
|
|
517
525
|
# disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
526
|
+
# filesystem_layout - string - File system layout
|
|
518
527
|
# ftp_permission - boolean - Can the user access with FTP/FTPS?
|
|
519
528
|
# header_text - string - Text to display to the user in the header of the UI
|
|
520
529
|
# language - string - Preferred language
|
|
@@ -644,6 +653,12 @@ def create(params=None, options=None):
|
|
|
644
653
|
)
|
|
645
654
|
if "disabled" in params and not isinstance(params["disabled"], bool):
|
|
646
655
|
raise InvalidParameterError("Bad parameter: disabled must be an bool")
|
|
656
|
+
if "filesystem_layout" in params and not isinstance(
|
|
657
|
+
params["filesystem_layout"], str
|
|
658
|
+
):
|
|
659
|
+
raise InvalidParameterError(
|
|
660
|
+
"Bad parameter: filesystem_layout must be an str"
|
|
661
|
+
)
|
|
647
662
|
if "ftp_permission" in params and not isinstance(
|
|
648
663
|
params["ftp_permission"], bool
|
|
649
664
|
):
|
|
@@ -844,6 +859,7 @@ def user_2fa_reset(id, params=None, options=None):
|
|
|
844
859
|
# bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
|
|
845
860
|
# dav_permission - boolean - Can the user connect with WebDAV?
|
|
846
861
|
# disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
|
|
862
|
+
# filesystem_layout - string - File system layout
|
|
847
863
|
# ftp_permission - boolean - Can the user access with FTP/FTPS?
|
|
848
864
|
# header_text - string - Text to display to the user in the header of the UI
|
|
849
865
|
# language - string - Preferred language
|
|
@@ -977,6 +993,12 @@ def update(id, params=None, options=None):
|
|
|
977
993
|
)
|
|
978
994
|
if "disabled" in params and not isinstance(params["disabled"], bool):
|
|
979
995
|
raise InvalidParameterError("Bad parameter: disabled must be an bool")
|
|
996
|
+
if "filesystem_layout" in params and not isinstance(
|
|
997
|
+
params["filesystem_layout"], str
|
|
998
|
+
):
|
|
999
|
+
raise InvalidParameterError(
|
|
1000
|
+
"Bad parameter: filesystem_layout must be an str"
|
|
1001
|
+
)
|
|
980
1002
|
if "ftp_permission" in params and not isinstance(
|
|
981
1003
|
params["ftp_permission"], bool
|
|
982
1004
|
):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|