def pack(self): strpth = self.stringpath.OUTPUT foo = self.stringpath._select self.stringpath = form.Form((self.left + 15, self.top + 15), self.width - 30, 14, maxlines=1, fgcolor=(255, 255, 255), bg=(30, 30, 30)) self.stringpath.width -= self.stringpath.height + 25 self.stringpath.OUTPUT = strpth _, self.stringpath._index = self.stringpath._select = foo self.stringpath._adjust() self.valid.bottomright = self.width - 5, self.bottom - 5 self.cancel.topright = self.valid.left - 5, self.valid.top self.mkdir.topleft = self.stringpath.right + 15, self.top + 5 self.folders.pack( (self.left + 5, self.stringpath.bottom + 15), ((self.width - 15) / 2, self.height - self.valid.height - self.stringpath.height - 45)) self.files.pack((self.folders.right + 5, self.stringpath.bottom + 15), self.folders.size) self.showviewer.center = self.valid.center self.showviewer.left = 5 self.imagesonly.center = self.valid.center self.imagesonly.centerx = self.folders.centerx self.showhidden.center = self.valid.center self.showhidden.right = self.folders.right
def Test(): import gen import document import table import form textbud = form.InputText("state","") textbud.setAttrs("style","width:100%") textbud.id = 'inpState' d = [] grid = table.GridFromList([NewRow(form.Input(form.ButtonInput,"New"),"rowBud"), "Name","Email", "State"],[["","Andrew", "*****@*****.**", MakeEditable("New Hampshire",textbud,'stateEntry','OnClick')]],[('rowBud',["",form.InputText("name","").setAttrs("style","width:100%"), form.InputText("email","").setAttrs("style","width:100%"), MakeEditable("mked",textbud,'stateEntry','OnClick')])]) f = form.Form("formhandler",[grid,hide(textbud)]) d.append(f) c = Chunk("content<br/>" * 10, myId="hiTest") b1 = Chunk("Red Highlight") b2 = Chunk("Blue Highlight") b3 = Chunk("Back to Default") action(b1,"onClick",actionHighlight("hiTest","#FF8040",5000)) action(b2,"onClick",actionHighlight("hiTest","steelblue",10000)) action(b3,"onClick",actionNormallight("hiTest")) d.append([b1,b2,b3,c]) d.append(AllowHighlighting()) gen.WriteFile("testattribute.html",d)
def get(self): form = self.get_form(f.change_password_form) args = dict( form = form, err_msg = f.Form() ) self.jrender('dev_reset_password.html', **args)
def __init__(self,path=None,scrsize=(700,420)): self.scr = display.get_surface() if not self.scr: self.scr = display.set_mode(scrsize,RESIZABLE) Rect.__init__(self,(0,0),scrsize) else: Rect.__init__(self,self.scr.get_rect()) key.set_repeat(50,50) display.set_caption("Pygame Images Viewer") self.stringpath = form.Form((0,0),0,14) self.cancel = Button0(image.load(os.path.join(imagesrep,"cancel.png"))) self.valid = Button0(image.load(os.path.join(imagesrep,"valid.png"))) self.mkdir = Button0(transform.scale(image.load(os.path.join(imagesrep,"plus.png")),((self.stringpath.height+20)*3,self.stringpath.height+20))) self.showhidden = Coche('hidden files') if OS not in('WINDOWS',) else NoCoche() self.showviewer = Coche('preview') self.imagesonly = Coche('images only') # la ligne suivante à été ajoutée pour ImagesViewer #self.imagesonly.status = True self._path = getcwd() if not path or not os.path.isabs(path) else os.path.abspath(path) self.stringpath.OUTPUT = os.path.join(self._path,'') self.mem = True foo = self._path while os.path.basename(foo): if not os.path.exists(foo): foo = os.path.dirname(foo) elif os.path.isfile or os.access(foo,os.W_OK) : self.mem = False break self.folders = reader.Lister([],(0,0),(0,0),14,os.path.join(thisrep,'MonospaceTypewriter.ttf')) self.files = reader.Lister([],(0,0),(0,0),14,os.path.join(thisrep,'MonospaceTypewriter.ttf')) self.pack() self.viewer = Viewer((0,0),[min(self.folders.size)/2,]*2) self.viewer.bottomright = self.folders.bottomright self.PATH = self._path self.stringpath.set_cursor
def __call__(self, screen): widget = form.Form(prefix=screen.prefix, model=screen.model, view=screen.view, ids=(screen.id or []) and [screen.id], domain=screen.domain, context=screen.context, editable=screen.editable, readonly=screen.readonly, nodefault=screen.nodefault, nolinks=screen.link) if not screen.is_wizard and screen.ids is None: limit = screen.limit or 50 if limit == -1: limit = False proxy = rpc.RPCProxy(screen.model) screen.ids = proxy.search(screen.domain, screen.offset or False, limit, 0, screen.context) if len(screen.ids) < limit: screen.count = len(screen.ids) else: screen.count = proxy.search_count(screen.domain, screen.context) return widget
def test_init4(self, test_login, test_password, test_age, test_gender): form4 = form.Form(test_login, test_password, test_age, test_gender) assert form4.login == test_login assert form4.password == test_password assert type(form4.age) is int assert form4.age == test_age assert form4.gender == "m" or form4.gender == "fm" assert form4.gender == test_gender
def get(self, slug): feed = self.db.query(m.Feed).filter_by(slug=slug).first() if feed is None: raise tornado.web.HTTPError(404) form = self.get_form(f.login_form, feed) args = {'feed': feed, 'err_msg': f.Form()} self.jrender('dev_backstage_edit_feed.html', **args)
def get(self): user = self.get_current_user() form = self.get_form(f.change_password_form) args = dict( user = user, form = form, err_msg = f.Form() ) self.jrender('dev_change_password.html', **args)
class TestForm(object): # Вне функций создайте объект на основе класа форм. # В обьект при создании передайте два параметра: login , password form_obj = form.Form("admin", "admin_pass") # Функция, что протестирует, объект передав в него 2 параметра @pytest.mark.fast def test_init2(self): assert self.form_obj.login == "admin" assert self.form_obj.password == "admin_pass" form0 = form.Form() assert form0.login == "bot" assert form0.password == "qwerty" form1 = form.Form("admin", "qwerty") assert form1.login == "admin" assert form1.password == "qwerty" form2 = form.Form('user', "1111") assert form2.login == "user" assert form2.password == "1111" form3 = form.Form("vasia", "lolpass", 21) # "21" assert form3.login == "vasia" assert form3.password == "lolpass" assert type(form3.age) is int assert form3.age == 21 # Функция, что протестирует, объект передав в него 4 параметра @pytest.mark.parametrize( "test_login, test_password, test_age, test_gender", [ ("alex234", "my_pass", 32, "m"), ("boba", "123", 25, "m"), ("Anna", "annapass12345", 30, "fm"), # ("bot", "bothackpass", "32", "other") ]) @pytest.mark.fast def test_init4(self, test_login, test_password, test_age, test_gender): form4 = form.Form(test_login, test_password, test_age, test_gender) assert form4.login == test_login assert form4.password == test_password assert type(form4.age) is int assert form4.age == test_age assert form4.gender == "m" or form4.gender == "fm" assert form4.gender == test_gender # Создайте функцию, что протестирует можно ли установить не коректный URL adress веб сайта # в переменную url в классе форм @pytest.mark.slow def test_url(self): self.form_obj.url = "http://yandex.ru" # "http://google.com" # "yande.dasdqwewqd" # "http:yandex.ru" resp = requests.get(self.form_obj.url) assert str(resp) == "<Response [200]>" assert resp.status_code == 200
def test_init2(self): assert self.form_obj.login == "admin" assert self.form_obj.password == "admin_pass" form0 = form.Form() assert form0.login == "bot" assert form0.password == "qwerty" form1 = form.Form("admin", "qwerty") assert form1.login == "admin" assert form1.password == "qwerty" form2 = form.Form('user', "1111") assert form2.login == "user" assert form2.password == "1111" form3 = form.Form("vasia", "lolpass", 21) # "21" assert form3.login == "vasia" assert form3.password == "lolpass" assert type(form3.age) is int assert form3.age == 21
def validate(self, form, form_define): error_message = f.Form() error = False for field, validators in form_define.iteritems(): if field == '_form': continue if error: break for validator in validators: error_message[field] = validator(self, form[field]) error = bool(error_message[field]) if error: break if not error and '_form' in form_define: for validator in form_define['_form']: error_message['_form'] = validator(self, form) error = bool(error_message['_form']) if error: break return error, error_message
def action(self, **kw): params, data = TinyDict.split(kw) button = TinyDict() button.model = params.model button.id = params.id button.name = params.action button.btype = params.kind params.button = button fobj = form.Form() error = "" try: res = fobj.button_action(params) except Exception, e: error = str(e)
def get(self, **kw): params, data = TinyDict.split(kw) params.ids = None source = (params.source or '') and str(params.source) params.view_type = 'form' if source == '_terp_list': params.view_type = 'tree' if params.search_domain: params.domain += params.search_domain # default_get context current = params.chain_get(source) if current and params.source_default_get: current.context = current.context or {} current.context.update(params.source_default_get) if params.wiz_id: res = wizard.Wizard().execute(params) frm = res['form'] else: frm = form.Form().create_form(params) wid = frm.screen.get_widgets_by_name(source, kind=tw.listgrid.List)[0] ids = wid.ids count = wid.count if params.edit_inline: wid.edit_inline = params.edit_inline info = {} if params.concurrency_info: for m, v in getattr(cherrypy.request, 'terp_concurrency_info', {}).items(): for i, d in v.items(): info['%s,%s' % (m, i)] = d return dict(ids=ids, count=count, view=ustr(wid.render()), info=info)
def get_form(self, form_define, instance=None): """ 如果没有instance这个参数 则通过get_argument 方法 从handler.request.argument 获取 如果有instance则从instance获取 instance是一个模型实例 如果想获取一个空form 直接生成一个Form实例 """ form = f.Form() if instance is not None: get = lambda field: getattr(instance, field, '') else: get = lambda field: self.get_argument(field, '') for field in form_define.keys(): if field == '_form': continue form[field] = get(field) return form
def get(self): self.clear_cookie("user") form = self.get_form(f.login_form) args = dict(form=form, err_msg=f.Form()) self.jrender('dev_login.html', **args)
import builder import row import container import column from size import Size cont = container.Container() riga = row.Row() colonna_form = column.Column() colonna_form.add_col_size(12, Size.PICCOLO) colonna_form.add_col_size(6, Size.MEDIO) riga.add_child(colonna_form) cont.add_child(riga) f = form.Form(action_url="/login") f.add_child( form.InputField("id_nome", label="Nome", inp_type=form.InputType.TEXT)) f.add_child( form.InputField("id_cognome", label="Email", inp_type=form.InputType.EMAIL)) f.add_child( form.InputField("id_psw", label="Password", inp_type=form.InputType.PASSWORD)) #f.add_child(form.InputField("id_cognome", label="Data prenotazione stampante 3D",inp_type=form.InputType.DATE)) f.add_child(form.SubmitButton(label="Accedi")) colonna_form.add_child(f)
import pytest import form import unittest # @pytest.mark.parametrize('login, passw', [ # ('addmeen', 'donneed') # ]) bot = form.Form('addmeen', 'password') alex = form.Form('aaa', 'bbb', 'ccc', 'ddd') bot12 = form.Form(url='@itproger.com') def test_init(): assert bot.login == 'addmeen' assert bot.passw == 'password' assert alex.passw == 'bbb' assert alex.login == 'aaa' assert alex.url == 'ccc' assert alex.three == 'ddd' assert bot12.url == '@itproger.com' def test_printAll(): assert bot12.printAll() == "{}'s password is {}".format( bot12.login, bot12.passw) assert bot.printAll() == "{}'s password is {}".format(bot.login, bot.passw) # # class TestUser(unittest.TestCase):
def add_view(self, view, view_type='form'): self.view_id = view.get('view_id', self.view_id) if view_type == 'form': self.widget = form.Form(prefix=self.prefix, model=self.model, view=view, ids=(self.id or []) and [self.id], domain=self.domain, context=self.context, editable=self.editable, readonly=self.readonly, nodefault=self.nodefault, nolinks=self.link, is_wizard=self.is_wizard) if not self.is_wizard and self.ids is None: proxy = rpc.RPCProxy(self.model) self.ids = proxy.search(self.domain, self.offset or False, self.limit or 20, 0, self.context) self.count = proxy.search_count(self.domain, self.context) elif view_type == 'tree': self.widget = listgrid.List(self.name or '_terp_list', model=self.model, view=view, ids=self.ids, domain=self.domain, context=self.context, view_mode=self.view_mode, editable=self.editable, selectable=self.selectable, offset=self.offset, limit=self.limit, count=self.count, nolinks=self.link) self.ids = self.widget.ids self.limit = self.widget.limit self.count = self.widget.count elif view_type == 'graph': self.widget = graph.Graph(model=self.model, view=view, view_id=view.get('view_id', False), view_ids=self.view_ids, ids=self.ids, domain=self.domain, context=self.context) self.ids = self.widget.ids elif view_type == 'calendar': if self.ids is None: proxy = rpc.RPCProxy(self.model) self.ids = proxy.search(self.domain, self.offset or False, self.limit or False, 0, self.context) self.widget = tinycalendar.get_calendar(view=view, model=self.model, ids=self.ids, domain=self.domain, context=self.context, options=self.kalendar) elif view_type == 'gantt': self.widget = tinycalendar.GanttCalendar(model=self.model, view=view, ids=self.ids, domain=self.domain, context=self.context, options=self.kalendar) self.string = (self.widget or '') and self.widget.string toolbar = {} for item, value in view.get('toolbar', {}).items(): if value: toolbar[item] = value self.toolbar = toolbar or None self.hastoolbar = (toolbar or False) and True
import tweak # =============================== COMPONENTS =============================== # # STATUS: ENABLE TO UPDATE/EDIT # >> ADD NEW COMPONENTS HERE components = [ body.Body().draw(), link.Link().draw(), div.Div().draw(), navigation.Navigation().draw(), container.Container().draw(), footer.Footer().draw(), card.Card().draw(), paper.Paper().draw(), fabric.Fabric().draw(), form.Form().draw(), button.Button().draw(), planet.Planet().draw(), heading.Heading().draw(), line.Line().draw(), tweak.Tweak().draw(), ] # ================================ POINTERS ================================ # # STATUS: DONT CHANGE ANYTHING pointers = '' # ================================= UNPACK ================================= # # STATUS: DONT CHANGE ANYTHING for component in components: for unpack in component:
def get(self, **kw): params, data = TinyDict.split(kw) groupby = params.get('_terp_group_by_ctx') if groupby and isinstance(groupby, basestring): groupby = groupby.split(',') if params.get('_terp_filters_context'): if isinstance(params.filters_context, (list, tuple)): for filter_ctx in params.filters_context: params.context.update(filter_ctx) else: params.context.update(params.filters_context) params['_terp_group_by_ctx'] = groupby if not params.search_text: params.ids = None source = (params.source or '') and str(params.source) if not params.view_type == 'graph': params.view_type = 'form' if params.view_type == 'form': params['_terp_nodefault'] = True if params.get('_terp_clear'): params.search_domain, params.filter_domain, params.ids = [], [], [] params.search_data = {} for k, v in params.context.items(): if k.startswith('search_default'): del params.context[k] if 'group_by' in params.context: del params.context['group_by'] params.group_by_ctx = [] if source == '_terp_list': if not params.view_type == 'graph': params.view_type = 'tree' if params.search_domain: params.domain += params.search_domain params.domain = params.domain or [] if params.filter_domain: params.domain += params.filter_domain # default_get context current = params.chain_get(source) if current and params.source_default_get: current.context = current.context or {} current.context.update(params.source_default_get) if params.wiz_id: res = wizard.Wizard().execute(params) frm = res['form'] else: frm = form.Form().create_form(params) if params.view_type == 'graph': wid = frm.screen.widget else: wid = frm.screen.get_widgets_by_name(source, kind=listgrid.List)[0] ids = wid.ids count = wid.count if params.edit_inline: wid.edit_inline = params.edit_inline if params.get('_terp_clear'): view = ustr(frm.render()) else: view = ustr(wid.render()) server_logs = '' if frm.logs and frm.screen.view_type == 'tree': server_logs = ustr(frm.logs.render()) concurrency_info = getattr(cherrypy.request, 'terp_concurrency_info', None) return dict(ids=ids, count=count, view=view, logs=server_logs, concurrency_info=concurrency_info)
def get(self): form = self.get_form(f.login_form) args = dict(form=form, err_msg=f.Form()) self.jrender('dev_backstage_add_feed.html', **args)
def get(self): form = self.get_form(f.register_form) args = dict(form=form, err_msg=f.Form()) self.jrender('dev_register.html', **args)
# CHOOSE THE EXPERIMENTAL TASK task = PERMUTATION # scan be PERMUTATION or TRAINING (assisted procedure) # COMPUTER VISION PARAMETERS deltaThresh = 50 # THRESHOLD OF BITMAP IMAGE FOR MOUSE SEGMENTATION smallestObj = 300 # THE MINIMUM AREA FOR A VALID MOUSE CONTOUR biggestObj = 20000 # THE MAXIMUM AREA FOR A VALID MOUSE CONTOUR # TRACKING MARKER (customize the appearence of the circle showing the mouse's position) radius = 25 color = (0, 0, 255) thickness = 1 #------ END OF EDITABLE CODE ------ # load the GUI to select procedure preferences frm = form.Form() prefs = frm.results() if not prefs: print('Aborted by user.') sys.exit() # IMAGE RESOLUTION resolution = (208, 208) history = int(prefs['history']) # ACTIVE ZONE BORDER lev = resolution[0] * float(prefs['level']) posTracker = True criterion = prefs['criterion'] # Number of frames required to trigger a trial if prefs['recfile']:
def get(self, **kw): params, data = TinyDict.split(kw) if not params.model and params.o2m and params.view_params.model: # Ok, no base model, copy infos from _terp_view_params. # This is required to be able to correctly build the form view # and to get the 'widget' related to the requested listgrid view_params_base, x = TinyDict.split(params.view_params) view_params_update = dict([ (k[6:], v) for k, v in view_params_base.iteritems() if k.startswith('_terp_') ]) params.update(view_params_update) groupby = params.get('_terp_group_by_ctx') if groupby and isinstance(groupby, basestring): groupby = groupby.split(',') if params.get('_terp_filters_context'): if isinstance(params.filters_context, (list, tuple)): for filter_ctx in params.filters_context: params.context.update(filter_ctx) else: params.context.update(params.filters_context) params['_terp_group_by_ctx'] = groupby if not params.search_text: params.ids = None source = (params.source or '') and str(params.source) if not params.view_type == 'graph': params.view_type = 'form' if params.view_type == 'form': params['_terp_nodefault'] = True if params.get('_terp_clear'): params.search_domain, params.filter_domain, params.ids = [], [], [] params.search_data = {} for k, v in params.context.items(): if k.startswith('search_default'): del params.context[k] if 'group_by' in params.context: del params.context['group_by'] params.group_by_ctx = [] if source == '_terp_list': if not params.view_type == 'graph': params.view_type = 'tree' if params.search_domain: params.domain += params.search_domain params.domain = params.domain or [] if params.filter_domain: params.domain += params.filter_domain # default_get context current = params.chain_get(source) if current and params.source_default_get: current.context = current.context or {} current.context.update(params.source_default_get) if params.wiz_id: res = wizard.Wizard().execute(params) frm = res['form'] elif params.o2m and len(params.o2m.split('/')) > 1: frm = openo2m.OpenO2M().create_form(params) else: frm = form.Form().create_form(params) if params.view_type == 'graph': wid = frm.screen.widget else: wid = frm.screen.get_widgets_by_name(source, kind=listgrid.List)[0] ids = wid.ids count = wid.count if params.edit_inline: wid.edit_inline = params.edit_inline if params.get('_terp_clear'): view = ustr(frm.render()) else: view = ustr(wid.render()) server_logs = '' if frm.logs and frm.screen.view_type == 'tree': server_logs = ustr(frm.logs.render()) concurrency_info = getattr(cherrypy.request, 'terp_concurrency_info', None) return dict(ids=ids, count=count, view=view, logs=server_logs, concurrency_info=concurrency_info)
from ftplib import * def is_connectable(host): ping = subprocess.Popen(["ping", "-c", "1", host], stdin=subprocess.PIPE, stdout=subprocess.PIPE) ping.communicate() return ping.returncode == 0 #Main try: conf = config.read() form = form.Form(conf=conf) print('Ping...') # send ping to host if (is_connectable(conf.server) is False): form.append_status(conf.server + " is disable") else: print('Enter FTP Process') # get db file from Server ftp = FTP(conf.server) ftp.login(conf.user, conf.passwd) # print(ftp.nlst('.')) # ftp.cwd('/') with open(conf.local_db_file_path, 'wb') as f: retr = 'RETR ' + conf.db_file ftp.retrbinary(retr, f.write)
def main(): form.Form().create_window()