示例#1
0
class MyScreenManager(ScreenManager):
    username = StringProperty(None)
    password = StringProperty(None)

    manager = ScreenManager()
    manager.add_widget(Login(name='login'))
    manager.add_widget(Connected(name='connected'))
    manager.add_widget(Connected(name='disconnected')) 
    manager.add_widget(HomeScreen(name='home')) 
   

    def new_colour_screen(self):
        name = str(time.time())
        print (name)
        s = ColourScreen(name=name,
                         colour=[random.random() for _ in range(3)] + [1])
        self.add_widget(s)
        self.current = name
    
    def do_login(self, loginText, passwordText):
        app = App.get_running_app()

        app.username = loginText
        app.password = passwordText

        self.manager.transition = SlideTransition(direction="left")
        self.manager.current = 'home'

        app.config.read(app.get_application_config())
        app.config.write()

    def resetForm(self):
        self.ids['login'].text = ""
        self.ids['password'].text = ""


    
    

    def get_application_config(self):
        if(not self.username):
            return super(LoginApp, self).get_application_config()

        conf_directory = self.user_data_dir + '/' + self.username

        if(not os.path.exists(conf_directory)):
            os.makedirs(conf_directory)

        return super(LoginApp, self).get_application_config(
            '%s/config.cfg' % (conf_directory))

    def connecting(self):
        self.manager.transition = SlideTransition(direction="right")
        self.root.current = 'home'

    def disconnected(self):
        self.manager.transition = SlideTransition(direction="left")
        self.root.current = 'login'
        self.root.get_screen('login').resetForm()
示例#2
0
 def __init__(self, size):
     self.size = size
     self.connect = Connected((((size * 3) + 2) * ((size * 3) + 2)))
     self.start_c = 0
     self.end_c = 0
     self.base = [[
         Shape("temp", [[1, 1, 1], [1, 1, 1], [1, 1, 1]], False, False)
         for x in range(0, size)
     ] for y in range(0, size)]
     self.maze = [[1 for x in range(0, ((size * 3) + 2))]
                  for y in range(0, ((size * 3) + 2))]
示例#3
0
    def find_equiv(self):
        # Use connected components to find all equivalent states from pairs
        self.conn = Connected(self.pairs_graph)

        self.doc.h1('Equivalence states ({} states)'.format(self.conn.count))

        for i in range(self.conn.count):
            group = self.conn.get_group(i)
            self.doc.write('- `{')
            for s in group:
                self.doc.write('{}; '.format(s))
            self.doc.write('}`\n')
示例#4
0
    def build(self):
        manager = ScreenManager()

        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))
        #  manager.get_screen('connected').ids.wlc.text="aissa"
        return manager
示例#5
0
    def build(self):
        manager = ScreenManager()

        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))

        return manager
示例#6
0
    def build(self):
        manager = ScreenManager()
        listScreen = ListCliente(name='list')
        #
        #Window.clearcolor = (.25, .55, .77, .5)
        Window.clearcolor = (.40, .61, .77, .5)
        Window.set_title("Sistema de Aseguradora Demo")
        Window.size = (350, 550)
        #self.size = (400, 300)

        #self.available_screens = sorted([
        #    'Agentes Seguros', 'Clientes', 'Polizas', 'Usuario'])
        #self.screen_names = self.available_screens

        manager.add_widget(AseguradoraScreen(name='login'))
        manager.add_widget(Connected(name='connected'))
        manager.add_widget(Clientes(name='cliente'))
        manager.add_widget(listScreen)
        manager.add_widget(Agentes(name='agente'))
        manager.add_widget(Polizas(name='poliza'))
        manager.add_widget(DocumentosClientes(name='documentsC'))
        manager.add_widget(AdminUser(name='adminUser'))
        manager.add_widget(ListaClientes(name='listaClientes'))
        manager.add_widget(ListaAgentes(name='listaAgentes'))
        manager.add_widget(ListaPolizas(name='listaPolizas'))
        Config.set('graphics', 'width', '200')
        Config.set('graphics', 'height', '200')
        return manager
示例#7
0
	def build(self):
		self.root = Builder.load_file("test.kv")
		manager = ScreenManager()
		manager.add_widget(Redirect(name="redirect"))
		manager.add_widget(GoToTheApp(name='gototheapp'))
		manager.add_widget(Login(name='login'))
		manager.add_widget(Connected(name='connected'))
		
		return manager
示例#8
0
    def build(self):
        manager = ScreenManager()

        manager.add_widget(Inicio(name='inicio'))
        manager.add_widget(Login(name='login'))
        manager.add_widget(Registrar(name='registrar'))
        manager.add_widget(Connected(name='connected'))

        return manager
示例#9
0
    def build(self):
        self.capture = cv2.VideoCapture(0)
        self.my_camera = KivyCamera(capture=self.capture, fps=30)
        manager = ScreenManager()

        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))

        return manager
示例#10
0
    def build(self):

        global manager
        manager= ScreenManager()
        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))

        #manager.add_widget(incall(name='incall'))   #added in connected.py 

        return manager
示例#11
0
 def build(self):
     manager = ScreenManager()
     #getuser4.stuff(getuser.username)
     manager.add_widget(Login(name='login'))
     manager.add_widget(Connected(name='connected'))
     manager.add_widget(Registration(name='registration'))
     manager.add_widget(Recipes(name='recipes'))
     manager.add_widget(Adddish(name='adddish'))
     manager.add_widget(YourDishes(name='yourdishes'))
     manager.add_widget(DeleteRec(name='deleterec'))
     return manager
    def build(self):
        manager = ScreenManager()

        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))
        manager.add_widget(Loginfail(name='loginfail'))
        manager.add_widget(full(name='full'))

        if self.full:
            manager.transition = SlideTransition()
            manager.current = 'full'

        return manager
示例#13
0
 def build(self):
     Window.clearcolor = (0.333, 0.466, 0.2, 1)
     self.icon = 'icon.png'
     manager = ScreenManager()
     manager.add_widget(Login(name='login'))
     manager.add_widget(Connected(name='connected'))
     manager.add_widget(Initializing(name='initializing'))
     manager.add_widget(Settings(name='settings'))
     manager.add_widget(SubmitScores(name='submitscores'))
     Config.read('xenon.ini')
     if Config.get('auth', 'access_token') is not '0':
         manager.transition = NoTransition()
         manager.current = 'initializing'
     return manager
示例#14
0
    def build(self):
        manager = ScreenManager()
        print("building")
        Window.size = (500, 500)
        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))
        manager.add_widget(Options(name='options'))
        manager.add_widget(Screen1(name='screen1'))
        manager.add_widget(Screen2(name='screen2'))
        manager.add_widget(Screen3(name='screen3'))
        manager.add_widget(SendMail(name='sendmail'))
        manager.add_widget(Search(name='search'))
        manager.add_widget(Latest(name='latest'))
        #manager.add_widget(Done(name='done'))

        return manager
示例#15
0
    def build(self):

        manager = ScreenManager()
        manager.id = 'parenthere'
        manager.name = 'parenthere'
        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))
        manager.add_widget(Reference(name='reference'))
        manager.add_widget(ImportFile(name='importfile'))
        manager.add_widget(SelectOpt(name='selectopt', id='selectopthere'))
        manager.add_widget(ImportFile2(name='importfile2'))
        manager.add_widget(SelectOpt(name='selectopt1', id='selectopthere1'))
        manager.add_widget(Answer(name='answer'))
        manager.add_widget(Result(name='result'))

        return manager
示例#16
0
文件: main.py 项目: udaykrishna/unCap
    def build(self):
        try:
            with open('cred.bin', 'rb') as f:
                pass
        except:
            try:
                with open('cred.bin', 'wb') as f:
                    a = {'user': '******'}
                    from pickle import dump
                    dump(a, f)
            except:
                Logger.warning("i don't have write access")
        self.icon = 'res/icon.png'
        manager = ScreenManager()
        manager.add_widget(Login(name='login'))
        manager.add_widget(Connected(name='connected'))
        manager.add_widget(Settings(name='settings'))
        # manager.add_widget(CredMan(name='credman'))

        return manager
示例#17
0
class Maze:
    def __init__(self, size):
        self.size = size
        self.connect = Connected((((size * 3) + 2) * ((size * 3) + 2)))
        self.start_c = 0
        self.end_c = 0
        self.base = [[
            Shape("temp", [[1, 1, 1], [1, 1, 1], [1, 1, 1]], False, False)
            for x in range(0, size)
        ] for y in range(0, size)]
        self.maze = [[1 for x in range(0, ((size * 3) + 2))]
                     for y in range(0, ((size * 3) + 2))]

    def base_maze_builder(self):

        plus_shape_r = Shape("plus_r", [[1, 0, 1], [1, 0, 0], [1, 0, 1]], True,
                             True)
        plus_shape = Shape("plus", [[1, 0, 1], [0, 0, 0], [1, 0, 1]], False,
                           True)
        v_line_shape = Shape("vline", [[1, 0, 1], [1, 0, 1], [1, 0, 1]], True,
                             False)
        h_line_shape = Shape("hline", [[1, 1, 1], [0, 0, 0], [1, 1, 1]], False,
                             True)
        el_shape = Shape("el_shape", [[1, 0, 1], [1, 0, 0], [1, 1, 1]], False,
                         True)
        inv_el_shape = Shape("inv_el_shape", [[1, 1, 1], [1, 0, 0], [1, 0, 1]],
                             True, True)
        inv_re_el_shape = Shape("inv_re_el_shape",
                                [[1, 1, 1], [0, 0, 1], [1, 0, 1]], True, False)
        halve_plus_shape = Shape("halve_plus_shape",
                                 [[1, 0, 1], [0, 0, 1], [1, 0, 1]], True,
                                 False)

        top_o_side_o = [plus_shape, halve_plus_shape]
        top_o_side_c = [plus_shape, v_line_shape, plus_shape_r]
        top_c_side_o = [plus_shape, h_line_shape, inv_re_el_shape]
        top_c_side_c = [h_line_shape, el_shape, inv_el_shape, halve_plus_shape]

        for y in range(0, self.size):
            for x in range(0, self.size):
                if x == 0 and y == 0:
                    self.base[x][y] = inv_el_shape
                elif x == 0:
                    if self.base[x][y - 1].is_side_open() == True:
                        self.base[x][y] = top_c_side_o[random.randrange(0, 3)]

                    else:
                        self.base[x][y] = top_c_side_c[random.randrange(0, 4)]

                elif y == 0:
                    if self.base[x - 1][y].is_top_open() == True:
                        self.base[x][y] = top_o_side_c[random.randrange(0, 3)]
                    else:
                        self.base[x][y] = top_c_side_c[random.randrange(0, 4)]
                else:
                    if self.base[x - 1][y].is_top_open(
                    ) == True and self.base[x][y - 1].is_side_open() == True:
                        self.base[x][y] = top_o_side_o[random.randrange(0, 2)]
                        while self.base[x][
                                y - 1].get_id() == self.base[x][y].get_id():
                            self.base[x][y] = top_o_side_o[random.randrange(
                                0, 2)]

                    if self.base[x - 1][y].is_top_open(
                    ) == True and self.base[x][y - 1].is_side_open() == False:
                        self.base[x][y] = top_o_side_c[random.randrange(0, 3)]
                        while self.base[x][
                                y - 1].get_id() == self.base[x][y].get_id():
                            self.base[x][y] = top_o_side_c[random.randrange(
                                0, 3)]

                    if self.base[x - 1][y].is_top_open(
                    ) == False and self.base[x][y - 1].is_side_open() == True:
                        self.base[x][y] = top_c_side_o[random.randrange(0, 3)]
                        while self.base[x][
                                y - 1].get_id() == self.base[x][y].get_id():
                            self.base[x][y] = top_c_side_o[random.randrange(
                                0, 3)]

                    if self.base[x - 1][y].is_top_open(
                    ) == False and self.base[x][y - 1].is_side_open() == False:
                        self.base[x][y] = top_c_side_c[random.randrange(0, 4)]
                        while self.base[x][
                                y - 1].get_id() == self.base[x][y].get_id():
                            self.base[x][y] = top_c_side_c[random.randrange(
                                0, 4)]

    def disp(self):
        for y in range(0, self.size):
            for x in range(0, self.size):
                if self.base[x][y].get_id() == "plus":
                    print("+", end=' ')
                if self.base[x][y].get_id() == "vline":
                    print("|", end=' ')
                if self.base[x][y].get_id() == "hline":
                    print("-", end=' ')
                if self.base[x][y].get_id() == "el_shape":
                    print("[", end=' ')
                if self.base[x][y].get_id() == "inv_el_shape":
                    print("{", end=' ')
                if self.base[x][y].get_id() == "re_el_shape":
                    print("]", end=' ')
                if self.base[x][y].get_id() == "inv_re_el_shape":
                    print("}", end=' ')
                if self.base[x][y].get_id() == "halve_plus_shape":
                    print("%", end=' ')
                if self.base[x][y].get_id() == "temp":
                    print("e", end=' ')
            print("\n")

    def maze_builder(self):
        for y in range(0, self.size):
            for x in range(0, self.size):
                temp = self.base[x][y].get_shape()

                temp1 = temp[0][0]
                temp2 = temp[0][1]
                temp3 = temp[0][2]
                temp4 = temp[1][0]
                temp5 = temp[1][1]
                temp6 = temp[1][2]
                temp7 = temp[2][0]
                temp8 = temp[2][1]
                temp9 = temp[2][2]

                self.maze[(x * 3) + 1][(y * 3) + 1] = temp1
                self.maze[(x * 3) + 1][(y * 3) + 2] = temp2
                self.maze[(x * 3) + 1][(y * 3) + 3] = temp3
                self.maze[(x * 3) + 2][(y * 3) + 1] = temp4
                self.maze[(x * 3) + 2][(y * 3) + 2] = temp5
                self.maze[(x * 3) + 2][(y * 3) + 3] = temp6
                self.maze[(x * 3) + 3][(y * 3) + 1] = temp7
                self.maze[(x * 3) + 3][(y * 3) + 2] = temp8
                self.maze[(x * 3) + 3][(y * 3) + 3] = temp9

        midpoint = int(((self.size * 3) + 2) / 2)

        starty = 0
        startx = midpoint

        endy = (self.size * 3) + 1
        endx = midpoint

        self.maze[startx][starty] = 0
        self.maze[startx][starty + 1] = 0
        self.maze[startx][starty + 2] = 0
        self.maze[endx][endy] = 0
        self.maze[endx][endy - 1] = 0
        self.maze[endx][endy - 2] = 0

        self.connect.connect(((startx * ((self.size * 3) + 2)) + starty),
                             ((startx * ((self.size * 3) + 2)) + starty) + 1)
        self.connect.connect(((endx * ((self.size * 3) + 2)) + endy),
                             ((endx * ((self.size * 3) + 2)) + endy) - 1)

        self.start_c = ((startx * ((self.size * 3) + 2)) + starty)
        self.end_c = ((endx * ((self.size * 3) + 2)) + endy)

    def dis_maze(self):
        for x in range(0, ((self.size * 3) + 2)):
            for y in range(0, ((self.size * 3) + 2)):
                print(self.maze[x][y], end=' ')
            print('\n')

    def get_maze(self):
        return self.maze

    def maze_runner(self):
        size = ((self.size * 3) + 2)
        for y in range(0, size):
            for x in range(0, size):
                if y != size - 1 and x != size - 1:
                    if y != (size - 1):
                        if self.maze[x][y] == 0 and self.maze[x][y + 1] == 0:
                            self.connect.connect(((x * size) + y),
                                                 ((x * size) + y) + 1)
                    if x != ((self.size * 3) + 1):
                        if self.maze[x][y] == 0 and self.maze[x + 1][y] == 0:
                            self.connect.connect(((x * size) + y),
                                                 ((x * size) + y) + size)

    def is_maze_passable(self):

        self.maze_runner()
        return self.connect.isConnected(self.start_c, self.end_c)
示例#18
0
def get_connected(params):
    from connected import Connected
    activation = get_activation(params.get('activation', "linear"))
    return Connected(**params)
示例#19
0
class DFAMinimizer:
    def __init__(self, dfa, alpha):
        self.dfa = dfa
        self.alpha = alpha

        self.doc = Program.instance().add_doc(MdGfmDoc, "DFA Minimization")

    def run(self):
        self.find_pairs()
        self.find_equiv()
        self.simplify()

    # Find all pairs of equivalent states
    def find_pairs(self):

        # Compute inequivalent pairs
        # g has edge u-v iff u and v are inequivalent
        g = Graph(self.dfa.sc)

        # First mark states pair (s0, s1) inequivalent if one is final and not the other
        for s0 in range(self.dfa.sc):
            for s1 in range(self.dfa.sc):
                s0_final = s0 in self.dfa.finals
                s1_final = s1 in self.dfa.finals
                if s0_final != s1_final:
                    g.add_edge(s0, s1)

        # Iterate to find all inequivalent states
        while True:
            changed = False

            for s0 in range(self.dfa.sc):
                for s1 in range(s0 + 1, self.dfa.sc):
                    if g.has_edge(s0, s1):  #already inequivalent
                        continue

                    for c in self.alpha.larr:
                        s0p = self.dfa.trans[s0][c]
                        s1p = self.dfa.trans[s1][c]
                        if g.has_edge(s0p, s1p):
                            #same trans, different state => inequivalent
                            changed = True
                            g.add_edge(s0, s1)
                            break

            if not changed:
                break

        # Reverse graph to get equivalent states
        g = g.reverse_adj()
        # ignore self-edges, they are not relevant
        for v in range(self.dfa.sc):
            g.del_edge(v, v)

        self.pairs_graph = g
        self.doc.h1("Equivalence pairs")
        self.doc.write(g)

    def find_equiv(self):
        # Use connected components to find all equivalent states from pairs
        self.conn = Connected(self.pairs_graph)

        self.doc.h1('Equivalence states ({} states)'.format(self.conn.count))

        for i in range(self.conn.count):
            group = self.conn.get_group(i)
            self.doc.write('- `{')
            for s in group:
                self.doc.write('{}; '.format(s))
            self.doc.write('}`\n')

    def simplify(self):

        for i in range(self.conn.count):
            group = self.conn.get_group(i)
            if len(group) == 1:
                continue

            main = group[0]
            for s in group[1:]:
                self.replace_with(s, main)

        self.doc.h1('Minimized DFA')
        self.doc.write(self.dfa)
        self.dfa.check(self.alpha)

    # replace state s0 by state s1
    # replace all trans[s, c, s0] by [s, c, s1]
    # remove all trans [s0, c, c]
    # remove s1 from final state
    # if s0 is start, set s1 as start
    # remove state s1
    def replace_with(self, s0, s1):

        for s in range(self.dfa.sc):
            if s == s0 or len(self.dfa.trans[s]) == 0:  #replaced state
                continue
            for c in self.alpha.larr:
                if self.dfa.trans[s][c] == s0:
                    self.dfa.trans[s][c] = s1

        self.dfa.trans[s0] = dict()

        if s0 in self.dfa.finals:
            self.dfa.finals.remove(s0)

        if self.dfa.start == s0:
            self.dfa.start = s1