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…
Reference in New Issue