コード例 #1
0
ファイル: __init__.py プロジェクト: ahdiaz/gecos-firstboot
    def on_btnApplyClicked(self, widget):

        update_passwd = False

        if self.ui.txtPassword.get_text() != __DUMMY_PASSWORD__:
            update_passwd = True

        user = {
            'login': self._active_user['login'],
            'name': self.ui.txtName.get_text(),
            'password': self.ui.txtPassword.get_text(),
            'confirm': self.ui.txtConfirm.get_text(),
            'groups': self.ui.txtGroups.get_text()
        }

        if not self.validate_user(user):
            return

        try:
            SystemUsers.update_user(user, update_passwd)
            self.reload_page()
            self._select_user()

        except SystemUsers.SystemUserException as e:
            Dialogs.user_error_dialog(e.message)
コード例 #2
0
ファイル: __init__.py プロジェクト: ahdiaz/gecos-firstboot
    def on_btnRemoveClicked(self, widget):
        action = Dialogs.remove_user_dialog(self._active_user)
        if action == False:
            return

        try:
            SystemUsers.remove_user(self._active_user['login'], action[1])
            self.reload_page()

        except SystemUsers.SystemUserException as e:
            Dialogs.user_error_dialog(e.message)
コード例 #3
0
 def start_up(self, user_db):
     party = 'Andries'  # input("User name: ")
     self.user = SU.User(party)
     sesam = self.user.Providing_Access(party, user_db)
     if sesam is False:
         print('You are not registered as having access rights.')
         sys.exit(0)
コード例 #4
0
ファイル: __init__.py プロジェクト: ahdiaz/gecos-firstboot
    def on_btnAddClicked(self, widget):
        login_info = Dialogs.new_user_dialog()

        if login_info == False:
            # Pressed 'Cancel' or dialog closed
            return

        if not self.validate_user(login_info):
            return

        try:
            SystemUsers.add_user(login_info['login'], login_info['password'])
            SystemUsers.update_user(login_info)
            self.reload_page()

        except SystemUsers.SystemUserException as e:
            Dialogs.user_error_dialog(e.message)
コード例 #5
0
ファイル: __init__.py プロジェクト: ahdiaz/gecos-firstboot
    def load_users(self):

        users = SystemUsers.read_users()
        store = self.ui.tvUsers.get_model()
        store.clear()

        for user in users:
            store.append([user])

        self.ui.tvUsers.set_model(store)
コード例 #6
0
        else:
            print("Network '{}' is loaded "
                  "and is composed of the following files:".format(
                      self.pickle_file_name))
            for file in self.gel_net.Gellish_files:
                print('- {}'.format(file.path_and_name))

    def load_pickle_db(self, fname):
        try:
            infile = open(fname, "br")
        except FileNotFoundError:
            print("Input pickle file could not be found: {}".format(fname))
            return ()
        try:
            self.gel_net = pickle.load(infile)
        except EOFError:
            print("Input pickle file could not be read: {}".format(fname))
        else:
            infile.close()


if __name__ == "__main__":
    sys.setrecursionlimit(100000)

    # Initialize user_db and start up

    user_db = SU.UserDb()
    comm = Communicator()
    comm.start_up(user_db)
    comm.start_net()
コード例 #7
0
 def start_up(self, user_db):
     party = 'Andries'   #input("User name: ")
     self.user = SU.User(party)
     sesam = self.user.Providing_Access(party, user_db)
     if sesam is False:
         sys.exit(0)
コード例 #8
0
    def main(self):
        """ Define a main_window with select options and GUI language choice.
        """
        main_menu = ['Main Menu', 'Hoofdmenu']
        login = ['Login/Register', 'Login/Registreer']
        read_file = ['Read file', 'Lees file']
        search = ['Search', 'Zoek']
        query = ['Query', 'Vraag']
        admin = ['DB Admin', 'DB Admin']
        new_net = ['New network', 'Nieuw netwerk']
        save_as = ['Save net', 'Opslaan']
        manual = ['User manual', 'Handleiding']
        wiki = ['Gellish wiki', 'Gellish wiki']

        # Initialize user_db and start up
        user_db = SU.UserDb()
        self.start_up(user_db)
        self.start_net()

        # Set GUI language default = English: GUI_lang_names[0]
        self.Set_GUI_language(self.GUI_lang_names[0])

        # Define main GUI window
        self.container = gui.Widget(margin='2px',
                                    style='background-color:#eeffdd')
        self.container.set_size('100%', '100%')
        self.container.attributes['title'] = 'Communicator'

        # Menu bar
        self.menubar = gui.MenuBar(height=20, width='100%')
        self.container.append(self.menubar)

        import_text = [
            'Import one or more Gellish files',
            'Lees een of meer Gellish files'
        ]
        self.read_file_tag = gui.MenuItem(read_file[self.GUI_lang_index],
                                          width=100,
                                          height=20)
        self.read_file_tag.attributes['title'] = import_text[
            self.GUI_lang_index]
        self.read_file_tag.onclick.connect(self.read_verify_and_merge_files)
        self.menubar.append(self.read_file_tag)

        self.search_tag = gui.MenuItem(search[self.GUI_lang_index],
                                       width=100,
                                       height=20)
        self.search_tag.attributes['title'] = 'Open a search window'
        self.search_tag.onclick.connect(self.search_net)
        self.menubar.append(self.search_tag)

        self.manual_tag = gui.MenuItem(manual[self.GUI_lang_index],
                                       width=100,
                                       height=20)
        self.manual_tag.attributes[
            'title'] = 'Open the Communicator user manual'
        self.manual_tag.onclick.connect(self.user_manual)
        self.menubar.append(self.manual_tag)

        self.wiki_tag = gui.MenuItem(wiki[self.GUI_lang_index],
                                     width=100,
                                     height=20)
        self.wiki_tag.attributes['title'] = 'Open the Gellish languages wiki'
        self.wiki_tag.onclick.connect(self.open_wiki)
        self.menubar.append(self.wiki_tag)

        self.admin_tag = gui.MenuItem(admin[self.GUI_lang_index],
                                      width=100,
                                      height=20)
        self.admin_tag.attributes[
            'title'] = 'Save network on file or delete old and create new network'
        self.menubar.append(self.admin_tag)

        self.save_as_tag = gui.MenuItem(save_as[self.GUI_lang_index],
                                        width=100,
                                        height=20)
        self.save_as_tag.attributes[
            'title'] = 'Save semantic network on binary file'
        self.save_as_tag.onclick.connect(self.gel_net.save_pickle_db)
        self.admin_tag.append(self.save_as_tag)

        self.new_net_tag = gui.MenuItem(new_net[self.GUI_lang_index],
                                        width=100,
                                        height=20)
        self.new_net_tag.attributes[
            'title'] = 'Delete old and create new semantic network'
        self.new_net_tag.onclick.connect(self.gel_net.reset_and_build_network)
        self.admin_tag.append(self.new_net_tag)

        # Define language selector
        self.lang_container = gui.HBox(width=180,
                                       height=20,
                                       style='margin-left:200px')

        lang_text = ['Language:', 'Taal:']
        self.lang_label = gui.Label(lang_text[self.GUI_lang_index],
                                    width=80,
                                    height=20,
                                    style='background-color:#eeffdd')
        self.lang_label.attributes[
            'title'] = 'Select a language for specification of a search'

        self.lang_container.append(
            self.lang_label)  #self.main_frame, width=10)
        # Set default language: GUI_lang_names[0] = English, [1] = Nederlands
        self.lang_default = self.GUI_lang_names[0]
        self.lang_select = gui.DropDown(
            self.GUI_lang_names,
            width=100,
            height=20,
            style='background-color:#ffffc0')  #margin='10px'
        self.lang_select.attributes[
            'title'] = 'The language used for specification of a search'
        self.lang_container.append(self.lang_select)
        self.menubar.append(self.lang_container)

        # Binding GUI language choice
        self.lang_select.onchange.connect(self.Determine_GUI_language)

        # Main Frame
        self.main_frame = gui.VBox(width='100%', height='100%')
        self.container.append(self.main_frame)
        self.main_frame.attributes['color'] = 'green'

        self.query = None
        self.unknown = ['unknown', 'onbekend']
        self.unknown_quid = 0  # start UID for unknowns in queries

        # Create display views object
        self.views = Display_views(self.gel_net, self)

        # Define a notebook in window
        self.Define_notebook()

        return self.container