mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-04-27 14:57:41 +00:00
Remove copyright headers
This commit is contained in:
parent
73c5b688c1
commit
5ce0d97f91
37 changed files with 28 additions and 270 deletions
2
LICENSE
2
LICENSE
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (c) 2014 Markus Unterwaditzer & contributors
|
Copyright (c) 2014-2015 Markus Unterwaditzer & contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
|
|
||||||
10
setup.py
10
setup.py
|
|
@ -1,14 +1,8 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
vdirsyncer
|
Vdirsyncer is a synchronization tool for vdir. See the README for more details.
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
vdirsyncer is a synchronization tool for vdir. See the README for more
|
|
||||||
details.
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import ast
|
import ast
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
tests
|
Test suite for vdirsyncer.
|
||||||
~~~~~
|
|
||||||
|
|
||||||
Test suite for vdirsyncer.
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from vdirsyncer.utils.compat import text_type
|
from vdirsyncer.utils.compat import text_type
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
tests.conftest
|
General-purpose fixtures for vdirsyncer's testsuite.
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
General-purpose fixtures for vdirsyncer's testsuite.
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage
|
|
||||||
~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
import random
|
import random
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.dav
|
|
||||||
~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.dav.servers
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.dav.test_main
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import os
|
import os
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,4 @@
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.filesystem
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.test_http
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.test_http_with_singlefile
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,4 @@
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.test_memory
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.storage.test_singlefile
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.test_cli
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
import io
|
import io
|
||||||
from textwrap import dedent
|
from textwrap import dedent
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.test_doubleclick
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
from click.testing import CliRunner
|
from click.testing import CliRunner
|
||||||
|
|
||||||
from vdirsyncer.doubleclick import _ctx_stack, click, ctx as global_ctx
|
from vdirsyncer.doubleclick import _ctx_stack, click, ctx as global_ctx
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.test_sync
|
|
||||||
~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.utils
|
|
||||||
~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.utils.test_main
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import stat
|
import stat
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
tests.utils.vobject
|
|
||||||
~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
from textwrap import dedent
|
from textwrap import dedent
|
||||||
|
|
||||||
import icalendar
|
import icalendar
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
vdirsyncer
|
vdirsyncer is a synchronization tool for vdir. See the README for more details.
|
||||||
~~~~~~~~~~
|
|
||||||
|
|
||||||
vdirsyncer is a synchronization tool for vdir. See the README for more
|
|
||||||
details.
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
__version__ = '0.4.1'
|
__version__ = '0.4.1'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.cli
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import functools
|
import functools
|
||||||
import sys
|
import sys
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.cli.tasks
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import functools
|
import functools
|
||||||
import json
|
import json
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.cli.utils
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import errno
|
import errno
|
||||||
import hashlib
|
import hashlib
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,18 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
vdirsyncer.doubleclick
|
Utilities for writing threaded applications with click:
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Utilities for writing threaded applications with click.
|
- There is a global ``ctx`` object to be used.
|
||||||
|
|
||||||
Two objects are useful:
|
- The ``click`` object's attributes are supposed to be used instead of the
|
||||||
|
click package's content.
|
||||||
|
|
||||||
- There is a global ``ctx`` object to be used.
|
- It wraps some UI functions such that they don't produce overlapping
|
||||||
|
output or prompt the user at the same time.
|
||||||
|
|
||||||
- The ``click`` object's attributes are supposed to be used instead of the
|
- It wraps BaseCommand subclasses such that their invocation changes the
|
||||||
click package's content.
|
ctx global, and also changes the shortcut decorators to use the new
|
||||||
|
classes.
|
||||||
- It wraps some UI functions such that they don't produce overlapping
|
|
||||||
output or prompt the user at the same time.
|
|
||||||
|
|
||||||
- It wraps BaseCommand subclasses such that their invocation changes the
|
|
||||||
ctx global, and also changes the shortcut decorators to use the new
|
|
||||||
classes.
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import functools
|
import functools
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
vdirsyncer.exceptions
|
Contains exception classes used by vdirsyncer. Not all exceptions are here,
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
only the most commonly used ones.
|
||||||
|
|
||||||
Contains exception classes used by vdirsyncer. Not all exceptions are here,
|
|
||||||
only the most commonly used ones.
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.log
|
|
||||||
~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,9 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
vdirsyncer.storage
|
There are storage classes which control the access to one vdir-collection and
|
||||||
~~~~~~~~~~~~~~~~~~
|
offer basic CRUD-ish methods for modifying those collections. The exact
|
||||||
|
interface is described in `vdirsyncer.storage.base`, the `Storage` class should
|
||||||
There are storage classes which control the access to one vdir-collection
|
be a superclass of all storage classes.
|
||||||
and offer basic CRUD-ish methods for modifying those collections. The exact
|
|
||||||
interface is described in `vdirsyncer.storage.base`, the `Storage` class
|
|
||||||
should be a superclass of all storage classes.
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from .dav import CaldavStorage, CarddavStorage
|
from .dav import CaldavStorage, CarddavStorage
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.storage.base
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import functools
|
import functools
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.storage.dav
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.storage.filesystem
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import errno
|
import errno
|
||||||
import os
|
import os
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.storage.http
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
from .base import Item, Storage
|
from .base import Item, Storage
|
||||||
from ..exceptions import NotFoundError
|
from ..exceptions import NotFoundError
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.storage.memory
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.storage.singlefile
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import collections
|
import collections
|
||||||
import os
|
import os
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,13 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
'''
|
||||||
vdirsyncer.sync
|
The function in `vdirsyncer.sync` can be called on two instances of `Storage`
|
||||||
~~~~~~~~~~~~~~~
|
to synchronize them. Due to the abstract API storage classes are implementing,
|
||||||
|
the two given instances don't have to be of the same exact type. This allows us
|
||||||
|
not only to synchronize a local vdir with a CalDAV server, but also synchronize
|
||||||
|
two CalDAV servers or two local vdirs.
|
||||||
|
|
||||||
The function in `vdirsyncer.sync` can be called on two instances of
|
The algorithm is based on the blogpost "How OfflineIMAP works" by Edward Z.
|
||||||
`Storage` to synchronize them. Due to the abstract API storage classes are
|
Yang. http://blog.ezyang.com/2012/08/how-offlineimap-works/
|
||||||
implementing, the two given instances don't have to be of the same exact
|
|
||||||
type. This allows us not only to synchronize a local vdir with a CalDAV
|
|
||||||
server, but also synchronize two CalDAV servers or two local vdirs.
|
|
||||||
|
|
||||||
The algorithm is based on the blogpost "How OfflineIMAP works" by Edward Z.
|
|
||||||
Yang. http://blog.ezyang.com/2012/08/how-offlineimap-works/
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
'''
|
||||||
import itertools
|
import itertools
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.utils
|
|
||||||
~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import threading
|
import threading
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.utils.compat
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
'''
|
|
||||||
vdirsyncer.utils.vobject
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:copyright: (c) 2014 Markus Unterwaditzer & contributors
|
|
||||||
:license: MIT, see LICENSE for more details.
|
|
||||||
'''
|
|
||||||
import hashlib
|
import hashlib
|
||||||
from itertools import chain, tee
|
from itertools import chain, tee
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue