Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha-pgp@silbe.org>2013-08-12 13:28:00 (GMT)
committer Sascha Silbe <sascha-pgp@silbe.org>2013-08-12 13:33:55 (GMT)
commit9453bc76c102c2c0785a9b4e046f3339658a9e94 (patch)
tree6e2d44d7fcc97fc9efb539977112c948ced5a080
parentff40ca8abf23d228c4bf15d45aa7e7a5c810c33b (diff)
Fix a few style issues noticed by pychecker
-rwxr-xr-xjournal2webdav49
1 files changed, 31 insertions, 18 deletions
diff --git a/journal2webdav b/journal2webdav
index e3ebabc..a75eaf0 100755
--- a/journal2webdav
+++ b/journal2webdav
@@ -27,22 +27,22 @@ import urllib
from urlparse import urljoin, urlparse
try:
- import pywebdav.lib as DAV
+ from pywebdav.lib import propfind
except ImportError:
# pywebdav < 0.9.8
- import DAV
from DAV import propfind
from DAV.constants import COLLECTION, OBJECT
from DAV.iface import dav_interface
from DAV.errors import DAV_Error, DAV_NotFound, DAV_Requested_Range_Not_Satisfiable
from DAVServer.fileauth import DAVAuthHandler
+ from xml.parsers.expat import ExpatError
_PYWEBDAV_BUGS = set(['PROPFIND_NS', 'ALLPROP_RECURSE'])
else:
- from pywebdav.lib import propfind
from pywebdav.lib.constants import COLLECTION, OBJECT
from pywebdav.lib.iface import dav_interface
from pywebdav.lib.errors import DAV_Error, DAV_NotFound, DAV_Requested_Range_Not_Satisfiable
from pywebdav.lib.WebDAVServer import DAVRequestHandler as DAVAuthHandler
+ from xml.parsers.expat import ExpatError
_PYWEBDAV_BUGS = set(['ALLPROP_RECURSE', 'HTTP10_KEEPALIVE'])
if 'ALLPROP_RECURSE' in _PYWEBDAV_BUGS:
@@ -164,7 +164,18 @@ class PROPFIND(propfind.PROPFIND):
return doc.toxml(encoding="utf-8")
-class JournalObjectResource(object):
+class WebdavResource(object):
+ def __len__(self):
+ raise NotImplementedError('Not implemented by subclass')
+
+ def __iter__(self):
+ raise NotImplementedError('Not implemented by subclass')
+
+ def read(self, length=0):
+ raise NotImplementedError('Not implemented by subclass')
+
+
+class JournalObjectResource(WebdavResource):
def __init__(self, fs_object):
path = fs_object.get_data()
if path:
@@ -194,7 +205,7 @@ class JournalObjectResource(object):
return self._file.read(length or self._size)
-class BufferResource(object):
+class BufferResource(WebdavResource):
def __init__(self):
self._position = 0
self._buffer = ''
@@ -455,26 +466,27 @@ class JournalHandler(dav_interface):
return start, end
-def setupDummyConfig(**kw):
- class DummyConfigDAV:
- def __init__(self, **kw):
- self.__dict__.update(**kw)
-
- def getboolean(self, name):
- return (str(getattr(self, name, 0)) in ('1', "yes", "true", "on", "True"))
+class _DummyConfigDAV:
+ def __init__(self, **kw):
+ self.__dict__.update(**kw)
- class DummyConfig:
- DAV = DummyConfigDAV(**kw)
+ def getboolean(self, name):
+ return (str(getattr(self, name, 0)) in ('1', "yes", "true", "on", "True"))
- def __init__(self):
- pass
+def setupDummyConfig(**kw):
+ class DummyConfig:
+ DAV = _DummyConfigDAV(**kw)
return DummyConfig()
class RequestHandler(DAVAuthHandler):
protocol_version = 'HTTP/1.1'
+ # These class attributes need to be overridden at run-time.
+ IFACE_CLASS = None
+ _config = None
+
if 'ALLPROP_RECURSE' in _PYWEBDAV_BUGS or 'PROPFIND_NS' in _PYWEBDAV_BUGS:
# pylint: disable=W0402,W0404,C0324,W0612
def do_PROPFIND(self):
@@ -587,7 +599,7 @@ class RequestHandler(DAVAuthHandler):
self.log_date_time_string(), format % args)
-def main(my_name, args):
+def main():
global log
parser = optparse.OptionParser()
@@ -643,4 +655,5 @@ def main(my_name, args):
return 0
-sys.exit(main(sys.argv[0], sys.argv[1:]))
+if __name__ == '__main__':
+ sys.exit(main())