Пример #1
0
 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
Пример #2
0
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)
Пример #3
0
 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)
Пример #4
0
 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
Пример #5
0
    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
Пример #6
0
 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
Пример #7
0
    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)
Пример #8
0
 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)
Пример #9
0
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
Пример #10
0
    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
Пример #11
0
    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
Пример #12
0
    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)
Пример #13
0
    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)
Пример #14
0
    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
Пример #15
0
 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)
Пример #16
0
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)
Пример #17
0
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):
Пример #18
0
    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
Пример #19
0
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:
Пример #20
0
    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)
Пример #21
0
 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)
Пример #22
0
 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)
Пример #25
0
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)
Пример #26
0
def main():
    form.Form().create_window()