beremiz

52630996e51b
Add command line argument to run linter only on changed files

./tests/tools/check_source.sh --only-changes

It's recommended to run check_source.sh automatically on each commit,
so the rules are always enforced.
Even better is to use docker for that, so the versions of pep8 and
pylint are the same as on pipeline server.

To do this couple of lines should be added into repository's hgrc file.

[----------- cut from .hg/hgrc------------------]

[hooks]
precommit.linter = ./tests/tools/check_source.sh --only-changes
# precommit.linter = docker run -it --volume=$PWD:/beremiz --workdir="/beremiz" --volume=$PWD/../CanFestival-3:/CanFestival-3 --memory=1g --entrypoint=/beremiz/tests/tools/check_source.sh skvorl/beremiz-requirements --only-changes

[-----------------------------------------------]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (C) 2018: Smarteh
#
# See COPYING file for copyrights details.
from __future__ import absolute_import
from __future__ import print_function
import wx
from controls.UriLocationEditor import IConnectorPanel
from zope.interface import implementer
URITypes = ["WAMP", "WAMPS"]
def WAMP_connector_dialog(confnodesroot):
[ID_IPTEXT, ID_PORTTEXT, ID_REALMTEXT, ID_WAMPIDTEXT, ID_SECURECHECKBOX] = [wx.NewId() for _init_ctrls in range(5)]
@implementer(IConnectorPanel)
class WAMPConnectorPanel(wx.Panel):
def __init__(self, typeConnector, parrent, *args, **kwargs):
self.type = typeConnector
self.parrent = parrent
wx.Panel.__init__(self, parrent, *args, **kwargs)
self._init_ctrls()
self._init_sizers()
self.uri = None
def _init_ctrls(self):
self.IpText = wx.TextCtrl(parent=self, id=ID_IPTEXT, size = wx.Size(200, -1))
self.PortText = wx.TextCtrl(parent=self, id=ID_PORTTEXT, size = wx.Size(200, -1))
self.RealmText = wx.TextCtrl(parent=self, id=ID_REALMTEXT, size = wx.Size(200, -1))
self.WAMPIDText = wx.TextCtrl(parent=self, id=ID_WAMPIDTEXT, size = wx.Size(200, -1))
self.SecureCheckbox = wx.CheckBox(self, ID_SECURECHECKBOX, _("Is connection secure?"))
def _init_sizers(self):
self.mainSizer = wx.FlexGridSizer(cols=2, hgap=10, rows=5, vgap=10)
self.mainSizer.AddWindow(wx.StaticText(self, label=_("URI host:")),
flag=wx.ALIGN_CENTER_VERTICAL)
self.mainSizer.AddWindow(self.IpText, flag=wx.GROW)
self.mainSizer.AddWindow(wx.StaticText(self, label=_("URI port:")),
flag=wx.ALIGN_CENTER_VERTICAL)
self.mainSizer.AddWindow(self.PortText, flag=wx.GROW)
self.mainSizer.AddWindow(wx.StaticText(self, label=_("Realm:")),
flag=wx.ALIGN_CENTER_VERTICAL)
self.mainSizer.AddWindow(self.RealmText, flag=wx.GROW)
self.mainSizer.AddWindow(wx.StaticText(self, label=_("WAMP ID:")),
flag=wx.ALIGN_CENTER_VERTICAL)
self.mainSizer.AddWindow(self.WAMPIDText, flag=wx.GROW)
self.mainSizer.AddWindow(wx.StaticText(self, label=""), flag=wx.ALIGN_CENTER_VERTICAL)
self.mainSizer.AddWindow(self.SecureCheckbox, flag=wx.GROW)
self.SetSizer(self.mainSizer)
def SetURI(self, uri):
self.uri = uri
uri_list = uri.strip().split(":")
length = len(uri_list)
if length > 0:
if uri_list[0] == URITypes[1]:
self.SecureCheckbox.SetValue(True)
if length > 2:
self.IpText.SetValue(uri_list[1].strip("/"))
wampSett = uri_list[2].split("#")
length2 = len(wampSett)
if length2 > 0:
self.PortText.SetValue(wampSett[0])
if length2 > 1:
self.RealmText.SetValue(wampSett[1])
if length2 > 2:
self.WAMPIDText.SetValue(wampSett[2])
def GetURI(self):
if self.IpText.Validate():
typeForURI = self.type + "S" if self.SecureCheckbox.GetValue() else self.type
self.uri = typeForURI + "://" + self.IpText.GetValue() + ":" + self.PortText.GetValue() + "#" + self.RealmText.GetValue() + "#" + self.WAMPIDText.GetValue()
return self.uri
else:
return ""
return WAMPConnectorPanel("WAMP", confnodesroot)