mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-04-27 14:57:41 +00:00
Sort imports
This commit is contained in:
parent
0556e53e0c
commit
5b8f00e720
35 changed files with 57 additions and 59 deletions
1
setup.py
1
setup.py
|
|
@ -8,7 +8,6 @@ from setuptools import Command
|
||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
|
||||||
|
|
||||||
requirements = [
|
requirements = [
|
||||||
# https://github.com/mitsuhiko/click/issues/200
|
# https://github.com/mitsuhiko/click/issues/200
|
||||||
"click>=5.0,<9.0",
|
"click>=5.0,<9.0",
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ import aiohttp
|
||||||
import click_log
|
import click_log
|
||||||
import pytest
|
import pytest
|
||||||
from hypothesis import HealthCheck
|
from hypothesis import HealthCheck
|
||||||
from hypothesis import settings
|
|
||||||
from hypothesis import Verbosity
|
from hypothesis import Verbosity
|
||||||
|
from hypothesis import settings
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
|
|
|
||||||
|
|
@ -7,15 +7,16 @@ from urllib.parse import unquote as urlunquote
|
||||||
import aiostream
|
import aiostream
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from .. import assert_item_equals
|
|
||||||
from .. import EVENT_TEMPLATE
|
|
||||||
from .. import normalize_item
|
|
||||||
from .. import TASK_TEMPLATE
|
|
||||||
from .. import VCARD_TEMPLATE
|
|
||||||
from vdirsyncer import exceptions
|
from vdirsyncer import exceptions
|
||||||
from vdirsyncer.storage.base import normalize_meta_value
|
from vdirsyncer.storage.base import normalize_meta_value
|
||||||
from vdirsyncer.vobject import Item
|
from vdirsyncer.vobject import Item
|
||||||
|
|
||||||
|
from .. import EVENT_TEMPLATE
|
||||||
|
from .. import TASK_TEMPLATE
|
||||||
|
from .. import VCARD_TEMPLATE
|
||||||
|
from .. import assert_item_equals
|
||||||
|
from .. import normalize_item
|
||||||
|
|
||||||
|
|
||||||
def get_server_mixin(server_name):
|
def get_server_mixin(server_name):
|
||||||
from . import __name__ as base
|
from . import __name__ as base
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,12 @@ import aiohttp
|
||||||
import aiostream
|
import aiostream
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from .. import get_server_mixin
|
|
||||||
from .. import StorageTests
|
|
||||||
from tests import assert_item_equals
|
from tests import assert_item_equals
|
||||||
from vdirsyncer import exceptions
|
from vdirsyncer import exceptions
|
||||||
from vdirsyncer.vobject import Item
|
from vdirsyncer.vobject import Item
|
||||||
|
|
||||||
|
from .. import StorageTests
|
||||||
|
from .. import get_server_mixin
|
||||||
|
|
||||||
dav_server = os.environ.get("DAV_SERVER", "skip")
|
dav_server = os.environ.get("DAV_SERVER", "skip")
|
||||||
ServerMixin = get_server_mixin(dav_server)
|
ServerMixin = get_server_mixin(dav_server)
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,16 @@ import aiostream
|
||||||
import pytest
|
import pytest
|
||||||
from aioresponses import aioresponses
|
from aioresponses import aioresponses
|
||||||
|
|
||||||
from . import dav_server
|
|
||||||
from . import DAVStorageTests
|
|
||||||
from .. import format_item
|
|
||||||
from tests import EVENT_TEMPLATE
|
from tests import EVENT_TEMPLATE
|
||||||
from tests import TASK_TEMPLATE
|
from tests import TASK_TEMPLATE
|
||||||
from tests import VCARD_TEMPLATE
|
from tests import VCARD_TEMPLATE
|
||||||
from vdirsyncer import exceptions
|
from vdirsyncer import exceptions
|
||||||
from vdirsyncer.storage.dav import CalDAVStorage
|
from vdirsyncer.storage.dav import CalDAVStorage
|
||||||
|
|
||||||
|
from .. import format_item
|
||||||
|
from . import DAVStorageTests
|
||||||
|
from . import dav_server
|
||||||
|
|
||||||
|
|
||||||
class TestCalDAVStorage(DAVStorageTests):
|
class TestCalDAVStorage(DAVStorageTests):
|
||||||
storage_class = CalDAVStorage
|
storage_class = CalDAVStorage
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from . import DAVStorageTests
|
|
||||||
from vdirsyncer.storage.dav import CardDAVStorage
|
from vdirsyncer.storage.dav import CardDAVStorage
|
||||||
|
|
||||||
|
from . import DAVStorageTests
|
||||||
|
|
||||||
|
|
||||||
class TestCardDAVStorage(DAVStorageTests):
|
class TestCardDAVStorage(DAVStorageTests):
|
||||||
storage_class = CardDAVStorage
|
storage_class = CardDAVStorage
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ import sys
|
||||||
import pytest
|
import pytest
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from .. import StorageTests
|
|
||||||
from vdirsyncer.storage.etesync import EtesyncCalendars
|
from vdirsyncer.storage.etesync import EtesyncCalendars
|
||||||
from vdirsyncer.storage.etesync import EtesyncContacts
|
from vdirsyncer.storage.etesync import EtesyncContacts
|
||||||
|
|
||||||
|
from .. import StorageTests
|
||||||
|
|
||||||
pytestmark = pytest.mark.skipif(
|
pytestmark = pytest.mark.skipif(
|
||||||
os.getenv("ETESYNC_TESTS", "") != "true", reason="etesync tests disabled"
|
os.getenv("ETESYNC_TESTS", "") != "true", reason="etesync tests disabled"
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,11 @@ import subprocess
|
||||||
import aiostream
|
import aiostream
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from . import StorageTests
|
|
||||||
from vdirsyncer.storage.filesystem import FilesystemStorage
|
from vdirsyncer.storage.filesystem import FilesystemStorage
|
||||||
from vdirsyncer.vobject import Item
|
from vdirsyncer.vobject import Item
|
||||||
|
|
||||||
|
from . import StorageTests
|
||||||
|
|
||||||
|
|
||||||
class TestFilesystemStorage(StorageTests):
|
class TestFilesystemStorage(StorageTests):
|
||||||
storage_class = FilesystemStorage
|
storage_class = FilesystemStorage
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import pytest
|
import pytest
|
||||||
from aioresponses import aioresponses
|
|
||||||
from aioresponses import CallbackResult
|
from aioresponses import CallbackResult
|
||||||
|
from aioresponses import aioresponses
|
||||||
|
|
||||||
from tests import normalize_item
|
from tests import normalize_item
|
||||||
from vdirsyncer.exceptions import UserError
|
from vdirsyncer.exceptions import UserError
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
import aiostream
|
import aiostream
|
||||||
import pytest
|
import pytest
|
||||||
from aioresponses import aioresponses
|
|
||||||
from aioresponses import CallbackResult
|
from aioresponses import CallbackResult
|
||||||
|
from aioresponses import aioresponses
|
||||||
|
|
||||||
import vdirsyncer.storage.http
|
import vdirsyncer.storage.http
|
||||||
from . import StorageTests
|
|
||||||
from vdirsyncer.storage.base import Storage
|
from vdirsyncer.storage.base import Storage
|
||||||
from vdirsyncer.storage.singlefile import SingleFileStorage
|
from vdirsyncer.storage.singlefile import SingleFileStorage
|
||||||
|
|
||||||
|
from . import StorageTests
|
||||||
|
|
||||||
|
|
||||||
class CombinedStorage(Storage):
|
class CombinedStorage(Storage):
|
||||||
"""A subclass of HttpStorage to make testing easier. It supports writes via
|
"""A subclass of HttpStorage to make testing easier. It supports writes via
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from . import StorageTests
|
|
||||||
from vdirsyncer.storage.memory import MemoryStorage
|
from vdirsyncer.storage.memory import MemoryStorage
|
||||||
|
|
||||||
|
from . import StorageTests
|
||||||
|
|
||||||
|
|
||||||
class TestMemoryStorage(StorageTests):
|
class TestMemoryStorage(StorageTests):
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from . import StorageTests
|
|
||||||
from vdirsyncer.storage.singlefile import SingleFileStorage
|
from vdirsyncer.storage.singlefile import SingleFileStorage
|
||||||
|
|
||||||
|
from . import StorageTests
|
||||||
|
|
||||||
|
|
||||||
class TestSingleFileStorage(StorageTests):
|
class TestSingleFileStorage(StorageTests):
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ from vdirsyncer import cli
|
||||||
from vdirsyncer import exceptions
|
from vdirsyncer import exceptions
|
||||||
from vdirsyncer.cli.config import Config
|
from vdirsyncer.cli.config import Config
|
||||||
|
|
||||||
|
|
||||||
invalid = object()
|
invalid = object()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ import pytest
|
||||||
|
|
||||||
from vdirsyncer.cli.discover import expand_collections
|
from vdirsyncer.cli.discover import expand_collections
|
||||||
|
|
||||||
|
|
||||||
missing = object()
|
missing = object()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ import pytest
|
||||||
from hypothesis import given
|
from hypothesis import given
|
||||||
|
|
||||||
from vdirsyncer import exceptions
|
from vdirsyncer import exceptions
|
||||||
from vdirsyncer.cli.fetchparams import expand_fetch_params
|
|
||||||
from vdirsyncer.cli.fetchparams import STRATEGIES
|
from vdirsyncer.cli.fetchparams import STRATEGIES
|
||||||
|
from vdirsyncer.cli.fetchparams import expand_fetch_params
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ from hypothesis import given
|
||||||
|
|
||||||
from vdirsyncer.sync.status import SqliteStatus
|
from vdirsyncer.sync.status import SqliteStatus
|
||||||
|
|
||||||
|
|
||||||
status_dict_strategy = st.dictionaries(
|
status_dict_strategy = st.dictionaries(
|
||||||
st.text(),
|
st.text(),
|
||||||
st.tuples(
|
st.tuples(
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ import hypothesis.strategies as st
|
||||||
import pytest
|
import pytest
|
||||||
from hypothesis import assume
|
from hypothesis import assume
|
||||||
from hypothesis.stateful import Bundle
|
from hypothesis.stateful import Bundle
|
||||||
from hypothesis.stateful import rule
|
|
||||||
from hypothesis.stateful import RuleBasedStateMachine
|
from hypothesis.stateful import RuleBasedStateMachine
|
||||||
|
from hypothesis.stateful import rule
|
||||||
|
|
||||||
from tests import blow_up
|
from tests import blow_up
|
||||||
from tests import uid_strategy
|
from tests import uid_strategy
|
||||||
from vdirsyncer.storage.memory import _random_string
|
|
||||||
from vdirsyncer.storage.memory import MemoryStorage
|
from vdirsyncer.storage.memory import MemoryStorage
|
||||||
|
from vdirsyncer.storage.memory import _random_string
|
||||||
from vdirsyncer.sync import sync as _sync
|
from vdirsyncer.sync import sync as _sync
|
||||||
from vdirsyncer.sync.exceptions import BothReadOnly
|
from vdirsyncer.sync.exceptions import BothReadOnly
|
||||||
from vdirsyncer.sync.exceptions import IdentConflict
|
from vdirsyncer.sync.exceptions import IdentConflict
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ from hypothesis import given
|
||||||
|
|
||||||
from tests import blow_up
|
from tests import blow_up
|
||||||
from vdirsyncer.exceptions import UserError
|
from vdirsyncer.exceptions import UserError
|
||||||
|
from vdirsyncer.metasync import MetaSyncConflict
|
||||||
from vdirsyncer.metasync import logger
|
from vdirsyncer.metasync import logger
|
||||||
from vdirsyncer.metasync import metasync
|
from vdirsyncer.metasync import metasync
|
||||||
from vdirsyncer.metasync import MetaSyncConflict
|
|
||||||
from vdirsyncer.storage.base import normalize_meta_value
|
from vdirsyncer.storage.base import normalize_meta_value
|
||||||
from vdirsyncer.storage.memory import MemoryStorage
|
from vdirsyncer.storage.memory import MemoryStorage
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import aiostream
|
import aiostream
|
||||||
import pytest
|
import pytest
|
||||||
from hypothesis import given
|
|
||||||
from hypothesis import HealthCheck
|
from hypothesis import HealthCheck
|
||||||
|
from hypothesis import given
|
||||||
from hypothesis import settings
|
from hypothesis import settings
|
||||||
|
|
||||||
from tests import uid_strategy
|
from tests import uid_strategy
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,16 @@ import pytest
|
||||||
from hypothesis import assume
|
from hypothesis import assume
|
||||||
from hypothesis import given
|
from hypothesis import given
|
||||||
from hypothesis.stateful import Bundle
|
from hypothesis.stateful import Bundle
|
||||||
from hypothesis.stateful import rule
|
|
||||||
from hypothesis.stateful import RuleBasedStateMachine
|
from hypothesis.stateful import RuleBasedStateMachine
|
||||||
|
from hypothesis.stateful import rule
|
||||||
|
|
||||||
import vdirsyncer.vobject as vobject
|
import vdirsyncer.vobject as vobject
|
||||||
from tests import BARE_EVENT_TEMPLATE
|
from tests import BARE_EVENT_TEMPLATE
|
||||||
from tests import EVENT_TEMPLATE
|
from tests import EVENT_TEMPLATE
|
||||||
from tests import EVENT_WITH_TIMEZONE_TEMPLATE
|
from tests import EVENT_WITH_TIMEZONE_TEMPLATE
|
||||||
|
from tests import VCARD_TEMPLATE
|
||||||
from tests import normalize_item
|
from tests import normalize_item
|
||||||
from tests import uid_strategy
|
from tests import uid_strategy
|
||||||
from tests import VCARD_TEMPLATE
|
|
||||||
|
|
||||||
|
|
||||||
_simple_split = [
|
_simple_split = [
|
||||||
VCARD_TEMPLATE.format(r=123, uid=123),
|
VCARD_TEMPLATE.format(r=123, uid=123),
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,8 @@ import aiohttp
|
||||||
import click
|
import click
|
||||||
import click_log
|
import click_log
|
||||||
|
|
||||||
from .. import __version__
|
|
||||||
from .. import BUGTRACKER_HOME
|
from .. import BUGTRACKER_HOME
|
||||||
|
from .. import __version__
|
||||||
|
|
||||||
cli_logger = logging.getLogger(__name__)
|
cli_logger = logging.getLogger(__name__)
|
||||||
click_log.basic_config("vdirsyncer")
|
click_log.basic_config("vdirsyncer")
|
||||||
|
|
@ -124,7 +123,8 @@ def sync(ctx, collections, force_delete):
|
||||||
# Sync only "first_collection" from the pair "bob"
|
# Sync only "first_collection" from the pair "bob"
|
||||||
vdirsyncer sync bob/first_collection
|
vdirsyncer sync bob/first_collection
|
||||||
"""
|
"""
|
||||||
from .tasks import prepare_pair, sync_collection
|
from .tasks import prepare_pair
|
||||||
|
from .tasks import sync_collection
|
||||||
|
|
||||||
async def main(collections):
|
async def main(collections):
|
||||||
conn = aiohttp.TCPConnector(limit_per_host=16)
|
conn = aiohttp.TCPConnector(limit_per_host=16)
|
||||||
|
|
@ -162,7 +162,8 @@ def metasync(ctx, collections):
|
||||||
|
|
||||||
See the `sync` command for usage.
|
See the `sync` command for usage.
|
||||||
"""
|
"""
|
||||||
from .tasks import prepare_pair, metasync_collection
|
from .tasks import metasync_collection
|
||||||
|
from .tasks import prepare_pair
|
||||||
|
|
||||||
async def main(collections):
|
async def main(collections):
|
||||||
conn = aiohttp.TCPConnector(limit_per_host=16)
|
conn = aiohttp.TCPConnector(limit_per_host=16)
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,13 @@ import string
|
||||||
from configparser import RawConfigParser
|
from configparser import RawConfigParser
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
from .. import exceptions
|
|
||||||
from .. import PROJECT_HOME
|
from .. import PROJECT_HOME
|
||||||
|
from .. import exceptions
|
||||||
from ..utils import cached_property
|
from ..utils import cached_property
|
||||||
from ..utils import expand_path
|
from ..utils import expand_path
|
||||||
from .fetchparams import expand_fetch_params
|
from .fetchparams import expand_fetch_params
|
||||||
from .utils import storage_class_from_config
|
from .utils import storage_class_from_config
|
||||||
|
|
||||||
|
|
||||||
GENERAL_ALL = frozenset(["status_path"])
|
GENERAL_ALL = frozenset(["status_path"])
|
||||||
GENERAL_REQUIRED = frozenset(["status_path"])
|
GENERAL_REQUIRED = frozenset(["status_path"])
|
||||||
SECTION_NAME_CHARS = frozenset(chain(string.ascii_letters, string.digits, "_"))
|
SECTION_NAME_CHARS = frozenset(chain(string.ascii_letters, string.digits, "_"))
|
||||||
|
|
@ -320,8 +319,8 @@ load_config = Config.from_filename_or_environment
|
||||||
|
|
||||||
|
|
||||||
def _resolve_conflict_via_command(a, b, command, a_name, b_name, _check_call=None):
|
def _resolve_conflict_via_command(a, b, command, a_name, b_name, _check_call=None):
|
||||||
import tempfile
|
|
||||||
import shutil
|
import shutil
|
||||||
|
import tempfile
|
||||||
|
|
||||||
if _check_call is None:
|
if _check_call is None:
|
||||||
from subprocess import check_call as _check_call
|
from subprocess import check_call as _check_call
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ from .utils import save_status
|
||||||
from .utils import storage_class_from_config
|
from .utils import storage_class_from_config
|
||||||
from .utils import storage_instance_from_config
|
from .utils import storage_instance_from_config
|
||||||
|
|
||||||
|
|
||||||
# Increase whenever upgrade potentially breaks discovery cache and collections
|
# Increase whenever upgrade potentially breaks discovery cache and collections
|
||||||
# should be re-discovered
|
# should be re-discovered
|
||||||
DISCOVERY_CACHE_VERSION = 1
|
DISCOVERY_CACHE_VERSION = 1
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,10 @@ import logging
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
from . import AppContext
|
|
||||||
from .. import exceptions
|
from .. import exceptions
|
||||||
from ..utils import expand_path
|
from ..utils import expand_path
|
||||||
from ..utils import synchronized
|
from ..utils import synchronized
|
||||||
|
from . import AppContext
|
||||||
|
|
||||||
SUFFIX = ".fetch"
|
SUFFIX = ".fetch"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ from .config import CollectionConfig
|
||||||
from .discover import collections_for_pair
|
from .discover import collections_for_pair
|
||||||
from .discover import storage_class_from_config
|
from .discover import storage_class_from_config
|
||||||
from .discover import storage_instance_from_config
|
from .discover import storage_instance_from_config
|
||||||
|
from .utils import JobFailed
|
||||||
from .utils import cli_logger
|
from .utils import cli_logger
|
||||||
from .utils import get_status_name
|
from .utils import get_status_name
|
||||||
from .utils import handle_cli_error
|
from .utils import handle_cli_error
|
||||||
from .utils import JobFailed
|
|
||||||
from .utils import load_status
|
from .utils import load_status
|
||||||
from .utils import manage_sync_status
|
from .utils import manage_sync_status
|
||||||
from .utils import save_status
|
from .utils import save_status
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import aiohttp
|
||||||
import click
|
import click
|
||||||
from atomicwrites import atomic_write
|
from atomicwrites import atomic_write
|
||||||
|
|
||||||
from . import cli_logger
|
|
||||||
from .. import BUGTRACKER_HOME
|
from .. import BUGTRACKER_HOME
|
||||||
from .. import DOCS_HOME
|
from .. import DOCS_HOME
|
||||||
from .. import exceptions
|
from .. import exceptions
|
||||||
|
|
@ -20,7 +19,7 @@ from ..sync.exceptions import SyncConflict
|
||||||
from ..sync.status import SqliteStatus
|
from ..sync.status import SqliteStatus
|
||||||
from ..utils import expand_path
|
from ..utils import expand_path
|
||||||
from ..utils import get_storage_init_args
|
from ..utils import get_storage_init_args
|
||||||
|
from . import cli_logger
|
||||||
|
|
||||||
STATUS_PERMISSIONS = 0o600
|
STATUS_PERMISSIONS = 0o600
|
||||||
STATUS_DIR_PERMISSIONS = 0o700
|
STATUS_DIR_PERMISSIONS = 0o700
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,11 @@ import logging
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
from . import __version__
|
|
||||||
from . import DOCS_HOME
|
from . import DOCS_HOME
|
||||||
|
from . import __version__
|
||||||
from . import exceptions
|
from . import exceptions
|
||||||
from .utils import expand_path
|
from .utils import expand_path
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
USERAGENT = f"vdirsyncer/{__version__}"
|
USERAGENT = f"vdirsyncer/{__version__}"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,18 +8,18 @@ from inspect import signature
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import aiostream
|
import aiostream
|
||||||
|
|
||||||
|
from vdirsyncer.exceptions import Error
|
||||||
|
|
||||||
from .. import exceptions
|
from .. import exceptions
|
||||||
from .. import http
|
from .. import http
|
||||||
from .. import utils
|
from .. import utils
|
||||||
|
from ..http import USERAGENT
|
||||||
from ..http import prepare_auth
|
from ..http import prepare_auth
|
||||||
from ..http import prepare_client_cert
|
from ..http import prepare_client_cert
|
||||||
from ..http import prepare_verify
|
from ..http import prepare_verify
|
||||||
from ..http import USERAGENT
|
|
||||||
from ..vobject import Item
|
from ..vobject import Item
|
||||||
from .base import normalize_meta_value
|
|
||||||
from .base import Storage
|
from .base import Storage
|
||||||
from vdirsyncer.exceptions import Error
|
from .base import normalize_meta_value
|
||||||
|
|
||||||
|
|
||||||
dav_logger = logging.getLogger(__name__)
|
dav_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,10 @@ import click
|
||||||
try:
|
try:
|
||||||
import etesync
|
import etesync
|
||||||
import etesync.exceptions
|
import etesync.exceptions
|
||||||
from etesync import AddressBook, Contact, Calendar, Event
|
from etesync import AddressBook
|
||||||
|
from etesync import Calendar
|
||||||
|
from etesync import Contact
|
||||||
|
from etesync import Event
|
||||||
|
|
||||||
has_etesync = True
|
has_etesync = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
|
@ -21,10 +24,8 @@ from .. import exceptions
|
||||||
from ..cli.utils import assert_permissions
|
from ..cli.utils import assert_permissions
|
||||||
from ..utils import checkdir
|
from ..utils import checkdir
|
||||||
from ..vobject import Item
|
from ..vobject import Item
|
||||||
|
|
||||||
from .base import Storage
|
from .base import Storage
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ from ..utils import expand_path
|
||||||
from ..utils import generate_href
|
from ..utils import generate_href
|
||||||
from ..utils import get_etag_from_file
|
from ..utils import get_etag_from_file
|
||||||
from ..vobject import Item
|
from ..vobject import Item
|
||||||
from .base import normalize_meta_value
|
|
||||||
from .base import Storage
|
from .base import Storage
|
||||||
|
from .base import normalize_meta_value
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,12 @@ import aiohttp
|
||||||
import click
|
import click
|
||||||
from atomicwrites import atomic_write
|
from atomicwrites import atomic_write
|
||||||
|
|
||||||
from . import base
|
|
||||||
from . import dav
|
|
||||||
from .. import exceptions
|
from .. import exceptions
|
||||||
from ..utils import checkdir
|
from ..utils import checkdir
|
||||||
from ..utils import expand_path
|
from ..utils import expand_path
|
||||||
from ..utils import open_graphical_browser
|
from ..utils import open_graphical_browser
|
||||||
|
from . import base
|
||||||
|
from . import dav
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@ import urllib.parse as urlparse
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
from .. import exceptions
|
from .. import exceptions
|
||||||
|
from ..http import USERAGENT
|
||||||
from ..http import prepare_auth
|
from ..http import prepare_auth
|
||||||
from ..http import prepare_client_cert
|
from ..http import prepare_client_cert
|
||||||
from ..http import prepare_verify
|
from ..http import prepare_verify
|
||||||
from ..http import request
|
from ..http import request
|
||||||
from ..http import USERAGENT
|
|
||||||
from ..vobject import Item
|
from ..vobject import Item
|
||||||
from ..vobject import split_collection
|
from ..vobject import split_collection
|
||||||
from .base import Storage
|
from .base import Storage
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import random
|
import random
|
||||||
|
|
||||||
from .. import exceptions
|
from .. import exceptions
|
||||||
from .base import normalize_meta_value
|
|
||||||
from .base import Storage
|
from .base import Storage
|
||||||
|
from .base import normalize_meta_value
|
||||||
|
|
||||||
|
|
||||||
def _random_string():
|
def _random_string():
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ from inspect import getfullargspec
|
||||||
|
|
||||||
from . import exceptions
|
from . import exceptions
|
||||||
|
|
||||||
|
|
||||||
# This is only a subset of the chars allowed per the spec. In particular `@` is
|
# This is only a subset of the chars allowed per the spec. In particular `@` is
|
||||||
# not included, because there are some servers that (incorrectly) encode it to
|
# not included, because there are some servers that (incorrectly) encode it to
|
||||||
# `%40` when it's part of a URL path, and reject or "repair" URLs that contain
|
# `%40` when it's part of a URL path, and reject or "repair" URLs that contain
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ from itertools import tee
|
||||||
from .utils import cached_property
|
from .utils import cached_property
|
||||||
from .utils import uniq
|
from .utils import uniq
|
||||||
|
|
||||||
|
|
||||||
IGNORE_PROPS = (
|
IGNORE_PROPS = (
|
||||||
# PRODID is changed by radicale for some reason after upload
|
# PRODID is changed by radicale for some reason after upload
|
||||||
"PRODID",
|
"PRODID",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue