def execute(): json_req = request.json name = json_req.get("name", "def_name").strip() pwd = json_req.get("pwd", "def_pwd").strip() # check if name duplicate # find = Consumer.query.filter_by(name=name).all() # if len(find) > 0: # return BaseResp.err('all error') find = Consumer.query.filter_by(name=name).first() if find: return BaseResp.err('name already exist') consumer = Consumer(name=name, pwd=str_utils.md5_with_salt(pwd, name)) db.session.add(consumer) db.session.flush() current_app.logger.debug(">>> insert consumer, id = {}".format(consumer.id)) # Format: 20170709_184921 data_time = time.strftime('%Y%m%d_%H%M%S', time.localtime(time.time())) api_key = str_utils.gen_uuid(name + data_time) secret_key = str_utils.gen_uuid(pwd + data_time) key = Key(consumer_id=consumer.id, api_key=api_key, secret_key=secret_key, name='default') db.session.add(key) db.session.flush() current_app.logger.debug(">>> insert key, id = {}".format(key.id)) db.session.commit() return BaseResp.ok_with_data(ConsumerCreateResp(api_key=api_key, secret_key=secret_key))
def delete_keys(self): keys = Key.get_all() if keys['data']: self.delete_keys_window = DeleteKeysWindow(keys['data']) self.delete_keys_window.show() elif keys['warnings']: self.info = InfoWindow( label_text=u"Немає ключів які можна видалити") self.info.show() QtCore.QTimer.singleShot(5000, self.info.close) else: self.info_error.show() QtCore.QTimer.singleShot(5000, self.info_error.close)
def get_the_keys(self): if User.get_all()['warnings']: self.info = InfoWindow( label_text= u"Перший запуск програми, будь ласка створіть користувача!") self.info.show() self.new_user = AddNewUser() QtCore.QTimer.singleShot(3000, self.info.close) QtCore.QTimer.singleShot(3000, self.new_user.show) else: # TODO: Open window with user auth user = User.get_by_rfid("12334")['data'] #self.authenticate_user() username = user.firstname + u' ' + user.lastname self.welcome_window(username) keys = Key.get_all() if keys['errors']: self.info_error.show() QtCore.QTimer.singleShot(5000, self.info_error.close) elif keys['warnings']: self.get_key_window(keys=None, user=None) else: self.get_key_window(keys['data'], user=user)
def button_clicked(self): sender = self.sender() key = Key.get_by_rfid(str(sender.objectName())) if key['data']: if key['data'].status is True: self.choice = ChoiceWindow( operation='get_key', label_text=u'Ви дійсно хочете взяти ключ від кімнати {} ?'. format(key['data'].room), user=self.user, key=key['data'].rfid_chip, parent=self) self.choice.show() QtCore.QTimer.singleShot(10000, self.choice.close) else: taken_key = UserKeyLink.get_only_taken_keys(key['data'].id) if taken_key['data']: taken_info = taken_key['data'].user.firstname + ' ' \ + taken_key['data'].user.lastname + ', ' \ + taken_key['data'].date_taken.strftime('%d %b %Y, %H:%M').decode('utf-8') self.info = InfoWindow( label_text=u'Ключ узяв: {}'.format(taken_info)) self.info.show() QtCore.QTimer.singleShot(10000, self.info.close)
def press_yes_delete_key(self): key = Key.get_by_rfid(self.key)['data'] status = key.status deleted = User.delete(key) if deleted['data'] is True: self.info = InfoWindow(label_text=u'Ключ видалено', parent=self, previous_parent=self.parent) self.info.show() if status is True: return True # TODO: start returning keys in keys in box QtCore.QTimer.singleShot(5000, self.info.close) QtCore.QTimer.singleShot(5000, self.close) QtCore.QTimer.singleShot(5000, self.parent.close) else: self.info = InfoWindow( label_text= u'Вибачте, сталася помилка,зверніться будь ласка до адміністратора' ) self.info.show() QtCore.QTimer.singleShot(5000, self.info.close) QtCore.QTimer.singleShot(5000, self.close) QtCore.QTimer.singleShot(5000, self.parent.close)
def button_clicked(self): sender = self.sender() key = Key.get_by_rfid(str(sender.objectName())) if key['data']: self.choice = ChoiceWindow( operation='delete_key', label_text=u'Видалити ключ від кімнати {} ?'.format( key['data'].room), key=key['data'].rfid_chip, parent=self) self.choice.show() QtCore.QTimer.singleShot(10000, self.choice.close) elif key['warnings']: self.info = InfoWindow( label_text=u'У системі незнадено такого ключа') self.info.show() QtCore.QTimer.singleShot(5000, self.info.close) else: self.info = InfoWindow( label_text= u'Вибачте, сталася помилка,зверніться будь ласка до адміністратора' ) self.info.show() QtCore.QTimer.singleShot(5000, self.info.close)
def setUp(self): self.app = app self.client = self.app.test_client self.database_name = "tunadex_local_db" # Local database for testing purposes self.database_path = ("postgresql://*****:*****@localhost:5432" f"/{self.database_name}") setup_db(self.app, self.database_path) self.tune_data = [ Tune(title='Lush Life', composer=1, key=6, mastery=4), Tune(title='Body and Soul', composer=2, key=6, mastery=5), Tune(title='Freddie the Freeloader', composer=3, key=3, mastery=5) ] self.composer_data = [ Composer('Billy Strayhorn'), Composer('Johnny Green, Edward Heyman, Robert Sour, Frank Eyton'), Composer('Miles Davis') ] self.key_data = [ Key(key='C Major'), Key(key='F Major'), Key(key='B-flat Major'), Key(key='E-flat Major'), Key(key='A-flat Major'), Key(key='D-flat Major'), Key(key='G-flat Major'), Key(key='C-flat Major'), Key(key='C-sharp Major'), Key(key='F-sharp Major'), Key(key='B Major'), Key(key='E Major'), Key(key='A Major'), Key(key='D Major'), Key(key='G Major'), Key(key='A Minor'), Key(key='D Minor'), Key(key='G Minor'), Key(key='C Minor'), Key(key='F Minor'), Key(key='B-flat Minor'), Key(key='E-flat Minor'), Key(key='A-flat Minor'), Key(key='A-sharp Minor'), Key(key='D-sharp Minor'), Key(key='G-sharp Minor'), Key(key='C-sharp Minor'), Key(key='F-sharp Minor'), Key(key='B Minor'), Key(key='E Minor') ] self.mastery_data = [ Mastery(level="Don't know at all"), Mastery(level='Not in ear, but can read'), Mastery(level='In ear, but not memorized'), Mastery(level='Memorized, but actively thinking'), Mastery(level='Mastered, know it cold') ] self.tune_3_patch = { "title": "Lush Life", "composer": "Billy Strayhorn", "key": "D-flat Major", "mastery": 5 } self.new_tune_4 = { "title": "Footprints", "composer": "Wayne Shorter", "key": "C Minor", "mastery": 5 } with self.app.app_context(): self.db = SQLAlchemy() self.db.reflect() self.db.drop_all() self.db.create_all() self.db.init_app(self.app) for composer in self.composer_data: composer.insert() for key in self.key_data: key.insert() for mastery in self.mastery_data: mastery.insert() for tune in self.tune_data: tune.insert()