Параметры поддержки раздачи и приёма соединений пиров
This commit is contained in:
		
							parent
							
								
									3a3c9743a6
								
							
						
					
					
						commit
						3d44da9baa
					
				| @ -61,6 +61,8 @@ func (o *Engine) StartTorrent(idx int64) error { | ||||
| 	o.torrCfg = torrent.NewDefaultClientConfig() | ||||
| 	o.torrCfg.ListenPort = o.settings.ListenPort | ||||
| 	o.torrCfg.DataDir = o.settings.DownloadPath | ||||
| 	o.torrCfg.Seed = o.settings.Seed | ||||
| 	o.torrCfg.AcceptPeerConnections = o.settings.AcceptPeerConnections | ||||
| 	o.torrCfg.DefaultStorage = storage.NewFileWithCompletion(o.settings.DownloadPath, storage.NewMapPieceCompletion()) | ||||
| 
 | ||||
| 	if o.settings.Proxy != "" { | ||||
|  | ||||
| @ -1,33 +0,0 @@ | ||||
| # Makefile for python interface for package gorrent.
 | ||||
| # File is generated by gopy. Do not edit.
 | ||||
| # gopy gen --output=py/gorrent gorrent
 | ||||
| 
 | ||||
| GOCMD=go | ||||
| GOBUILD=$(GOCMD) build -mod=mod | ||||
| GOIMPORTS=goimports | ||||
| PYTHON=env python3 | ||||
| LIBEXT=.so | ||||
| 
 | ||||
| # get the CC and flags used to build python:
 | ||||
| GCC = $(shell $(GOCMD) env CC) | ||||
| CFLAGS = $(shell python3-config --includes) | ||||
| LDFLAGS = -L/usr/lib64 $(BOOST_ROOT)/stage/lib/libboost_python*.a -lpthread -ldl  -lutil -lm -lm | ||||
| 
 | ||||
| all: build | ||||
| 
 | ||||
| build: | ||||
| 	# build target builds the generated files -- this is what gopy build does.. | ||||
| 	# this will otherwise be built during go build and may be out of date | ||||
| 	- rm -f gorrent.c | ||||
| 	# goimports is needed to ensure that the imports list is valid | ||||
| 	$(GOIMPORTS) -w gorrent.go | ||||
| 	# generate gorrent_go$(LIBEXT) from gorrent.go -- the cgo wrappers to go functions | ||||
| 	$(GOBUILD) -buildmode=c-archive -o gorrent_go.a gorrent.go | ||||
| 	# use pybindgen to build the gorrent.c file which are the CPython wrappers to cgo wrappers.. | ||||
| 	# note: pip install pybindgen to get pybindgen if this fails | ||||
| 	$(PYTHON) build.py | ||||
| 	# build the _gorrent$(LIBEXT) library that contains the cgo and CPython wrappers | ||||
| 	# generated gorrent.py python wrapper imports this c-code package | ||||
| 	 | ||||
| 	$(GCC) gorrent.c  gorrent_go.a -o _gorrent$(LIBEXT) $(CFLAGS) $(LDFLAGS) -fPIC --shared -w | ||||
| 	 | ||||
| @ -1,216 +0,0 @@ | ||||
| # python build stubs for package gorrent | ||||
| # File is generated by gopy. Do not edit. | ||||
| # gopy gen --output=py/gorrent gorrent | ||||
| 
 | ||||
| from pybindgen import retval, param, Function, Module | ||||
| import sys | ||||
| 
 | ||||
| class CheckedFunction(Function): | ||||
|     def __init__(self, *a, **kw): | ||||
|         super(CheckedFunction, self).__init__(*a, **kw) | ||||
|         self._failure_expression = kw.get('failure_expression', '') | ||||
|         self._failure_cleanup = kw.get('failure_cleanup', '') | ||||
| 
 | ||||
|     def set_failure_expression(self, expr): | ||||
|         self._failure_expression = expr | ||||
| 
 | ||||
|     def set_failure_cleanup(self, expr): | ||||
|         self._failure_cleanup = expr | ||||
| 
 | ||||
|     def generate_call(self): | ||||
|         super(CheckedFunction, self).generate_call() | ||||
|         check = "PyErr_Occurred()" | ||||
|         if self._failure_expression: | ||||
|             check = "{} && {}".format(self._failure_expression, check) | ||||
|         failure_cleanup = self._failure_cleanup or None | ||||
|         self.before_call.write_error_check(check, failure_cleanup) | ||||
| 
 | ||||
| def add_checked_function(mod, name, retval, params, failure_expression='', *a, **kw): | ||||
|     fn = CheckedFunction(name, retval, params, *a, **kw) | ||||
|     fn.set_failure_expression(failure_expression) | ||||
|     mod._add_function_obj(fn) | ||||
|     return fn | ||||
| 
 | ||||
| def add_checked_string_function(mod, name, retval, params, failure_expression='', *a, **kw): | ||||
|     fn = CheckedFunction(name, retval, params, *a, **kw) | ||||
|     fn.set_failure_cleanup('if (retval != NULL) free(retval);') | ||||
|     fn.after_call.add_cleanup_code('free(retval);') | ||||
|     fn.set_failure_expression(failure_expression) | ||||
|     mod._add_function_obj(fn) | ||||
|     return fn | ||||
| 
 | ||||
| mod = Module('_gorrent') | ||||
| mod.add_include('"gorrent_go.h"') | ||||
| mod.add_function('GoPyInit', None, []) | ||||
| mod.add_function('DecRef', None, [param('int64_t', 'handle')]) | ||||
| mod.add_function('IncRef', None, [param('int64_t', 'handle')]) | ||||
| mod.add_function('NumHandles', retval('int'), []) | ||||
| mod.add_function('Slice_bool_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_bool_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_bool_elem', retval('bool'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_bool_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_bool_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('bool', 'value')]) | ||||
| mod.add_function('Slice_bool_append', None, [param('int64_t', 'handle'), param('bool', 'value')]) | ||||
| mod.add_function('Slice_byte_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_byte_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_byte_elem', retval('uint8_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_byte_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_byte_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('uint8_t', 'value')]) | ||||
| mod.add_function('Slice_byte_append', None, [param('int64_t', 'handle'), param('uint8_t', 'value')]) | ||||
| mod.add_function('Slice_float32_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_float32_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_float32_elem', retval('float'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_float32_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_float32_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('float', 'value')]) | ||||
| mod.add_function('Slice_float32_append', None, [param('int64_t', 'handle'), param('float', 'value')]) | ||||
| mod.add_function('Slice_float64_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_float64_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_float64_elem', retval('double'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_float64_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_float64_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('double', 'value')]) | ||||
| mod.add_function('Slice_float64_append', None, [param('int64_t', 'handle'), param('double', 'value')]) | ||||
| mod.add_function('Slice_int_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_int_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_int_elem', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_int_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_int_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('int64_t', 'value')]) | ||||
| mod.add_function('Slice_int_append', None, [param('int64_t', 'handle'), param('int64_t', 'value')]) | ||||
| mod.add_function('Slice_int16_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_int16_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_int16_elem', retval('int16_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_int16_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_int16_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('int16_t', 'value')]) | ||||
| mod.add_function('Slice_int16_append', None, [param('int64_t', 'handle'), param('int16_t', 'value')]) | ||||
| mod.add_function('Slice_int32_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_int32_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_int32_elem', retval('int32_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_int32_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_int32_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('int32_t', 'value')]) | ||||
| mod.add_function('Slice_int32_append', None, [param('int64_t', 'handle'), param('int32_t', 'value')]) | ||||
| mod.add_function('Slice_int64_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_int64_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_int64_elem', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_int64_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_int64_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('int64_t', 'value')]) | ||||
| mod.add_function('Slice_int64_append', None, [param('int64_t', 'handle'), param('int64_t', 'value')]) | ||||
| mod.add_function('Slice_int8_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_int8_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_int8_elem', retval('int8_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_int8_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_int8_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('int8_t', 'value')]) | ||||
| mod.add_function('Slice_int8_append', None, [param('int64_t', 'handle'), param('int8_t', 'value')]) | ||||
| mod.add_function('Slice_rune_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_rune_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_rune_elem', retval('int32_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_rune_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_rune_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('int32_t', 'value')]) | ||||
| mod.add_function('Slice_rune_append', None, [param('int64_t', 'handle'), param('int32_t', 'value')]) | ||||
| mod.add_function('Slice_string_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_string_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_string_elem', retval('char*'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_string_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_string_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('char*', 'value')]) | ||||
| mod.add_function('Slice_string_append', None, [param('int64_t', 'handle'), param('char*', 'value')]) | ||||
| mod.add_function('Slice_uint_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_uint_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_uint_elem', retval('uint64_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_uint_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_uint_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('uint64_t', 'value')]) | ||||
| mod.add_function('Slice_uint_append', None, [param('int64_t', 'handle'), param('uint64_t', 'value')]) | ||||
| mod.add_function('Slice_uint16_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_uint16_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_uint16_elem', retval('uint16_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_uint16_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_uint16_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('uint16_t', 'value')]) | ||||
| mod.add_function('Slice_uint16_append', None, [param('int64_t', 'handle'), param('uint16_t', 'value')]) | ||||
| mod.add_function('Slice_uint32_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_uint32_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_uint32_elem', retval('uint32_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_uint32_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_uint32_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('uint32_t', 'value')]) | ||||
| mod.add_function('Slice_uint32_append', None, [param('int64_t', 'handle'), param('uint32_t', 'value')]) | ||||
| mod.add_function('Slice_uint64_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_uint64_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_uint64_elem', retval('uint64_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_uint64_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_uint64_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('uint64_t', 'value')]) | ||||
| mod.add_function('Slice_uint64_append', None, [param('int64_t', 'handle'), param('uint64_t', 'value')]) | ||||
| mod.add_function('Slice_uint8_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_uint8_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_uint8_elem', retval('uint8_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_uint8_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_uint8_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('uint8_t', 'value')]) | ||||
| mod.add_function('Slice_uint8_append', None, [param('int64_t', 'handle'), param('uint8_t', 'value')]) | ||||
| mod.add_function('Slice_Ptr_gorrent_FileInfo_CTor', retval('int64_t'), []) | ||||
| mod.add_function('Slice_Ptr_gorrent_FileInfo_len', retval('int'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('Slice_Ptr_gorrent_FileInfo_elem', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'idx')]) | ||||
| mod.add_function('Slice_Ptr_gorrent_FileInfo_subslice', retval('int64_t'), [param('int64_t', 'handle'), param('int', 'st'), param('int', 'ed')]) | ||||
| mod.add_function('Slice_Ptr_gorrent_FileInfo_set', None, [param('int64_t', 'handle'), param('int', 'idx'), param('int64_t', 'value')]) | ||||
| mod.add_function('Slice_Ptr_gorrent_FileInfo_append', None, [param('int64_t', 'handle'), param('int64_t', 'value')]) | ||||
| mod.add_function('gorrent_Settings_CTor', retval('int64_t'), []) | ||||
| mod.add_function('gorrent_Settings_DownloadPath_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_DownloadPath_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_Settings_HttpBindHost_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_HttpBindHost_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_Settings_HttpBindPort_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_HttpBindPort_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_Settings_ListenPort_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_ListenPort_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_Settings_MaxConnections_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_MaxConnections_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_Settings_TorrentPath_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_TorrentPath_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_Settings_Proxy_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_Proxy_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_Settings_KeepFiles_Get', retval('bool'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_KeepFiles_Set', None, [param('int64_t', 'handle'), param('bool', 'val')]) | ||||
| mod.add_function('gorrent_Settings_Debug_Get', retval('bool'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Settings_Debug_Set', None, [param('int64_t', 'handle'), param('bool', 'val')]) | ||||
| mod.add_function('gorrent_TorrentStatus_CTor', retval('int64_t'), []) | ||||
| mod.add_function('gorrent_TorrentStatus_DownloadRate_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_TorrentStatus_DownloadRate_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_TorrentStatus_UploadRate_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_TorrentStatus_UploadRate_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_TorrentStatus_Seeds_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_TorrentStatus_Seeds_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_Engine_CTor', retval('int64_t'), []) | ||||
| add_checked_function(mod, 'gorrent_Engine_IsAlive', retval('bool'), [param('int64_t', '_handle')]) | ||||
| add_checked_function(mod, 'gorrent_Engine_StartTorrent', retval('char*'), [param('int64_t', '_handle'), param('int64_t', 'idx')]) | ||||
| add_checked_function(mod, 'gorrent_Engine_Status', retval('int64_t'), [param('int64_t', '_handle')]) | ||||
| add_checked_function(mod, 'gorrent_Engine_FileStatus', retval('int64_t'), [param('int64_t', '_handle'), param('int64_t', 'i')]) | ||||
| add_checked_function(mod, 'gorrent_Engine_Stop', None, [param('int64_t', '_handle'), param('bool', 'goRun')]) | ||||
| add_checked_string_function(mod, 'gorrent_Engine_GetMsg', retval('char*'), [param('int64_t', '_handle')]) | ||||
| add_checked_function(mod, 'gorrent_Engine_Clean', None, [param('int64_t', '_handle'), param('bool', 'goRun')]) | ||||
| mod.add_function('gorrent_FileInfo_CTor', retval('int64_t'), []) | ||||
| mod.add_function('gorrent_FileInfo_Length_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_FileInfo_Length_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_FileInfo_Path_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_FileInfo_Path_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_FileInfo_PathUTF8_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_FileInfo_PathUTF8_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_FileStatus_CTor', retval('int64_t'), []) | ||||
| mod.add_function('gorrent_FileStatus_Name_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_FileStatus_Name_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_FileStatus_Url_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_FileStatus_Url_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_FileStatus_Progress_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_FileStatus_Progress_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_FileStatus_Length_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_FileStatus_Length_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_Info_CTor', retval('int64_t'), []) | ||||
| mod.add_function('gorrent_Info_Name_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Info_Name_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_Info_Length_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Info_Length_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| mod.add_function('gorrent_Info_Source_Get', retval('char*'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Info_Source_Set', None, [param('int64_t', 'handle'), param('char*', 'val')]) | ||||
| mod.add_function('gorrent_Info_Files_Get', retval('int64_t'), [param('int64_t', 'handle')]) | ||||
| mod.add_function('gorrent_Info_Files_Set', None, [param('int64_t', 'handle'), param('int64_t', 'val')]) | ||||
| add_checked_function(mod, 'gorrent_Info_LoadFile', retval('char*'), [param('int64_t', '_handle'), param('char*', 'path')]) | ||||
| add_checked_function(mod, 'gorrent_NewSettings', retval('int64_t'), []) | ||||
| add_checked_function(mod, 'gorrent_NewEngine', retval('int64_t'), [param('int64_t', 'settings')]) | ||||
| add_checked_function(mod, 'gorrent_GetMetaFromFile', retval('int64_t'), [param('char*', 'path')]) | ||||
| add_checked_string_function(mod, 'gorrent_Version', retval('char*'), []) | ||||
| 
 | ||||
| mod.generate(open('gorrent.c', 'w')) | ||||
| 
 | ||||
							
								
								
									
										1387
									
								
								py/gorrent/go.py
									
									
									
									
									
								
							
							
						
						
									
										1387
									
								
								py/gorrent/go.py
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1,723 +0,0 @@ | ||||
| 
 | ||||
| # python wrapper for package gorrent within overall package gorrent | ||||
| # This is what you import to use the package. | ||||
| # File is generated by gopy. Do not edit. | ||||
| # gopy gen --output=py/gorrent gorrent | ||||
| 
 | ||||
| # the following is required to enable dlopen to open the _go.so file | ||||
| import os,sys,inspect,collections | ||||
| try: | ||||
| 	import collections.abc as _collections_abc | ||||
| except ImportError: | ||||
| 	_collections_abc = collections | ||||
| 
 | ||||
| cwd = os.getcwd() | ||||
| currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) | ||||
| os.chdir(currentdir) | ||||
| from . import _gorrent | ||||
| from . import go | ||||
| 
 | ||||
| os.chdir(cwd) | ||||
| 
 | ||||
| # to use this code in your end-user python file, import it as follows: | ||||
| # from gorrent import gorrent | ||||
| # and then refer to everything using gorrent. prefix | ||||
| # packages imported by this package listed below: | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # ---- Types --- | ||||
| 
 | ||||
| # Python type for slice []*gorrent.FileInfo | ||||
| class Slice_Ptr_gorrent_FileInfo(go.GoClass): | ||||
| 	"""""" | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		""" | ||||
| 		handle=A Go-side object is always initialized with an explicit handle=arg | ||||
| 		otherwise parameter is a python list that we copy from | ||||
| 		""" | ||||
| 		self.index = 0 | ||||
| 		if len(kwargs) == 1 and 'handle' in kwargs: | ||||
| 			self.handle = kwargs['handle'] | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		elif len(args) == 1 and isinstance(args[0], go.GoClass): | ||||
| 			self.handle = args[0].handle | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		else: | ||||
| 			self.handle = _gorrent.Slice_Ptr_gorrent_FileInfo_CTor() | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 			if len(args) > 0: | ||||
| 				if not isinstance(args[0], _collections_abc.Iterable): | ||||
| 					raise TypeError('Slice_Ptr_gorrent_FileInfo.__init__ takes a sequence as argument') | ||||
| 				for elt in args[0]: | ||||
| 					self.append(elt) | ||||
| 	def __del__(self): | ||||
| 		_gorrent.DecRef(self.handle) | ||||
| 	def __str__(self): | ||||
| 		s = 'gorrent.Slice_Ptr_gorrent_FileInfo len: ' + str(len(self)) + ' handle: ' + str(self.handle) + ' [' | ||||
| 		if len(self) < 120: | ||||
| 			s += ', '.join(map(str, self)) + ']' | ||||
| 		return s | ||||
| 	def __repr__(self): | ||||
| 		return 'gorrent.Slice_Ptr_gorrent_FileInfo([' + ', '.join(map(str, self)) + '])' | ||||
| 	def __len__(self): | ||||
| 		return _gorrent.Slice_Ptr_gorrent_FileInfo_len(self.handle) | ||||
| 	def __getitem__(self, key): | ||||
| 		if isinstance(key, slice): | ||||
| 			if key.step == None or key.step == 1: | ||||
| 				st = key.start | ||||
| 				ed = key.stop | ||||
| 				if st == None: | ||||
| 					st = 0 | ||||
| 				if ed == None: | ||||
| 					ed = _gorrent.Slice_Ptr_gorrent_FileInfo_len(self.handle) | ||||
| 				return Slice_Ptr_gorrent_FileInfo(handle=_gorrent.Slice_Ptr_gorrent_FileInfo_subslice(self.handle, st, ed)) | ||||
| 			return [self[ii] for ii in range(*key.indices(len(self)))] | ||||
| 		elif isinstance(key, int): | ||||
| 			if key < 0: | ||||
| 				key += len(self) | ||||
| 			if key < 0 or key >= len(self): | ||||
| 				raise IndexError('slice index out of range') | ||||
| 			return FileInfo(handle=_gorrent.Slice_Ptr_gorrent_FileInfo_elem(self.handle, key)) | ||||
| 		else: | ||||
| 			raise TypeError('slice index invalid type') | ||||
| 	def __setitem__(self, idx, value): | ||||
| 		if idx < 0: | ||||
| 			idx += len(self) | ||||
| 		if idx < len(self): | ||||
| 			_gorrent.Slice_Ptr_gorrent_FileInfo_set(self.handle, idx, value.handle) | ||||
| 			return | ||||
| 		raise IndexError('slice index out of range') | ||||
| 	def __iadd__(self, value): | ||||
| 		if not isinstance(value, _collections_abc.Iterable): | ||||
| 			raise TypeError('Slice_Ptr_gorrent_FileInfo.__iadd__ takes a sequence as argument') | ||||
| 		for elt in value: | ||||
| 			self.append(elt) | ||||
| 		return self | ||||
| 	def __iter__(self): | ||||
| 		self.index = 0 | ||||
| 		return self | ||||
| 	def __next__(self): | ||||
| 		if self.index < len(self): | ||||
| 			rv = _gorrent.Slice_Ptr_gorrent_FileInfo_elem(self.handle, self.index) | ||||
| 			self.index = self.index + 1 | ||||
| 			return rv | ||||
| 		raise StopIteration | ||||
| 	def append(self, value): | ||||
| 		_gorrent.Slice_Ptr_gorrent_FileInfo_append(self.handle, value.handle) | ||||
| 	def copy(self, src): | ||||
| 		""" copy emulates the go copy function, copying elements into this list from source list, up to min of size of each list """ | ||||
| 		mx = min(len(self), len(src)) | ||||
| 		for i in range(mx): | ||||
| 			self[i] = src[i] | ||||
| 
 | ||||
| 
 | ||||
| #---- Enums from Go (collections of consts with same type) --- | ||||
| 
 | ||||
| 
 | ||||
| #---- Constants from Go: Python can only ask that you please don't change these! --- | ||||
| 
 | ||||
| 
 | ||||
| # ---- Global Variables: can only use functions to access --- | ||||
| 
 | ||||
| 
 | ||||
| # ---- Interfaces --- | ||||
| 
 | ||||
| 
 | ||||
| # ---- Structs --- | ||||
| 
 | ||||
| # Python type for struct gorrent.Settings | ||||
| class Settings(go.GoClass): | ||||
| 	"""""" | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		""" | ||||
| 		handle=A Go-side object is always initialized with an explicit handle=arg | ||||
| 		otherwise parameters can be unnamed in order of field names or named fields | ||||
| 		in which case a new Go object is constructed first | ||||
| 		""" | ||||
| 		if len(kwargs) == 1 and 'handle' in kwargs: | ||||
| 			self.handle = kwargs['handle'] | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		elif len(args) == 1 and isinstance(args[0], go.GoClass): | ||||
| 			self.handle = args[0].handle | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		else: | ||||
| 			self.handle = _gorrent.gorrent_Settings_CTor() | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 			if  0 < len(args): | ||||
| 				self.DownloadPath = args[0] | ||||
| 			if "DownloadPath" in kwargs: | ||||
| 				self.DownloadPath = kwargs["DownloadPath"] | ||||
| 			if  1 < len(args): | ||||
| 				self.HttpBindHost = args[1] | ||||
| 			if "HttpBindHost" in kwargs: | ||||
| 				self.HttpBindHost = kwargs["HttpBindHost"] | ||||
| 			if  2 < len(args): | ||||
| 				self.HttpBindPort = args[2] | ||||
| 			if "HttpBindPort" in kwargs: | ||||
| 				self.HttpBindPort = kwargs["HttpBindPort"] | ||||
| 			if  3 < len(args): | ||||
| 				self.ListenPort = args[3] | ||||
| 			if "ListenPort" in kwargs: | ||||
| 				self.ListenPort = kwargs["ListenPort"] | ||||
| 			if  4 < len(args): | ||||
| 				self.MaxConnections = args[4] | ||||
| 			if "MaxConnections" in kwargs: | ||||
| 				self.MaxConnections = kwargs["MaxConnections"] | ||||
| 			if  5 < len(args): | ||||
| 				self.TorrentPath = args[5] | ||||
| 			if "TorrentPath" in kwargs: | ||||
| 				self.TorrentPath = kwargs["TorrentPath"] | ||||
| 			if  6 < len(args): | ||||
| 				self.Proxy = args[6] | ||||
| 			if "Proxy" in kwargs: | ||||
| 				self.Proxy = kwargs["Proxy"] | ||||
| 			if  7 < len(args): | ||||
| 				self.KeepFiles = args[7] | ||||
| 			if "KeepFiles" in kwargs: | ||||
| 				self.KeepFiles = kwargs["KeepFiles"] | ||||
| 			if  8 < len(args): | ||||
| 				self.Debug = args[8] | ||||
| 			if "Debug" in kwargs: | ||||
| 				self.Debug = kwargs["Debug"] | ||||
| 	def __del__(self): | ||||
| 		_gorrent.DecRef(self.handle) | ||||
| 	def __str__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.Settings{' | ||||
| 		first = True | ||||
| 		for v in pr: | ||||
| 			if callable(v[1]): | ||||
| 				continue | ||||
| 			if first: | ||||
| 				first = False | ||||
| 			else: | ||||
| 				sv += ', ' | ||||
| 			sv += v[0] + '=' + str(v[1]) | ||||
| 		return sv + '}' | ||||
| 	def __repr__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.Settings ( ' | ||||
| 		for v in pr: | ||||
| 			if not callable(v[1]): | ||||
| 				sv += v[0] + '=' + str(v[1]) + ', ' | ||||
| 		return sv + ')' | ||||
| 	@property | ||||
| 	def DownloadPath(self): | ||||
| 		return _gorrent.gorrent_Settings_DownloadPath_Get(self.handle) | ||||
| 	@DownloadPath.setter | ||||
| 	def DownloadPath(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_DownloadPath_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_DownloadPath_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def HttpBindHost(self): | ||||
| 		return _gorrent.gorrent_Settings_HttpBindHost_Get(self.handle) | ||||
| 	@HttpBindHost.setter | ||||
| 	def HttpBindHost(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_HttpBindHost_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_HttpBindHost_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def HttpBindPort(self): | ||||
| 		return _gorrent.gorrent_Settings_HttpBindPort_Get(self.handle) | ||||
| 	@HttpBindPort.setter | ||||
| 	def HttpBindPort(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_HttpBindPort_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_HttpBindPort_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def ListenPort(self): | ||||
| 		return _gorrent.gorrent_Settings_ListenPort_Get(self.handle) | ||||
| 	@ListenPort.setter | ||||
| 	def ListenPort(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_ListenPort_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_ListenPort_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def MaxConnections(self): | ||||
| 		return _gorrent.gorrent_Settings_MaxConnections_Get(self.handle) | ||||
| 	@MaxConnections.setter | ||||
| 	def MaxConnections(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_MaxConnections_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_MaxConnections_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def TorrentPath(self): | ||||
| 		return _gorrent.gorrent_Settings_TorrentPath_Get(self.handle) | ||||
| 	@TorrentPath.setter | ||||
| 	def TorrentPath(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_TorrentPath_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_TorrentPath_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Proxy(self): | ||||
| 		return _gorrent.gorrent_Settings_Proxy_Get(self.handle) | ||||
| 	@Proxy.setter | ||||
| 	def Proxy(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_Proxy_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_Proxy_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def KeepFiles(self): | ||||
| 		return _gorrent.gorrent_Settings_KeepFiles_Get(self.handle) | ||||
| 	@KeepFiles.setter | ||||
| 	def KeepFiles(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_KeepFiles_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_KeepFiles_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Debug(self): | ||||
| 		return _gorrent.gorrent_Settings_Debug_Get(self.handle) | ||||
| 	@Debug.setter | ||||
| 	def Debug(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Settings_Debug_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Settings_Debug_Set(self.handle, value) | ||||
| 
 | ||||
| # Python type for struct gorrent.TorrentStatus | ||||
| class TorrentStatus(go.GoClass): | ||||
| 	"""""" | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		""" | ||||
| 		handle=A Go-side object is always initialized with an explicit handle=arg | ||||
| 		otherwise parameters can be unnamed in order of field names or named fields | ||||
| 		in which case a new Go object is constructed first | ||||
| 		""" | ||||
| 		if len(kwargs) == 1 and 'handle' in kwargs: | ||||
| 			self.handle = kwargs['handle'] | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		elif len(args) == 1 and isinstance(args[0], go.GoClass): | ||||
| 			self.handle = args[0].handle | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		else: | ||||
| 			self.handle = _gorrent.gorrent_TorrentStatus_CTor() | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 			if  0 < len(args): | ||||
| 				self.DownloadRate = args[0] | ||||
| 			if "DownloadRate" in kwargs: | ||||
| 				self.DownloadRate = kwargs["DownloadRate"] | ||||
| 			if  1 < len(args): | ||||
| 				self.UploadRate = args[1] | ||||
| 			if "UploadRate" in kwargs: | ||||
| 				self.UploadRate = kwargs["UploadRate"] | ||||
| 			if  2 < len(args): | ||||
| 				self.Seeds = args[2] | ||||
| 			if "Seeds" in kwargs: | ||||
| 				self.Seeds = kwargs["Seeds"] | ||||
| 	def __del__(self): | ||||
| 		_gorrent.DecRef(self.handle) | ||||
| 	def __str__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.TorrentStatus{' | ||||
| 		first = True | ||||
| 		for v in pr: | ||||
| 			if callable(v[1]): | ||||
| 				continue | ||||
| 			if first: | ||||
| 				first = False | ||||
| 			else: | ||||
| 				sv += ', ' | ||||
| 			sv += v[0] + '=' + str(v[1]) | ||||
| 		return sv + '}' | ||||
| 	def __repr__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.TorrentStatus ( ' | ||||
| 		for v in pr: | ||||
| 			if not callable(v[1]): | ||||
| 				sv += v[0] + '=' + str(v[1]) + ', ' | ||||
| 		return sv + ')' | ||||
| 	@property | ||||
| 	def DownloadRate(self): | ||||
| 		return _gorrent.gorrent_TorrentStatus_DownloadRate_Get(self.handle) | ||||
| 	@DownloadRate.setter | ||||
| 	def DownloadRate(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_TorrentStatus_DownloadRate_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_TorrentStatus_DownloadRate_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def UploadRate(self): | ||||
| 		return _gorrent.gorrent_TorrentStatus_UploadRate_Get(self.handle) | ||||
| 	@UploadRate.setter | ||||
| 	def UploadRate(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_TorrentStatus_UploadRate_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_TorrentStatus_UploadRate_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Seeds(self): | ||||
| 		return _gorrent.gorrent_TorrentStatus_Seeds_Get(self.handle) | ||||
| 	@Seeds.setter | ||||
| 	def Seeds(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_TorrentStatus_Seeds_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_TorrentStatus_Seeds_Set(self.handle, value) | ||||
| 
 | ||||
| # Python type for struct gorrent.Engine | ||||
| class Engine(go.GoClass): | ||||
| 	"""""" | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		""" | ||||
| 		handle=A Go-side object is always initialized with an explicit handle=arg | ||||
| 		otherwise parameters can be unnamed in order of field names or named fields | ||||
| 		in which case a new Go object is constructed first | ||||
| 		""" | ||||
| 		if len(kwargs) == 1 and 'handle' in kwargs: | ||||
| 			self.handle = kwargs['handle'] | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		elif len(args) == 1 and isinstance(args[0], go.GoClass): | ||||
| 			self.handle = args[0].handle | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		else: | ||||
| 			self.handle = _gorrent.gorrent_Engine_CTor() | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 	def __del__(self): | ||||
| 		_gorrent.DecRef(self.handle) | ||||
| 	def __str__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.Engine{' | ||||
| 		first = True | ||||
| 		for v in pr: | ||||
| 			if callable(v[1]): | ||||
| 				continue | ||||
| 			if first: | ||||
| 				first = False | ||||
| 			else: | ||||
| 				sv += ', ' | ||||
| 			sv += v[0] + '=' + str(v[1]) | ||||
| 		return sv + '}' | ||||
| 	def __repr__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.Engine ( ' | ||||
| 		for v in pr: | ||||
| 			if not callable(v[1]): | ||||
| 				sv += v[0] + '=' + str(v[1]) + ', ' | ||||
| 		return sv + ')' | ||||
| 	def IsAlive(self): | ||||
| 		"""IsAlive() bool""" | ||||
| 		return _gorrent.gorrent_Engine_IsAlive(self.handle) | ||||
| 	def StartTorrent(self, idx): | ||||
| 		"""StartTorrent(long idx) str""" | ||||
| 		return _gorrent.gorrent_Engine_StartTorrent(self.handle, idx) | ||||
| 	def Status(self): | ||||
| 		"""Status() object""" | ||||
| 		return TorrentStatus(handle=_gorrent.gorrent_Engine_Status(self.handle)) | ||||
| 	def FileStatus(self, i): | ||||
| 		"""FileStatus(int i) object, str""" | ||||
| 		return FileStatus(handle=_gorrent.gorrent_Engine_FileStatus(self.handle, i)) | ||||
| 	def Stop(self, goRun=False): | ||||
| 		"""Stop() """ | ||||
| 		_gorrent.gorrent_Engine_Stop(self.handle, goRun) | ||||
| 	def GetMsg(self): | ||||
| 		"""GetMsg() str""" | ||||
| 		return _gorrent.gorrent_Engine_GetMsg(self.handle) | ||||
| 	def Clean(self, goRun=False): | ||||
| 		"""Clean() """ | ||||
| 		_gorrent.gorrent_Engine_Clean(self.handle, goRun) | ||||
| 
 | ||||
| # Python type for struct gorrent.FileInfo | ||||
| class FileInfo(go.GoClass): | ||||
| 	"""""" | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		""" | ||||
| 		handle=A Go-side object is always initialized with an explicit handle=arg | ||||
| 		otherwise parameters can be unnamed in order of field names or named fields | ||||
| 		in which case a new Go object is constructed first | ||||
| 		""" | ||||
| 		if len(kwargs) == 1 and 'handle' in kwargs: | ||||
| 			self.handle = kwargs['handle'] | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		elif len(args) == 1 and isinstance(args[0], go.GoClass): | ||||
| 			self.handle = args[0].handle | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		else: | ||||
| 			self.handle = _gorrent.gorrent_FileInfo_CTor() | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 			if  0 < len(args): | ||||
| 				self.Length = args[0] | ||||
| 			if "Length" in kwargs: | ||||
| 				self.Length = kwargs["Length"] | ||||
| 			if  1 < len(args): | ||||
| 				self.Path = args[1] | ||||
| 			if "Path" in kwargs: | ||||
| 				self.Path = kwargs["Path"] | ||||
| 			if  2 < len(args): | ||||
| 				self.PathUTF8 = args[2] | ||||
| 			if "PathUTF8" in kwargs: | ||||
| 				self.PathUTF8 = kwargs["PathUTF8"] | ||||
| 	def __del__(self): | ||||
| 		_gorrent.DecRef(self.handle) | ||||
| 	def __str__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.FileInfo{' | ||||
| 		first = True | ||||
| 		for v in pr: | ||||
| 			if callable(v[1]): | ||||
| 				continue | ||||
| 			if first: | ||||
| 				first = False | ||||
| 			else: | ||||
| 				sv += ', ' | ||||
| 			sv += v[0] + '=' + str(v[1]) | ||||
| 		return sv + '}' | ||||
| 	def __repr__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.FileInfo ( ' | ||||
| 		for v in pr: | ||||
| 			if not callable(v[1]): | ||||
| 				sv += v[0] + '=' + str(v[1]) + ', ' | ||||
| 		return sv + ')' | ||||
| 	@property | ||||
| 	def Length(self): | ||||
| 		return _gorrent.gorrent_FileInfo_Length_Get(self.handle) | ||||
| 	@Length.setter | ||||
| 	def Length(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_FileInfo_Length_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_FileInfo_Length_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Path(self): | ||||
| 		return go.Slice_string(handle=_gorrent.gorrent_FileInfo_Path_Get(self.handle)) | ||||
| 	@Path.setter | ||||
| 	def Path(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_FileInfo_Path_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value))) | ||||
| 	@property | ||||
| 	def PathUTF8(self): | ||||
| 		return go.Slice_string(handle=_gorrent.gorrent_FileInfo_PathUTF8_Get(self.handle)) | ||||
| 	@PathUTF8.setter | ||||
| 	def PathUTF8(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_FileInfo_PathUTF8_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value))) | ||||
| 
 | ||||
| # Python type for struct gorrent.FileStatus | ||||
| class FileStatus(go.GoClass): | ||||
| 	"""""" | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		""" | ||||
| 		handle=A Go-side object is always initialized with an explicit handle=arg | ||||
| 		otherwise parameters can be unnamed in order of field names or named fields | ||||
| 		in which case a new Go object is constructed first | ||||
| 		""" | ||||
| 		if len(kwargs) == 1 and 'handle' in kwargs: | ||||
| 			self.handle = kwargs['handle'] | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		elif len(args) == 1 and isinstance(args[0], go.GoClass): | ||||
| 			self.handle = args[0].handle | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		else: | ||||
| 			self.handle = _gorrent.gorrent_FileStatus_CTor() | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 			if  0 < len(args): | ||||
| 				self.Name = args[0] | ||||
| 			if "Name" in kwargs: | ||||
| 				self.Name = kwargs["Name"] | ||||
| 			if  1 < len(args): | ||||
| 				self.Url = args[1] | ||||
| 			if "Url" in kwargs: | ||||
| 				self.Url = kwargs["Url"] | ||||
| 			if  2 < len(args): | ||||
| 				self.Progress = args[2] | ||||
| 			if "Progress" in kwargs: | ||||
| 				self.Progress = kwargs["Progress"] | ||||
| 			if  3 < len(args): | ||||
| 				self.Length = args[3] | ||||
| 			if "Length" in kwargs: | ||||
| 				self.Length = kwargs["Length"] | ||||
| 	def __del__(self): | ||||
| 		_gorrent.DecRef(self.handle) | ||||
| 	def __str__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.FileStatus{' | ||||
| 		first = True | ||||
| 		for v in pr: | ||||
| 			if callable(v[1]): | ||||
| 				continue | ||||
| 			if first: | ||||
| 				first = False | ||||
| 			else: | ||||
| 				sv += ', ' | ||||
| 			sv += v[0] + '=' + str(v[1]) | ||||
| 		return sv + '}' | ||||
| 	def __repr__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.FileStatus ( ' | ||||
| 		for v in pr: | ||||
| 			if not callable(v[1]): | ||||
| 				sv += v[0] + '=' + str(v[1]) + ', ' | ||||
| 		return sv + ')' | ||||
| 	@property | ||||
| 	def Name(self): | ||||
| 		return _gorrent.gorrent_FileStatus_Name_Get(self.handle) | ||||
| 	@Name.setter | ||||
| 	def Name(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_FileStatus_Name_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_FileStatus_Name_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Url(self): | ||||
| 		return _gorrent.gorrent_FileStatus_Url_Get(self.handle) | ||||
| 	@Url.setter | ||||
| 	def Url(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_FileStatus_Url_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_FileStatus_Url_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Progress(self): | ||||
| 		return _gorrent.gorrent_FileStatus_Progress_Get(self.handle) | ||||
| 	@Progress.setter | ||||
| 	def Progress(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_FileStatus_Progress_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_FileStatus_Progress_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Length(self): | ||||
| 		return _gorrent.gorrent_FileStatus_Length_Get(self.handle) | ||||
| 	@Length.setter | ||||
| 	def Length(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_FileStatus_Length_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_FileStatus_Length_Set(self.handle, value) | ||||
| 
 | ||||
| # Python type for struct gorrent.Info | ||||
| class Info(go.GoClass): | ||||
| 	"""""" | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		""" | ||||
| 		handle=A Go-side object is always initialized with an explicit handle=arg | ||||
| 		otherwise parameters can be unnamed in order of field names or named fields | ||||
| 		in which case a new Go object is constructed first | ||||
| 		""" | ||||
| 		if len(kwargs) == 1 and 'handle' in kwargs: | ||||
| 			self.handle = kwargs['handle'] | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		elif len(args) == 1 and isinstance(args[0], go.GoClass): | ||||
| 			self.handle = args[0].handle | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 		else: | ||||
| 			self.handle = _gorrent.gorrent_Info_CTor() | ||||
| 			_gorrent.IncRef(self.handle) | ||||
| 			if  0 < len(args): | ||||
| 				self.Name = args[0] | ||||
| 			if "Name" in kwargs: | ||||
| 				self.Name = kwargs["Name"] | ||||
| 			if  1 < len(args): | ||||
| 				self.Length = args[1] | ||||
| 			if "Length" in kwargs: | ||||
| 				self.Length = kwargs["Length"] | ||||
| 			if  2 < len(args): | ||||
| 				self.Source = args[2] | ||||
| 			if "Source" in kwargs: | ||||
| 				self.Source = kwargs["Source"] | ||||
| 			if  3 < len(args): | ||||
| 				self.Files = args[3] | ||||
| 			if "Files" in kwargs: | ||||
| 				self.Files = kwargs["Files"] | ||||
| 	def __del__(self): | ||||
| 		_gorrent.DecRef(self.handle) | ||||
| 	def __str__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.Info{' | ||||
| 		first = True | ||||
| 		for v in pr: | ||||
| 			if callable(v[1]): | ||||
| 				continue | ||||
| 			if first: | ||||
| 				first = False | ||||
| 			else: | ||||
| 				sv += ', ' | ||||
| 			sv += v[0] + '=' + str(v[1]) | ||||
| 		return sv + '}' | ||||
| 	def __repr__(self): | ||||
| 		pr = [(p, getattr(self, p)) for p in dir(self) if not p.startswith('__')] | ||||
| 		sv = 'gorrent.Info ( ' | ||||
| 		for v in pr: | ||||
| 			if not callable(v[1]): | ||||
| 				sv += v[0] + '=' + str(v[1]) + ', ' | ||||
| 		return sv + ')' | ||||
| 	@property | ||||
| 	def Name(self): | ||||
| 		return _gorrent.gorrent_Info_Name_Get(self.handle) | ||||
| 	@Name.setter | ||||
| 	def Name(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Info_Name_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Info_Name_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Length(self): | ||||
| 		return _gorrent.gorrent_Info_Length_Get(self.handle) | ||||
| 	@Length.setter | ||||
| 	def Length(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Info_Length_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Info_Length_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Source(self): | ||||
| 		return _gorrent.gorrent_Info_Source_Get(self.handle) | ||||
| 	@Source.setter | ||||
| 	def Source(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Info_Source_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			_gorrent.gorrent_Info_Source_Set(self.handle, value) | ||||
| 	@property | ||||
| 	def Files(self): | ||||
| 		return Slice_Ptr_gorrent_FileInfo(handle=_gorrent.gorrent_Info_Files_Get(self.handle)) | ||||
| 	@Files.setter | ||||
| 	def Files(self, value): | ||||
| 		if isinstance(value, go.GoClass): | ||||
| 			_gorrent.gorrent_Info_Files_Set(self.handle, value.handle) | ||||
| 		else: | ||||
| 			raise TypeError("supplied argument type {t} is not a go.GoClass".format(t=type(value))) | ||||
| 	def LoadFile(self, path): | ||||
| 		"""LoadFile(str path) str""" | ||||
| 		return _gorrent.gorrent_Info_LoadFile(self.handle, path) | ||||
| 
 | ||||
| 
 | ||||
| # ---- Slices --- | ||||
| 
 | ||||
| 
 | ||||
| # ---- Maps --- | ||||
| 
 | ||||
| 
 | ||||
| # ---- Constructors --- | ||||
| def NewSettings(): | ||||
| 	"""NewSettings() object""" | ||||
| 	return Settings(handle=_gorrent.gorrent_NewSettings()) | ||||
| def NewEngine(settings): | ||||
| 	"""NewEngine(object settings) object""" | ||||
| 	return Engine(handle=_gorrent.gorrent_NewEngine(settings.handle)) | ||||
| def GetMetaFromFile(path): | ||||
| 	"""GetMetaFromFile(str path) object, str""" | ||||
| 	return Info(handle=_gorrent.gorrent_GetMetaFromFile(path)) | ||||
| 
 | ||||
| 
 | ||||
| # ---- Functions --- | ||||
| def Version(): | ||||
| 	"""Version() str""" | ||||
| 	return _gorrent.gorrent_Version() | ||||
| 
 | ||||
| 
 | ||||
							
								
								
									
										20
									
								
								settings.go
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								settings.go
									
									
									
									
									
								
							| @ -1,15 +1,17 @@ | ||||
| package gorrent | ||||
| 
 | ||||
| type Settings struct { | ||||
| 	DownloadPath   string | ||||
| 	HttpBindHost   string | ||||
| 	HttpBindPort   int | ||||
| 	ListenPort     int | ||||
| 	MaxConnections int | ||||
| 	TorrentPath    string | ||||
| 	Proxy          string | ||||
| 	KeepFiles      bool | ||||
| 	Debug          bool | ||||
| 	DownloadPath          string | ||||
| 	HttpBindHost          string | ||||
| 	HttpBindPort          int | ||||
| 	ListenPort            int | ||||
| 	MaxConnections        int | ||||
| 	TorrentPath           string | ||||
| 	Proxy                 string | ||||
| 	KeepFiles             bool | ||||
| 	Seed                  bool | ||||
| 	AcceptPeerConnections bool | ||||
| 	Debug                 bool | ||||
| } | ||||
| 
 | ||||
| func NewSettings() *Settings { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user