summaryrefslogtreecommitdiff
path: root/subversion/bindings/swig/python/svn/core.py
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-08-05 16:22:51 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-08-05 16:22:51 +0000
commitcf46733632c7279a9fd0fe6ce26f9185a4ae82a9 (patch)
treeda27775a2161723ef342e91af41a8b51fedef405 /subversion/bindings/swig/python/svn/core.py
parentbb0ef45f7c46b0ae221b26265ef98a768c33f820 (diff)
downloadsubversion-tarball-master.tar.gz
Diffstat (limited to 'subversion/bindings/swig/python/svn/core.py')
-rw-r--r--subversion/bindings/swig/python/svn/core.py67
1 files changed, 29 insertions, 38 deletions
diff --git a/subversion/bindings/swig/python/svn/core.py b/subversion/bindings/swig/python/svn/core.py
index 386581c..bed78c1 100644
--- a/subversion/bindings/swig/python/svn/core.py
+++ b/subversion/bindings/swig/python/svn/core.py
@@ -27,44 +27,8 @@ from libsvn.core import *
import libsvn.core as _libsvncore
import atexit as _atexit
import sys
-__all__ = [
- # Symbols that 'import *' used to pull (in 1.7)
- 'Pool',
- 'SVNSYNC_PROP_CURRENTLY_COPYING',
- 'SVNSYNC_PROP_FROM_URL',
- 'SVNSYNC_PROP_FROM_UUID',
- 'SVNSYNC_PROP_LAST_MERGED_REV',
- 'SVNSYNC_PROP_LOCK',
- 'SVNSYNC_PROP_PREFIX',
- 'SubversionException',
- # 'apr_array_header_t',
- # 'apr_file_open_stderr',
- # 'apr_file_open_stdout',
- # 'apr_file_t',
- # 'apr_hash_t',
- # 'apr_initialize',
- # 'apr_pool_clear',
- # 'apr_pool_destroy',
- # 'apr_pool_t',
- # 'apr_terminate',
- # 'apr_time_ansi_put',
- # 'run_app',
-
- # Symbols defined explicitly below.
- 'SVN_IGNORED_REVNUM',
- 'SVN_INVALID_REVNUM',
- 'svn_path_compare_paths',
- 'svn_mergeinfo_merge',
- 'svn_mergeinfo_sort',
- 'svn_rangelist_merge',
- 'svn_rangelist_reverse',
- # 'Stream',
- # 'apr_initialize',
- # 'apr_terminate',
- 'svn_pool_create',
- 'svn_pool_destroy',
- 'svn_pool_clear',
-]
+# __all__ is defined later, since some svn_* functions are implemented below.
+
class SubversionException(Exception):
@@ -205,6 +169,8 @@ class Stream:
self._stream = stream
def read(self, amt=None):
+ if self._stream is None:
+ raise ValueError
if amt is None:
# read the rest of the stream
chunks = [ ]
@@ -219,9 +185,16 @@ class Stream:
return svn_stream_read(self._stream, int(amt))
def write(self, buf):
+ if self._stream is None:
+ raise ValueError
### what to do with the amount written? (the result value)
svn_stream_write(self._stream, buf)
+ def close(self):
+ if self._stream is not None:
+ svn_stream_close(self._stream)
+ self._stream = None
+
def secs_from_timestr(svn_datetime, pool=None):
"""Convert a Subversion datetime string into seconds since the Epoch."""
aprtime = svn_time_from_cstring(svn_datetime, pool)
@@ -343,3 +316,21 @@ def run_app(func, *args, **kw):
performed as the function exits (normally or via an exception).
'''
return func(application_pool, *args, **kw)
+
+# Currently, this excludes:
+# 'FALSE' 'TRUE'
+# 'apr_array_header_t' 'apr_file_t' 'apr_hash_t'
+# 'apr_file_open_stderr' 'apr_file_open_stdout'
+# 'apr_initialize' 'apr_terminate'
+# 'apr_pool_clear' 'apr_pool_destroy' 'apr_pool_t'
+# 'apr_time_ansi_put'
+# 'run_app'
+# 'svn_relpath__internal_style' 'svn_uri__is_ancestor'
+# 'svn_tristate__from_word' 'svn_tristate__to_word'
+__all__ = filter(lambda s: (s.startswith('svn_')
+ or s.startswith('SVN_')
+ or s.startswith('SVNSYNC_')
+ or s in ('Pool', 'SubversionException'))
+ and '__' not in s,
+ locals())
+