def __request_hash_map(self): """ Get from request.form the hash map values and check it """ form = request.form self.hash_map['name'] = form['name'] self.hash_map['value'] = {} # Check that the name hash map has between 2 and 20 characters if not check.length(self.hash_map['name'], 2, 20): self.message = g.hash_table_msg('error_1') # Verify that the format of the name is correct elif not check.username(self.hash_map['name']): self.message = g.hash_table_msg('error_2') # Get list labels added list_label = [ int(x.split('_')[3]) for x in form if x.startswith('label_name_') ] # If there exists at least one field, # I can continue the adventure. if len(list_label) > 0: len_label = max(list_label) + 1 # I look for fields that contain the keys, # then I browse to the field until the larger number. for i in range(len_label): label_key = 'label_name_{}_{}'.format(g.lan, i) # Check there is label in request.form if label_key in form: key = form[label_key].strip() # Check that the key has between 2 and 30 characters if not check.length(key, 2, 30): self.message = g.hash_table_msg('error_11') # Verify that the format of the key is correct elif not check.username(key): self.message = g.hash_table_msg('error_12') # It doesn't take into dictionary the empty keys if check.length(key, 2, 30): # Initial language values self.hash_map['value'][key] = {} for code in self.languages: label_key = 'label_name_{}_{}'.format(code, i) label_value = 'label_{}_{}'.format(code, i) # Check there is label in request.form # with this specific language if label_key in form: value = form[label_value] self.hash_map['value'][key][code] = value else: self.hash_map['value'][key][code] = ''
def update(self, _id): """ Update hash map """ if g.my['rank'] < 15: self.__request_hash_map() else: self.__request_hash_map_user() if self.message is None: try: g.db.hash_table.update({ '_id' : ObjectId(_id)}, self.hash_map ) self.status = 'msg msg-success' self.message = g.hash_table_msg('hash_updated') except PyMongoError: self.message = g.hash_table_msg('error_mongo_update')
def update(self, _id): """ Update hash map """ if g.my['rank'] < 15: self.__request_hash_map() else: self.__request_hash_map_user() if self.message is None: try: g.db.hash_table.update({'_id': ObjectId(_id)}, self.hash_map) self.status = 'msg msg-success' self.message = g.hash_table_msg('hash_updated') except PyMongoError: self.message = g.hash_table_msg('error_mongo_update')
def __request_hash_map(self): """ Get from request.form the hash map values and check it """ form = self.params old_name = self.hash_map['name'] self.hash_map['name'] = form['name'] self.hash_map['value'] = {} # Check that the name hash map has between 2 and 20 characters if not check.length(self.hash_map['name'], 2, 20): self.message = g.hash_table_msg('error_1') # Verify that the format of the name is correct elif not check.username(self.hash_map['name']): self.message = g.hash_table_msg('error_2') # Check that the name is new if not self.message and old_name != self.hash_map['name']: hash_map = g.db.hash_table.find_one( {'name': self.hash_map['name']}) if hash_map: self.message = g.hash_table_msg('error_5') # Get len label len_label = int(form["len"]) # I look for fields that contain the keys, # then I browse to the field until the larger number. for i in range(len_label): label_key = 'label-name-{}'.format(i) key = form[label_key].strip() # Check that the key has between 2 and 30 characters if not check.length(key, 2, 30): self.message = g.hash_table_msg('error_3') # Verify that the format of the key is correct elif not check.username(key): self.message = g.hash_table_msg('error_4') # It doesn't take into dictionary the empty keys if check.length(key, 2, 30): # Initial language values self.hash_map['value'][key] = {} for code in self.languages: label_value = 'label-{}-{}'.format(code, i) value = form[label_value] self.hash_map['value'][key][code] = value
def new(self): """ Add hash map """ self.__request_hash_map() if not self.message: try: g.db.hash_table.insert( self.hash_map ) self.success = True self.status = 'msg msg-success' self.message = g.hash_table_msg('hash_created') except PyMongoError: self.message = g.hash_table_msg('error_mongo_new') return False return False
def new(self): """ Add hash map """ self.__request_hash_map() if not self.message: try: g.db.hash_table.insert(self.hash_map) self.success = True self.status = 'msg msg-success' self.message = g.hash_table_msg('hash_created') except PyMongoError: self.message = g.hash_table_msg('error_mongo_new') return False return False
def __request_hash_map(self): """ Get from request.form the hash map values and check it """ form = self.params old_name = self.hash_map['name'] self.hash_map['name'] = form['name'] self.hash_map['value'] = {} # Check that the name hash map has between 2 and 20 characters if not check.length(self.hash_map['name'], 2, 20): self.message = g.hash_table_msg('error_1') # Verify that the format of the name is correct elif not check.username(self.hash_map['name']): self.message = g.hash_table_msg('error_2') # Check that the name is new if not self.message and old_name != self.hash_map['name']: hash_map = g.db.hash_table.find_one({ 'name' : self.hash_map['name'] }) if hash_map: self.message = g.hash_table_msg('error_5') # Get len label len_label = int(form["len"]) # I look for fields that contain the keys, # then I browse to the field until the larger number. for i in range(len_label): label_key = 'label-name-{}'.format(i) key = form[label_key].strip() # Check that the key has between 2 and 30 characters if not check.length(key, 2, 30): self.message = g.hash_table_msg('error_3') # Verify that the format of the key is correct elif not check.username(key): self.message = g.hash_table_msg('error_4') # It doesn't take into dictionary the empty keys if check.length(key, 2, 30): # Initial language values self.hash_map['value'][key] = {} for code in self.languages: label_value = 'label-{}-{}'.format(code, i) value = form[label_value] self.hash_map['value'][key][code] = value
def new(self): """ Add hash map """ self.__request_hash_map() if self.message is None: try: g.db.hash_table.insert( self.hash_map ) return True except PyMongoError: self.message = g.hash_table_msg('error_mongo_new') return False return False
def new(self): """ Add hash map """ self.__request_hash_map() if self.message is None: try: g.db.hash_table.insert(self.hash_map) return True except PyMongoError: self.message = g.hash_table_msg('error_mongo_new') return False return False