Example #1
0
    def __init__(self, name, student_id, age, speciality, n, str_say_sth,
                 str_say_bye, owner_name):

        #Student.__init__(self,name,student_id,age,speciality) #调用学生类构造方法
        self.name = 'keke'  #后续赋值语句覆盖此赋值语句

        Assistant.__init__(self, str_say_sth, str_say_bye, n,
                           owner_name)  #调用助手类构造方法

        Student.__init__(self, name, student_id, age, speciality)  #调用学生类构造方法
Example #2
0
def skill(args):
    try:
        assistant = Assistant(args)
        directories = glob.glob("skills/*/")
        skills = []

        for i in range(len(directories) - 1):
            skills.append(directories[i].split("/")[1] + "\n")

        assistant.answer("ListAllSkills", {"skills": ", ".join(skills)})
    except Exception as e:
        print(e)
Example #3
0
    def start(self):
        # Слушаем сервер
        for event in self.longpoll.listen():
            self.do_requests_list()
            # Новое сообщение
            if event.type == VkBotEventType.MESSAGE_NEW:

                if str(event.object.from_id) not in self.ids:
                    self.ids[str(event.object.from_id)] = Assistant(
                        self.vk_s, event.object.from_id,
                        JSONFile.get_id_by_vkid(str(event.object.from_id),
                                                self.group_file_name),
                        self.group_file_name, True)

                if event.group_id:
                    pass

                if True:

                    if event.object.id == 0:
                        self.messenger.send_message(
                            event.object.from_id,
                            "Сообщения в группе запрещены. "
                            "Пожалуйста, пишите в личные сообщения)))")
                    else:
                        self.messenger.send_message_by_event(
                            event, from_id=event.object.from_id)
Example #4
0
    def _set_persons(self, filename):
        data = JSONFile.read_json(filename)
        res = {}
        for info in data['Persons']:
            res[data["Persons"][info]['vkid']] = Assistant(
                self.vk_s, data["Persons"][info]['vkid'], info,
                self.group_file_name)

        return res
Example #5
0
def skill(args):
    assistant = Assistant(args)
    try:
        url = assistant.settings["WoL"]['url']
        username = assistant.settings["WoL"]['username']
        password = assistant.settings["WoL"]['password']

        requests.post(url, auth=(username, password))
        assistant.answer('site.php.request')
    except:
        assistant.answer('error')
Example #6
0
def skill(args):
    try:
        assistant = Assistant(args)

        current_datetime = datetime.now(pytz.timezone(assistant.settings['timezone']))
        
        fileName = '/'.join(assistant.question.split("/")[len(assistant.question.split("/"))-1:]).replace(".question", "").strip()
        if fileName == "time": 
            assistant.answer("time", {'time' : current_datetime.strftime('%H:%M')})
        elif fileName == "date":
            dateFormats = ("%d. %m.", "%d. %m. %Y")
            date = current_datetime.strftime(random.choice(dateFormats))
            date = date.split()
            if int(date[1][:2]) < 10:
                date[1] = date[1][1:]
            if random.randint(0, 1):
                date[1] = month[assistant.settings["language"]][int(current_datetime.strftime("%m"))-1]
            date = ' '.join(date)              
            assistant.answer("date", {'date' : date})
        elif fileName == "day": 
            assistant.answer("day", {'day' : weekDay[assistant.settings["language"]][int(current_datetime.strftime("%w"))]})
    except Exception as e:
        print(e)    
Example #7
0
def main():
    global window

    # The disaster assistant
    agent = Assistant(window)

    while 1:
        # Get the message
        msg = input()
        if msg == "exit":
            print("Exiting...")
            break
        # Perform action based on message
        agent.decode(msg)

    agent.assistant_exit()
    window.close_window()
Example #8
0
	def __init__(self):
		glade_prefix = ""
		try:
			glade_prefix = os.environ["GLADE_PREFIX"]
		except KeyError:
			print "No Glade Environment"
		
		
		
		
		self.asnt = Assistant()
		self.asnt.connect("switch-page",self.__switch_page_cb)
		self.asnt.connect("validate-page",self.__validate_page_cb)
		self.asnt.window.connect("destroy", self.destroy)
		
		self.builder = gtk.Builder()
		self.builder.add_from_file(glade_prefix+"window.glade")
		
		self.asnt_p1 = AssistantPage()
		self.asnt_p1.title_side = "Bill"
		self.asnt_p1.title_top = "Enter Bill Information:"
		self.asnt_p1.widget = self.builder.get_object("vboxPage1")
		self.asnt.add_page(self.asnt_p1)
		
		self.asnt_p2 = AssistantPage()
		self.asnt_p2.title_side = "Finances"
		self.asnt_p2.title_top = "Enter the Party's Financial Information:"
		self.asnt_p2.widget = self.builder.get_object("vboxPage2")
		self.asnt.add_page(self.asnt_p2)
		
		self.asnt_p3 = AssistantPage()
		self.asnt_p3.title_side = "Results"
		self.asnt_p3.title_top = "Results:"
		self.asnt_p3.widget = self.builder.get_object("scrolledwindowPage3")
		self.asnt.add_page(self.asnt_p3)
		
		
		
		
		
		
		
		
		
		
		
		self.people.append(["Person 1","5"])
		self.people.append(["Person 2","5"])
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		# Create View
		self.bill_entry = self.builder.get_object("billEntry")
		self.bill_validation_tip_hbox = self.builder.get_object("billValidationTipHBox")
		#self.bill_entry.modify_base(gtk.STATE_NORMAL,gtk.gdk.color_parse("#FF7F7F"))
		
		
		
		self.tree_view = self.builder.get_object("peopleList")
		
		self.col1_rend = gtk.CellRendererText()
		self.col1_rend.connect("edited",self.col1_edited)
		self.col1_rend.set_property("editable",True)
		self.col1 = gtk.TreeViewColumn("Name", self.col1_rend, text=0)
		self.col1.set_sort_column_id(0)
		self.tree_view.append_column(self.col1)
		
		self.col2_rend = gtk.CellRendererText()
		self.col2_rend.connect("edited",self.col2_edited)
		self.col2_rend.set_property("editable",True)
		self.col2 = gtk.TreeViewColumn("Earnings", self.col2_rend, text=1)
		self.col2.set_sort_column_id(1)
		self.tree_view.append_column(self.col2)
		
		self.add_button = self.builder.get_object("addButton")
		self.add_button.connect("clicked",self.p2_add_row)
		self.remove_button = self.builder.get_object("removeButton")
		self.remove_button.connect("clicked",self.p2_remove_row)
		
		self.res_tv = self.builder.get_object("resultTextview")
		
		
		# Create Store
		self.store = gtk.ListStore(str, str)
		for person in self.people:
			self.store.append(person)
		
		self.tree_view.set_model(self.store)
		
		
		
		self.tree_view.set_model(self.store)
		self.asnt.show()
Example #9
0
class App:
	
	
	builder = None
	window = None
	bill_entry = None
	bill_validation_tip_hbox = None
	tree_view = None
	add_button = None
	remove_button = None
	col1 = None
	col1_rend = None
	col2 = None
	col2_rend = None
	store = None
	res_tv = None
	
	asnt = None
	asnt_p1 = None
	asnt_p2 = None
	asnt_p3 = None
	people = []
	
	
	def __init__(self):
		glade_prefix = ""
		try:
			glade_prefix = os.environ["GLADE_PREFIX"]
		except KeyError:
			print "No Glade Environment"
		
		
		
		
		self.asnt = Assistant()
		self.asnt.connect("switch-page",self.__switch_page_cb)
		self.asnt.connect("validate-page",self.__validate_page_cb)
		self.asnt.window.connect("destroy", self.destroy)
		
		self.builder = gtk.Builder()
		self.builder.add_from_file(glade_prefix+"window.glade")
		
		self.asnt_p1 = AssistantPage()
		self.asnt_p1.title_side = "Bill"
		self.asnt_p1.title_top = "Enter Bill Information:"
		self.asnt_p1.widget = self.builder.get_object("vboxPage1")
		self.asnt.add_page(self.asnt_p1)
		
		self.asnt_p2 = AssistantPage()
		self.asnt_p2.title_side = "Finances"
		self.asnt_p2.title_top = "Enter the Party's Financial Information:"
		self.asnt_p2.widget = self.builder.get_object("vboxPage2")
		self.asnt.add_page(self.asnt_p2)
		
		self.asnt_p3 = AssistantPage()
		self.asnt_p3.title_side = "Results"
		self.asnt_p3.title_top = "Results:"
		self.asnt_p3.widget = self.builder.get_object("scrolledwindowPage3")
		self.asnt.add_page(self.asnt_p3)
		
		
		
		
		
		
		
		
		
		
		
		self.people.append(["Person 1","5"])
		self.people.append(["Person 2","5"])
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		# Create View
		self.bill_entry = self.builder.get_object("billEntry")
		self.bill_validation_tip_hbox = self.builder.get_object("billValidationTipHBox")
		#self.bill_entry.modify_base(gtk.STATE_NORMAL,gtk.gdk.color_parse("#FF7F7F"))
		
		
		
		self.tree_view = self.builder.get_object("peopleList")
		
		self.col1_rend = gtk.CellRendererText()
		self.col1_rend.connect("edited",self.col1_edited)
		self.col1_rend.set_property("editable",True)
		self.col1 = gtk.TreeViewColumn("Name", self.col1_rend, text=0)
		self.col1.set_sort_column_id(0)
		self.tree_view.append_column(self.col1)
		
		self.col2_rend = gtk.CellRendererText()
		self.col2_rend.connect("edited",self.col2_edited)
		self.col2_rend.set_property("editable",True)
		self.col2 = gtk.TreeViewColumn("Earnings", self.col2_rend, text=1)
		self.col2.set_sort_column_id(1)
		self.tree_view.append_column(self.col2)
		
		self.add_button = self.builder.get_object("addButton")
		self.add_button.connect("clicked",self.p2_add_row)
		self.remove_button = self.builder.get_object("removeButton")
		self.remove_button.connect("clicked",self.p2_remove_row)
		
		self.res_tv = self.builder.get_object("resultTextview")
		
		
		# Create Store
		self.store = gtk.ListStore(str, str)
		for person in self.people:
			self.store.append(person)
		
		self.tree_view.set_model(self.store)
		
		
		
		self.tree_view.set_model(self.store)
		self.asnt.show()
	
	
	
	
	
	
	
	
	
	def p2_add_row(self,widget,data=None):
		self.store.append(["New Party","0"])
		self.people.append(["New Party","0"])
		
		iter = self.store.get_iter_from_string(str(len(self.people)-1))
		path = self.store.get_path(iter)
		self.tree_view.set_cursor(path,self.col1,True)
	
	def p2_remove_row(self,widget,data=None):
		
		selection = self.tree_view.get_selection()
		model, iter = selection.get_selected()
		if None != iter:
			path = model.get_path(iter)
			row = path[0] # We can only select 1 so just access the first index
			del self.people[row]
			self.store.remove(iter)
	
	def col1_edited(self,renderer,path,newtext):
		iter = self.store.get_iter_from_string(path)
		self.store.set(iter,0,newtext)
		self.people[int(path)][0] = newtext
	
	def col2_edited(self,renderer,path,newtext):
		iter = self.store.get_iter_from_string(path)
		self.store.set(iter,1,newtext)
		self.people[int(path)][1] = newtext
	
	def destroy(self, widget, data=None):
		"""
		Quit on window close.
		"""
		gtk.main_quit()
	
	def __switch_page_cb(self,assistant,page):
		if page == self.asnt_p1:
			pass
		elif page == self.asnt_p2:
			pass
		elif page == self.asnt_p3:
			charge = float(self.bill_entry.get_text())
			
			calc_people = []
			for person in self.people:
				calc_people.append(Person(person[0],person[1]))
			
			calc = Calculator()
			calc.people = calc_people
			calc.charge = charge
			calc.calculate()
			
			str = ""
			
			
			str+= "Total income including all parties: ${0:03.2f}\n\n".format(calc.total_income)
			
			for p in calc.people:
				str+= "Amount due by {0} whose income is ${1:03.2f} is ${2:03.2f}.\n".format(p.name,p.income,p.due)
			
			str+= "\nEach party is paying {0:03.2f}% of their income.".format(calc.due_percent)
			
			
			
			
			
			
			
			
			buf = self.res_tv.get_buffer()
			buf.set_text(str)
		
		print "__change_page_cb",page
	def __validate_page_cb(self,assistant,page):
		if page == self.asnt_p1:
			return self.__validate_page1()
		
		
		return self.asnt.VALIDATE_SUCCESS
	
	def __validate_page1(self):
		str = self.bill_entry.get_text()
		if str == "":
			self.bill_entry.modify_base(gtk.STATE_NORMAL,gtk.gdk.color_parse("#FF7F7F"))
			self.bill_validation_tip_hbox.show()
			return self.asnt.VALIDATE_FAIL
		
		notnum = re.compile(r"[^0-9\.]")
		if notnum.search(str):
			self.bill_entry.modify_base(gtk.STATE_NORMAL,gtk.gdk.color_parse("#FF7F7F"))
			self.bill_validation_tip_hbox.show()
			return self.asnt.VALIDATE_FAIL
		
		self.bill_entry.modify_base(gtk.STATE_NORMAL,None)
		self.bill_validation_tip_hbox.hide()
		return self.asnt.VALIDATE_SUCCESS
Example #10
0
def skill(args):
    try:
        assistant = Assistant(args)
        countdown(assistant)
    except Exception as e:
        print(e)  
    def __init__(self,str_say_sth,str_say_bye,name,owner_name):  #子类构造函数
        
        Assistant.__init__(self,str_say_sth,str_say_bye,name,owner_name)   #调用父类构造函数

        print('I am AssistantForProgramer,I can {}'.format(self.skill))  #处理子类特有内容
Example #12
0
def get_text_message(message):
    LilA.append(Assistant(message.from_user.id))

    temp_rule = ''
    temp_day = ''

    for num, mes in enumerate(LilA):
        if mes.get_id() == message.from_user.id:
            temp_rule = LilA[num].get_rule()
            temp_day = LilA[num].get_day()
            break

    if message.text in dw:
        temp_day = message.text

        for num, mes in enumerate(LilA):
            print(num,mes)
            if mes.get_id() == message.from_user.id:
                LilA[num].set_day(temp_day)
                break
        bot.reply_to(message, 'Итак, мы выбрали день ¯\_(ツ)_/¯', reply_markup=day_kb(temp_day))

    elif 'Отобразить' in message.text:
        mess = 'Список дел:\n'
        temp_day = ''

        for num, mes in enumerate(LilA):
            if mes.get_id() == message.from_user.id:
                temp_day = LilA[num].get_day()
                LilA[num].set_rule('Отобразить')
                break

        lst = base.select_rule(message.from_user.id, temp_day)
        if lst:
            for i in lst:
                mess += i[0]
                mess += '\n'
            bot.send_message(message.from_user.id, mess, reply_markup=day_kb(temp_day))

        else:
            mess += 'Пока пуст ¯\_(ツ)_/¯'
            bot.send_message(message.from_user.id, mess, reply_markup=day_kb(temp_day))

        return

    elif 'Добавить' in message.text:
        temp_day = ''

        for num, mes in enumerate(LilA):
            print(mes)
            if mes.get_id() == message.from_user.id:
                print(mes.get_id())
                temp_day = LilA[num].get_day()
                LilA[num].set_rule('Добавить')

                break

        bot.send_message(message.from_user.id, 'Что я должен запомнить?', reply_markup=day_kb(temp_day))

        return

    elif 'Удалить' in message.text:
        temp_day = ''

        for num, mes in enumerate(LilA):
            if mes.get_id() == message.from_user.id:
                temp_day = LilA[num].get_day()
                LilA[num].set_rule('Удалить')
                break

        ls = base.select_rule(message.from_user.id, temp_day)
        bot.send_message(message.from_user.id, 'Что я должен удалить?', reply_markup=del_rule(ls))

        return

    elif message.text == 'Назад':
        msg = 'Возвращаемся к меню:\n/day - выбрать нужный день недели\n' \
              '/help  - помощь\n' \
              '/which_day - какой сегодня день?'
        bot.send_message(message.from_user.id, msg, reply_markup=menu_kb())

        return

    elif message.text == 'Ко дням недели':
        bot.send_message(message.from_user.id, 'Возвращаемся ко дням недели:', reply_markup=week_kb())

        return

    elif temp_day and temp_rule == 'Добавить':
        temp_mes = message.text
        bot.send_message(message.from_user.id, 'Я запомнил: {}'.format(temp_mes), reply_markup=week_kb())
        base.insert_rule(message.from_user.id, temp_mes, temp_day)
        temp_rule = ''
        temp_day = ''
        temp_mes = ''

        return

    elif temp_day and temp_rule == 'Удалить':
        temp_mes = message.text
        bot.send_message(message.from_user.id, 'Я удалил: {}'.format(temp_mes), reply_markup=week_kb())
        base.delete_rule(message.from_user.id, temp_day, temp_mes)

        for num, mes in enumerate(LilA):
            if mes.get_id() == message.from_user.id:
                del LilA[num]
                break

        temp_rule = ''
        temp_day = ''
        temp_mes = ''

        return

    else:
        bot.send_message(message.from_user.id, 'Я тебя не понимаю ¯\_(ツ)_/¯ ')
        return
Example #13
0
from text_to_voice import tts
from Assistant import Assistant
from voice_to_text import myListener as vtt

cout = 0
while True:
    if cout == 0:
        tts("Hello Mr. Dipesh! , how can I help you?")
        cout = cout + 1
    else:
        command = vtt()
        Assistant.assistant(command)
Example #14
0

if __name__ == "__main__":
    try:
        eliza = eliza.Eliza()
        eliza.load('doctor.txt')
        eliza.initial()
        ws = AsyncWebsocket(msg_callback)
        assistant = Assistant({
            "answerPath":
            os.path.dirname(os.path.abspath(__file__)) + "/local/" +
            settings['language'] + "/",
            "inputText":
            "",
            "inputLine":
            "",
            "question":
            "",
            "webSocket":
            ws,
            "mute":
            False
        })
        #getInput(' '.join(sys.argv[1:]))
        while True:
            getInput()
    except KeyboardInterrupt:
        print("\nEnding Assistant")
    except Exception as e:
        print(e)
    finally:
Example #15
0
 def __init__(self):
     self.number = 5
     self.assistant = Assistant()
Example #16
0
# set up loss optimizer
Actor_optimizer = optim.Adam(ActorCritic.actor.parameters(),
                             lr=1e-6,
                             weight_decay=1e-2)
Critic_optimizer = optim.Adam(ActorCritic.critic.parameters(),
                              lr=1e-6,
                              weight_decay=1e-2)

# get latest weight file
weights_file = ActorCritic_helper.get_latest_weight_file()
if weights_file != -1:
    ActorCritic.load_state_dict(torch.load(weights_file))

# set up assistant
Assistant = Assistant(directory=DIRECTORY, number_of_images=700)

##### SET UP TRAINING #####
##### SET UP TRAINING #####
##### SET UP TRAINING #####

for iteration in range(300000):
    # zero the graph gradient
    ActorCritic.zero_grad()

    # get a cropped image sample
    image = Assistant.get_cropped_sample()[0].unsqueeze(0).unsqueeze(0).to(
        device)

    # pass image through first module of FasteNet and get feature map
    F_map_1 = FasteNet.module_one(image)
Example #17
0
    def __init__(self):
        QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Pirs's functions
        self.threadPirs = QtCore.QThread()
        self.Pirs = Assistant()
        self.Pirs.moveToThread(self.threadPirs)
        self.ui.pushButton_2.clicked.connect(self.Pirs.voice_activation)
        self.ui.pushButton_2.clicked.connect(self.modePirs)
        self.threadPirs.start()

        ## REMOVE ==> STANDARD TITLE BAR
        UIFunctions.removeTitleBar(True)
        ## ==> END ##

        ## REMOVE ==> STANDARD TITLE BAR
        startSize = QSize(1000, 720)
        self.resize(startSize)
        self.setMinimumSize(startSize)
        # UIFunctions.enableMaximumSize(self, 500, 720)
        ## ==> END ##

        # TRAY MENU
        self.tray_icon = QSystemTrayIcon(self)
        self.tray_icon.setIcon(QtGui.QIcon(r"gui\icons\tray_logo.ico"))

        show_action = QAction("Show", self)
        quit_action = QAction("Exit", self)
        hide_action = QAction("Hide", self)
        show_action.triggered.connect(self.show)
        hide_action.triggered.connect(self.hide)
        quit_action.triggered.connect(self.closeApp)
        tray_menu = QMenu()
        tray_menu.addAction(show_action)
        tray_menu.addAction(hide_action)
        tray_menu.addAction(quit_action)
        self.tray_icon.setContextMenu(tray_menu)
        self.tray_icon.show()

        ## TOGGLE/BURGUER MENU
        ########################################################################
        self.ui.btn_toggle_menu.clicked.connect(lambda: UIFunctions.toggleMenu(self, 250, True))

        ## ==> START PAGE
        self.ui.stackedWidget.setCurrentWidget(self.ui.page_home)

        ## ==> END ##

        ## PAGES
        ########################################################################

        # PAGE 1
        self.ui.btn_home.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_home))

        # PAGE 2
        self.ui.btn_user.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_user))

        # PAGE 3
        self.ui.btn_settings.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_settings))

        # PAGE 4
        self.ui.pushButton_6.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_phrases))
        self.ui.pushButton_6.clicked.connect(self.feedLabel)

        # MOUSE CLICK HANDING
        def mouseClick(event):
            if event.buttons() == Qt.LeftButton:
                self.start = event.pos()

        # MOVE MAIN WINDOW
        def moveWindow(event):
            if event.buttons() == Qt.LeftButton:
                self.delta = event.globalPos() - self.pos() - QtCore.QPoint(80, 10)
                self.move(self.pos() + self.delta - self.start)

        self.ui.frame_label_top_btns.mousePressEvent = mouseClick
        self.ui.frame_label_top_btns.mouseMoveEvent = moveWindow

        # GET COMMANDS
        self.ui.pushButton.clicked.connect(self.getCommandSite)
        self.ui.pushButton_4.clicked.connect(self.getNewName)
        self.ui.pushButton_5.clicked.connect(self.getCommandFolder)

        # CHANGE VOLUME
        self.ui.horizontalSlider.setMaximum(100)
        self.ui.horizontalSlider.setValue(100)
        self.ui.progressBar.setValue(100)
        self.ui.horizontalSlider.valueChanged.connect(self.valueSpeaker)
        self.ui.horizontalSlider.valueChanged[int].connect(self.changeVolume)
        


        ## ==> LOAD DEFINITIONS
        ########################################################################
        UIFunctions.uiDefinitions(self)
        ## ==> END ##

        ## SHOW ==> MAIN WINDOW
        ########################################################################
        self.show()
Example #18
0
class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Pirs's functions
        self.threadPirs = QtCore.QThread()
        self.Pirs = Assistant()
        self.Pirs.moveToThread(self.threadPirs)
        self.ui.pushButton_2.clicked.connect(self.Pirs.voice_activation)
        self.ui.pushButton_2.clicked.connect(self.modePirs)
        self.threadPirs.start()

        ## REMOVE ==> STANDARD TITLE BAR
        UIFunctions.removeTitleBar(True)
        ## ==> END ##

        ## REMOVE ==> STANDARD TITLE BAR
        startSize = QSize(1000, 720)
        self.resize(startSize)
        self.setMinimumSize(startSize)
        # UIFunctions.enableMaximumSize(self, 500, 720)
        ## ==> END ##

        # TRAY MENU
        self.tray_icon = QSystemTrayIcon(self)
        self.tray_icon.setIcon(QtGui.QIcon(r"gui\icons\tray_logo.ico"))

        show_action = QAction("Show", self)
        quit_action = QAction("Exit", self)
        hide_action = QAction("Hide", self)
        show_action.triggered.connect(self.show)
        hide_action.triggered.connect(self.hide)
        quit_action.triggered.connect(self.closeApp)
        tray_menu = QMenu()
        tray_menu.addAction(show_action)
        tray_menu.addAction(hide_action)
        tray_menu.addAction(quit_action)
        self.tray_icon.setContextMenu(tray_menu)
        self.tray_icon.show()

        ## TOGGLE/BURGUER MENU
        ########################################################################
        self.ui.btn_toggle_menu.clicked.connect(lambda: UIFunctions.toggleMenu(self, 250, True))

        ## ==> START PAGE
        self.ui.stackedWidget.setCurrentWidget(self.ui.page_home)

        ## ==> END ##

        ## PAGES
        ########################################################################

        # PAGE 1
        self.ui.btn_home.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_home))

        # PAGE 2
        self.ui.btn_user.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_user))

        # PAGE 3
        self.ui.btn_settings.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_settings))

        # PAGE 4
        self.ui.pushButton_6.clicked.connect(lambda: self.ui.stackedWidget.setCurrentWidget(self.ui.page_phrases))
        self.ui.pushButton_6.clicked.connect(self.feedLabel)

        # MOUSE CLICK HANDING
        def mouseClick(event):
            if event.buttons() == Qt.LeftButton:
                self.start = event.pos()

        # MOVE MAIN WINDOW
        def moveWindow(event):
            if event.buttons() == Qt.LeftButton:
                self.delta = event.globalPos() - self.pos() - QtCore.QPoint(80, 10)
                self.move(self.pos() + self.delta - self.start)

        self.ui.frame_label_top_btns.mousePressEvent = mouseClick
        self.ui.frame_label_top_btns.mouseMoveEvent = moveWindow

        # GET COMMANDS
        self.ui.pushButton.clicked.connect(self.getCommandSite)
        self.ui.pushButton_4.clicked.connect(self.getNewName)
        self.ui.pushButton_5.clicked.connect(self.getCommandFolder)

        # CHANGE VOLUME
        self.ui.horizontalSlider.setMaximum(100)
        self.ui.horizontalSlider.setValue(100)
        self.ui.progressBar.setValue(100)
        self.ui.horizontalSlider.valueChanged.connect(self.valueSpeaker)
        self.ui.horizontalSlider.valueChanged[int].connect(self.changeVolume)
        


        ## ==> LOAD DEFINITIONS
        ########################################################################
        UIFunctions.uiDefinitions(self)
        ## ==> END ##

        ## SHOW ==> MAIN WINDOW
        ########################################################################
        self.show()
        ## ==> END ##   

    # USER COMANDS
    def getCommandSite(self):
        url = self.ui.lineEdit.text()
        command = self.ui.lineEdit_2.text()
        if command != "" and url != "":
            self.ui.warning_1.setText("")
            url.lower()
            command.lower()
            with open("commands.txt", "a") as file:
                file.write(url + ";" + command + "\n")
            self.ui.lineEdit.clear()
            self.ui.lineEdit_2.clear()
        else:
            self.ui.warning_1.setText("Не все поля были заполнены")

    def getCommandFolder(self):
        url = self.ui.lineEdit_3.text()
        command = self.ui.lineEdit_4.text()
        if command != "" and url != "":
            self.ui.warning_2.setText("")
            url.lower()
            command.lower()
            with open("commands.txt", "a") as file:
                file.write(url + ";" + command + "\n")
            self.ui.lineEdit_3.clear()
            self.ui.lineEdit_4.clear()
        else:
            self.ui.warning_2.setText("Не все поля были заполнены")
    
    def getNewName(self):
        newName = self.ui.editName.text()
        if newName != "":
            newName.lower()
            self.ui.editName.clear()
            self.Pirs.changeName(newName)

    def changeVolume(self, value):
        sessions = AudioUtilities.GetAllSessions()
        for session in sessions:
            volume = session.SimpleAudioVolume
            if session.Process and session.Process.name() == "python.exe":
                volume.SetMasterVolume(value * 0.01, None)
    
    def valueSpeaker(self):
        self.ui.progressBar.setValue(self.ui.horizontalSlider.value())
    
    def feedLabel(self):
        self.Pirs.feedDict(self.Pirs.tasks)
        i = 1
        text = ""
        for key, value in self.Pirs.tasks.items():
            text += str(i) + ". "
            for k in key:
                text += k + ", "
            text = text[:-2]
            if isinstance(value, str):
                text += ": " + value
            text += "\n"
            i+=1
        self.ui.label_4.setText(text)

    
    def modePirs(self):
        if self.Pirs.rc.flag:
            self.Pirs.rc.flag = False
            self.ui.label_6.setText("Дезактивирован")
            self.ui.label_6.setStyleSheet("color: rgb(98, 114, 164);")
        else:
            self.Pirs.rc.flag = True
            self.ui.label_6.setText("Активирован")
            self.ui.label_6.setStyleSheet("color: qlineargradient(spread:pad, x1:0, y1:0.511364, x2:1, y2:0.523, stop:0 rgba(254, 121, 199, 255), stop:1 rgba(170, 85, 255, 255));")
    
    def closeApp(self):
        self.threadPirs.exit()
        self.threadPirs.terminate()
        self.threadPirs.wait(250)
        self.close()
        self.Pirs.bye()
Example #19
0
    ########################################################################
    def progress(self):

        global counter

        # SET VALUE TO PROGRESS BAR
        self.ui.progressBar.setValue(counter)

        # CLOSE SPLASH SCREE AND OPEN APP
        if counter > 100:
            # STOP TIMER
            self.timer.stop()

            # SHOW MAIN WINDOW
            self.main = MainWindow()
            self.main.show()

            # CLOSE SPLASH SCREEN
            self.close()

        # INCREASE COUNTER
        counter += 1


if __name__ == "__main__":
    Assistant.greeting()
    app = QApplication(sys.argv)
    QtGui.QFontDatabase.addApplicationFont('fonts/segoeui.ttf')
    QtGui.QFontDatabase.addApplicationFont('fonts/segoeuib.ttf')
    window = SplashScreen()
    sys.exit(app.exec_())
Example #20
0
# Author: Carter Brown
from Assistant import Assistant

agent = Assistant()

while 1:
    msg = input()

    if msg == "exit":
        print("Exiting...")
        break
    elif msg == "":
        pass