smileys settings
This commit is contained in:
		
							parent
							
								
									a0b23b0faa
								
							
						
					
					
						commit
						94eb292b16
					
				
					 9 changed files with 73 additions and 41 deletions
				
			
		|  | @ -1,5 +1,6 @@ | |||
| import util | ||||
| import json | ||||
| import os | ||||
| try: | ||||
|     from PySide import QtCore | ||||
| except ImportError: | ||||
|  | @ -7,21 +8,27 @@ except ImportError: | |||
| 
 | ||||
| 
 | ||||
| class SmileyLoader(util.Singleton): | ||||
|     """ | ||||
|     Class which loads smileys packs and insert smileys into messages | ||||
|     """ | ||||
| 
 | ||||
|     def __init__(self, settings): | ||||
|         self.settings = settings | ||||
|         self.curr_pack = None | ||||
|         self.smiles = {} | ||||
|         self.curr_pack = None  # current pack name | ||||
|         self.smileys = {}  # smileys dict. key - smiley (str), value - path to image (str) | ||||
|         self.load_pack() | ||||
| 
 | ||||
|     def load_pack(self): | ||||
|         """ | ||||
|         Loads smiley pack | ||||
|         """ | ||||
|         pack_name = self.settings['smiley_pack'] | ||||
|         if self.settings['smileys'] and self.curr_pack != pack_name: | ||||
|             self.curr_pack = pack_name | ||||
|             path = self.get_smileys_path() + 'config.json' | ||||
|             try: | ||||
|                 with open(path) as fl: | ||||
|                     self.smiles = json.loads(fl.read()) | ||||
|                     self.smileys = json.loads(fl.read()) | ||||
|                 print 'Smiley pack', pack_name, 'loaded' | ||||
|             except: | ||||
|                 print 'Smiley pack', pack_name, 'was not loaded' | ||||
|  | @ -29,14 +36,24 @@ class SmileyLoader(util.Singleton): | |||
|     def get_smileys_path(self): | ||||
|         return util.curr_directory() + '/smileys/' + self.curr_pack + '/' | ||||
| 
 | ||||
|     def get_packs_list(self): | ||||
|         d = util.curr_directory() + '/smileys/' | ||||
|         return [x[1] for x in os.walk(d)][0] | ||||
| 
 | ||||
|     def add_smileys_to_text(self, text, edit): | ||||
|         """ | ||||
|         Adds smileys to text | ||||
|         :param text: message | ||||
|         :param edit: MessageEdit instance | ||||
|         :return text with smileys | ||||
|         """ | ||||
|         if not self.settings['smileys']: | ||||
|             return text | ||||
|         arr = text.split(' ') | ||||
|         for i in range(len(arr)): | ||||
|             if arr[i] in self.smiles: | ||||
|                 file_name = self.smiles[arr[i]] | ||||
|             if arr[i] in self.smileys: | ||||
|                 file_name = self.smileys[arr[i]]  # image name | ||||
|                 arr[i] = u'<img title=\"{}\" src=\"{}\" />'.format(arr[i], file_name) | ||||
|                 if file_name.endswith('.gif'): | ||||
|                 if file_name.endswith('.gif'):  # animated smiley | ||||
|                     edit.addAnimation(QtCore.QUrl(file_name), self.get_smileys_path() + file_name) | ||||
|         return ' '.join(arr) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 ingvar1995
						ingvar1995