Skip to content

Commit b28008f

Browse files
committed
Update README.rst
1 parent c3acac0 commit b28008f

File tree

1 file changed

+98
-77
lines changed

1 file changed

+98
-77
lines changed

README.rst

Lines changed: 98 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@ WebDAV-серверами (Яндекс.Диск, Dropbox, Google Диск, Box,
99
resource API и wdc.
1010

1111
Исходный код проекта можно посмотреть
12-
`здесь <https://github.com/designerror/webdavclient>`_ |Github|
12+
`здесь <https://github.com/designerror/webdavclient>`__ |Github|
1313

1414
Установка и обновление
1515
======================
1616

1717
**Установка**
1818

19-
Linux
19+
Linux
2020

2121
.. code:: bash
2222
2323
$ sudo apt-get install libxml2-dev libxslt-dev python-dev
2424
$ sudo apt-get install libcurl4-openssl-dev python-pycurl
2525
$ sudo easy_install webdavclient
2626
27-
Mac OS X
27+
OS X
2828
2929
.. code:: bash
3030
@@ -94,159 +94,172 @@ unpublish.
9494
9595
**Синхронные методы**
9696

97-
Проверка существования ресурса
98-
9997
.. code:: python
10098
99+
//Проверка существования ресурса
100+
101101
client.check("dir1/file1")
102102
client.check("dir1")
103103
104-
Получение информации о ресурсе
105-
106104
.. code:: python
107105
106+
//Получение информации о ресурсе
107+
108108
client.info("dir1/file1")
109109
client.info("dir1/")
110110
111-
Проверка свободного места
112-
113111
.. code:: python
114112
115-
free_size = client.free()
113+
//Проверка свободного места
116114
117-
Получение списка ресурсов
115+
free_size = client.free()
118116
119117
.. code:: python
120118
119+
//Получение списка ресурсов
120+
121121
files1 = client.list()
122122
files2 = client.list("dir1")
123123
124-
Создание директории
125-
126124
.. code:: python
127125
128-
client.mkdir("dir1/dir2")
126+
//Создание директории
129127
130-
Удаление ресурса
128+
client.mkdir("dir1/dir2")
131129
132130
.. code:: python
133131
134-
client.clean("dir1/dir2")
132+
//Удаление ресурса
135133
136-
Копирование ресурса
134+
client.clean("dir1/dir2")
137135
138136
.. code:: python
139137
138+
//Копирование ресурса
139+
140140
client.copy(remote_path_from="dir1/file1", remote_path_to="dir2/file1")
141141
client.copy(remote_path_from="dir2", remote_path_to="dir3")
142142
143-
Перемещения ресурса
144-
145143
.. code:: python
146144
145+
//Перемещения ресурса
146+
147147
client.move(remote_path_from="dir1/file1", remote_path_to="dir2/file1")
148148
client.move(remote_path_from="dir2", remote_path_to="dir3")
149149
150-
Загрузка ресурса
151-
152150
.. code:: python
153151
152+
//Перемещения ресурса
153+
154154
client.download_sync(remote_path="dir1/file1", local_path="~/Downloads/file1")
155155
client.download_sync(remote_path="dir1/dir2/", local_path="~/Downloads/dir2/")
156156
157-
Выгрузка ресурса
158-
159157
.. code:: python
160158
159+
//Выгрузка ресурса
160+
161161
client.upload_sync(remote_path="dir1/file1", local_path="~/Documents/file1")
162162
client.upload_sync(remote_path="dir1/dir2/", local_path="~/Documents/dir2/")
163163
164-
Публикация ресурса
165-
166164
.. code:: python
167165
166+
//Публикация ресурса
167+
168168
link = client.publish("dir1/file1")
169169
link = client.publish("dir2")
170170
171-
Отмена публикации ресурса
172-
173171
.. code:: python
174172
173+
//Отмена публикации ресурса
174+
175175
client.unpublish("dir1/file1")
176176
client.unpublish("dir2")
177177
178-
Обработка исключений
179-
180178
.. code:: python
181179
180+
//Обработка исключений
181+
182182
from webdav.client import WebDavException
183183
try:
184184
...
185185
except WebDavException as exception:
186186
...
187187
188-
Получение недостающих файлов
189-
190188
.. code:: python
191189
192-
client.pull(remote_directory='dir1', local_directory='~/Documents/dir1')
190+
//Получение недостающих файлов
193191
194-
Отправка недостающих файлов
192+
client.pull(remote_directory='dir1', local_directory='~/Documents/dir1')
195193
196194
.. code:: python
197195
196+
//Отправка недостающих файлов
197+
198198
client.push(remote_directory='dir1', local_directory='~/Documents/dir1')
199199
200200
**Асинхронные методы**
201201

202-
Загрузка ресурса
203-
204202
.. code:: python
205203
206-
client.download_async(remote_path="dir1/file1", local_path="~/Downloads/file1", callback=callback)
207-
client.download_async(remote_path="dir1/dir2/", local_path="~/Downloads/dir2/", callback=callback)
204+
//Загрузка ресурса
208205
209-
Выгрузка ресурса
206+
kwargs = {
207+
'remote_path': "dir1/file1",
208+
'local_path': "~/Downloads/file1",
209+
'callback': callback
210+
}
211+
client.download_async(**kwargs)
212+
213+
kwargs = {
214+
'remote_path': "dir1/dir2/",
215+
'local_path': "~/Downloads/dir2/",
216+
'callback': callback
217+
}
218+
client.download_async(**kwargs)
210219
211220
.. code:: python
212221
213-
client.upload_async(remote_path="dir1/file1", local_path="~/Documents/file1", callback=callback)
214-
client.upload_async(remote_path="dir1/dir2/", local_path="~/Documents/dir2/", callback=callback)
222+
//Выгрузка ресурса
223+
224+
kwargs = {
225+
'remote_path': "dir1/file1",
226+
'local_path': "~/Downloads/file1",
227+
'callback': callback
228+
}
229+
client.upload_async(**kwargs)
230+
231+
kwargs = {
232+
'remote_path': "dir1/dir2/",
233+
'local_path': "~/Downloads/dir2/",
234+
'callback': callback
235+
}
236+
client.upload_async(**kwargs)
215237
216238
Resource API
217239
============
218240

219241
Resource API - используя концепцию ООП, обеспечивает работу с облачными
220242
хранилищами на уровне ресурсов.
221243

222-
Получение ресурса
223-
224244
.. code:: python
225245
226-
res1 = client.resource("dir1/file1")
246+
//Получение ресурса
227247
228-
Работа с ресурсом
248+
res1 = client.resource("dir1/file1")
229249
230250
.. code:: python
231251
232-
res1.rename("file2")
252+
//Работа с ресурсом
233253
254+
res1.rename("file2")
234255
res1.move("dir1/file2")
235-
236256
res1.copy("dir2/file1")
237-
238257
info = res1.info()
239-
240258
res1.read_from(buffer)
241-
242259
res1.read(local_path="~/Documents/file1")
243-
244260
res1.read_async(local_path="~/Documents/file1", callback)
245-
246261
res1.write_to(buffer)
247-
248262
res1.write(local_path="~/Downloads/file1")
249-
250263
res1.write_async(local_path="~/Downloads/file1", callback)
251264
252265
wdc
@@ -259,13 +272,25 @@ WebDAV-серверами прямо из вашей консоли. Помим
259272

260273
**Аутентификация**
261274

262-
.. code:: bash
275+
- *Basic-аутентификация*
276+
277+
.. code:: bash
278+
279+
$ wdc login https://wedbav.server.ru -p http://127.0.0.1:8080
280+
webdav_login: w_login
281+
webdav_password: w_password
282+
proxy_login: p_login
283+
proxy_password: p_password
284+
success
263285
264-
$ wdc login https://wedbav.server.ru -p http://127.0.0.1:8080
265-
webdav_login: w_login
266-
webdav_password: w_password
267-
proxy_login: p_login
268-
proxy_password: p_password
286+
- *Авторизация приложения с помощью OAuth-токена*
287+
288+
.. code:: bash
289+
290+
$ wdc login https://wedbav.server.ru -p http://127.0.0.1:8080 --token xxxxxxxxxxxxxxxxxx
291+
proxy_login: p_login
292+
proxy_password: p_password
293+
success
269294
270295
Также имеются дополнительные ключи ``--root[-r]``, ``--cert-path[-c]`` и
271296
``--key-path[-k]``.
@@ -314,24 +339,24 @@ WevDAV можно отнести Яндекс.Диск, Dropbox, Google Диск
314339
Развернуть локальный WebDAV-сервер, с использование Docker-контейнеров
315340
довольно легко и быстро. Ознакомиться с примером развертывания
316341
локального WebDAV-сервера можно на проекте
317-
`Webdavserver <https://github.com/designerror/webdavserver>`_.
342+
`webdav-server-docker <https://github.com/designerror/webdav-server-docker>`__.
318343

319344
**Поддерживаемые методы**
320345

321346
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
322347
| Сервиры | free | info | list | mkdir | clean | copy | move | download | upload |
323348
+================+========+========+========+=========+=========+========+========+============+==========+
324-
| Яндекс.Диск | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
349+
| Яндекс.Диск | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
325350
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
326-
| Dropbox | \- | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
351+
| Dropbox | \- | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
327352
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
328-
| Google Диск | \- | \+ | \+ | \+ | \+ | \- | \- | \+ | \+ |
353+
| Google Диск | \- | \+ | \+ | \+ | \+ | \- | \- | \+ | \+ |
329354
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
330-
| Box | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
355+
| Box | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
331356
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
332-
| 4shared | \- | \+ | \+ | \+ | \+ | \- | \- | \+ | \+ |
357+
| 4shared | \- | \+ | \+ | \+ | \+ | \- | \- | \+ | \+ |
333358
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
334-
| Webdavserver | \- | \+ | \+ | \+ | \+ | \- | \- | \+ | \+ |
359+
| Webdavserver | \- | \+ | \+ | \+ | \+ | \- | \- | \+ | \+ |
335360
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
336361

337362
Методы publish и unpublish поддерживает только Яндекс.Диск.
@@ -344,14 +369,14 @@ WebDAV необходимо использовать WebDAV-сервера DropD
344369

345370
Список настроек для WebDAV - серверов:
346371

347-
.. code:: python
372+
.. code:: yml
348373
349374
webdav-servers:
350-
- yandex:
375+
- yandex
351376
hostname: https://webdav.yandex.ru
352377
login: #login_for_yandex
353378
password: #pass_for_yandex
354-
- dropbox:
379+
- dropbox
355380
hostname: https://dav.dropdav.com
356381
login: #login_for dropdav
357382
password: #pass_for_dropdav
@@ -360,20 +385,20 @@ WebDAV необходимо использовать WebDAV-сервера DropD
360385
root: docso
361386
login: #login_for_dav-pocket
362387
password: #pass_for_dav-pocket
363-
- box:
388+
- box
364389
hostname: https://dav.box.com
365390
root: dav
366391
login: #login_for_box
367392
password: #pass_for_box
368-
- 4shared:
393+
- 4shared
369394
hostname: https://webdav.4shared.com
370395
login: #login_for_4shared
371396
password: #pass_for_4shared
372397
373398
Автодополнение
374399
==============
375400

376-
Для Mac OS X или старых Unix-систем необходимо обновить bash.
401+
Для OS X или старых Unix-систем необходимо обновить bash.
377402

378403
.. code:: bash
379404
@@ -397,7 +422,7 @@ WebDAV необходимо использовать WebDAV-сервера DropD
397422
Благодарности
398423
=============
399424

400-
Спасибо компании\ ``jetBrains`` за
425+
Спасибо компании\ ``JetBrains`` за
401426

402427
|PyCharm|
403428

@@ -407,10 +432,6 @@ WebDAV необходимо использовать WebDAV-сервера DropD
407432
:target: https://requires.io/github/designerror/webdav-client-python/requirements/?branch=master&style=flat
408433
.. |PullReview stats| image:: https://www.pullreview.com/github/designerror/webdavclient/badges/master.svg?
409434
:target: https://www.pullreview.com/github/designerror/webdavclient/reviews/master
410-
.. |Supported Python versions| image:: https://pypip.in/py_versions/webdavclient/badge.svg
411-
:target: https://pypi.python.org/pypi/webdavclient/
412-
.. |License| image:: https://pypip.in/license/webdavclient/badge.svg
413-
:target: https://pypi.python.org/pypi/webdavclient/
414435
.. |Github| image:: https://github.com/favicon.ico
415436
.. |PyCharm| image:: http://s28.postimg.org/o1td9nf3t/rsz_intellij_pycharm.png
416437
:target: https://www.jetbrains.com/pycharm/

0 commit comments

Comments
 (0)