~excitablesnowball/duplicity/s3-onezone-ia

« back to all changes in this revision

Viewing changes to duplicity/backends/dpbxbackend.py

  • Committer: kenneth at loafman
  • Date: 2017-12-20 13:03:42 UTC
  • Revision ID: kenneth@loafman.com-20171220130342-rzlfz5qrf6rp6xui
* Fixes so pylint 1.8.1 does not complain about missing conditional imports.
  - Fix dpbxbackend so that imports require instantiation of the class.
  - Added pylint: disable=import-error to a couple of conditional imports

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# -*- Mode:Python; indent-tabs-mode:nil; tab-width:4 -*-
2
 
# pylint: skip-file
3
 
# pylint: skip-file
4
2
#
5
3
# Copyright 2013 jno <jno@pisem.net>
6
4
# Copyright 2016 Dmitry Nezhevenko <dion@dion.org.ua>
28
26
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29
27
 
30
28
import StringIO
31
 
from duplicity import log, globals
32
 
from duplicity import progress
33
 
import duplicity.backend
34
 
from duplicity.errors import BackendException
35
29
import os
 
30
import re
36
31
import sys
 
32
import time
37
33
import traceback
38
34
import urllib
39
 
import re
40
35
 
41
 
from dropbox import Dropbox
42
 
from dropbox.exceptions import AuthError, BadInputError, ApiError
43
 
from dropbox.files import UploadSessionCursor, CommitInfo, WriteMode, \
44
 
    GetMetadataError, DeleteError, UploadSessionLookupError, ListFolderError
45
 
from dropbox.oauth import DropboxOAuth2FlowNoRedirect
 
36
from duplicity import log, globals
 
37
from duplicity import progress
 
38
from duplicity.errors import BackendException
 
39
from duplicity.globals import num_retries
46
40
from requests.exceptions import ConnectionError
47
 
import time
48
 
from duplicity.globals import num_retries
 
41
import duplicity.backend
 
42
 
49
43
 
50
44
# This is chunk size for upload using Dpbx chumked API v2. It doesn't
51
45
# make sense to make it much large since Dpbx SDK uses connection pool
95
89
    def __init__(self, parsed_url):
96
90
        duplicity.backend.Backend.__init__(self, parsed_url)
97
91
 
 
92
        global Dropbox
 
93
        global AuthError, BadInputError, ApiError
 
94
        global UploadSessionCursor, CommitInfo
 
95
        global WriteMode, GetMetadataError
 
96
        global DeleteError, UploadSessionLookupError
 
97
        global ListFolderError
 
98
        global DropboxOAuth2FlowNoRedirect
 
99
 
 
100
        from dropbox import Dropbox  # pylint: disable=import-error
 
101
        from dropbox.exceptions import AuthError, BadInputError, ApiError  # pylint: disable=import-error
 
102
        from dropbox.files import (UploadSessionCursor, CommitInfo,  # pylint: disable=import-error
 
103
                                   WriteMode, GetMetadataError,  # pylint: disable=import-error
 
104
                                   DeleteError, UploadSessionLookupError,  # pylint: disable=import-error
 
105
                                   ListFolderError)  # pylint: disable=import-error
 
106
        from dropbox.oauth import DropboxOAuth2FlowNoRedirect  # pylint: disable=import-error
 
107
 
98
108
        self.api_account = None
99
109
        self.api_client = None
100
110
        self.auth_flow = None