bugfix
This commit is contained in:
parent
7304e546fa
commit
5ee7e534ff
@ -1,3 +1,6 @@
|
|||||||
|
import os
|
||||||
|
import codecs
|
||||||
|
|
||||||
import locale
|
import locale
|
||||||
from kivy.app import App
|
from kivy.app import App
|
||||||
from kivy.properties import StringProperty
|
from kivy.properties import StringProperty
|
||||||
@ -17,9 +20,28 @@ class I18n:
|
|||||||
def addI18nWidget(self,w):
|
def addI18nWidget(self,w):
|
||||||
self.i18nWidgets.append(w)
|
self.i18nWidgets.append(w)
|
||||||
|
|
||||||
|
def loadI18nFromI18nFolder(self, lang):
|
||||||
|
config = gtConfig()
|
||||||
|
fpath = os.path.join(config.i18n_folder,lang,'msg.txt')
|
||||||
|
with codecs.open(fpath,'r','utf-8') as f:
|
||||||
|
line = f.readline()
|
||||||
|
d = {}
|
||||||
|
while line:
|
||||||
|
if line.startswith('#'):
|
||||||
|
line = readline()
|
||||||
|
continue
|
||||||
|
k,v = line.split(':',1)
|
||||||
|
d.update({k:v})
|
||||||
|
line = readline()
|
||||||
|
return d
|
||||||
|
|
||||||
def loadI18n(self,lang):
|
def loadI18n(self,lang):
|
||||||
app = App.get_running_app()
|
app = App.get_running_app()
|
||||||
config = getConfig()
|
config = getConfig()
|
||||||
|
if config.i18n_folder:
|
||||||
|
self.kvlang[lang] = self.loadI18nFromFolder(lang)
|
||||||
|
return
|
||||||
|
|
||||||
url = '%s%s/%s' % (config.uihome, config.i18n_url, lang)
|
url = '%s%s/%s' % (config.uihome, config.i18n_url, lang)
|
||||||
hc = HttpClient()
|
hc = HttpClient()
|
||||||
d = hc.get(url)
|
d = hc.get(url)
|
||||||
|
37
kivyblocks/osc_server.py
Normal file
37
kivyblocks/osc_server.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
from functools import partial
|
||||||
|
from kivy.event import EventDispatcher
|
||||||
|
from kivy.clock import Clock
|
||||||
|
from oscpy.server import OSCThreadServer
|
||||||
|
from oscpy.client import OSCClient
|
||||||
|
|
||||||
|
class OSCServer(EventDispatcher):
|
||||||
|
def __init__(self,addr='0.0.0.0', port=60405,apis=[]):
|
||||||
|
self.port = port
|
||||||
|
self.addr = addr
|
||||||
|
self.osc_server = OSCThreadServer()
|
||||||
|
self.osc_server.listen(self.addr,port=self.port,default=True)
|
||||||
|
EventDispatcher.__init__(self)
|
||||||
|
for api in apis:
|
||||||
|
self.register_event_type(api)
|
||||||
|
f = partial(self.handle, api)
|
||||||
|
setattr(self, api, f)
|
||||||
|
api_f = partial(self.apihandle,api)
|
||||||
|
bstr = '/%s' % api
|
||||||
|
bstr.encode('utf-8')
|
||||||
|
self.osc_server.bind(bstr, api_f)
|
||||||
|
|
||||||
|
def handle(self,api,o,*args):
|
||||||
|
print(api, *args)
|
||||||
|
|
||||||
|
def apihandle(self, api, *args):
|
||||||
|
self.dispatch(api,*args)
|
||||||
|
|
||||||
|
def sendMessage(self,api='', addr=None, port=None, *args):
|
||||||
|
try:
|
||||||
|
bstr = '/%s' % api
|
||||||
|
bstr = bstr.encode('utf-8')
|
||||||
|
client = OSCClient(addr, port)
|
||||||
|
client.sendMessage(bstr, args)
|
||||||
|
except:
|
||||||
|
print('sendMessage error:',api, addr,port,args)
|
||||||
|
|
@ -15,8 +15,10 @@ from .tab import TabsPanel
|
|||||||
from .qrdata import QRCodeWidget
|
from .qrdata import QRCodeWidget
|
||||||
# from .kivycamera import KivyCamera
|
# from .kivycamera import KivyCamera
|
||||||
from .filebrowser import FileLoaderBrowser
|
from .filebrowser import FileLoaderBrowser
|
||||||
|
from .osc_server import OSCServer
|
||||||
|
|
||||||
r = Factory.register
|
r = Factory.register
|
||||||
|
r('OSCServer',OSCServer)
|
||||||
r('DataGrid',DataGrid)
|
r('DataGrid',DataGrid)
|
||||||
r('FileLoaderBrowser',FileLoaderBrowser)
|
r('FileLoaderBrowser',FileLoaderBrowser)
|
||||||
# r('KivyCamera',KivyCamera)
|
# r('KivyCamera',KivyCamera)
|
||||||
|
@ -6,3 +6,4 @@ pillow
|
|||||||
requests
|
requests
|
||||||
plyer
|
plyer
|
||||||
python-osc
|
python-osc
|
||||||
|
oscpy
|
||||||
|
Loading…
Reference in New Issue
Block a user