thinking about new karma commands
This commit is contained in:
		
							parent
							
								
									120dcc9fda
								
							
						
					
					
						commit
						647a2edb5c
					
				| @ -36,9 +36,13 @@ class Karma(Module): | ||||
|         pattern = "(?:(\S+)|\((.+)\))" | ||||
|         karmapattern = pattern + '(\+\+|--|\+-|-\+)' + '(\s+|$)' | ||||
|         querypattern = '^rank\s+(.*)' | ||||
|         reportpattern = '^karma\s+report\s+(highest|lowest)' | ||||
|         statpattern = '^karma\s+stat\s+(.*)' | ||||
| 
 | ||||
|         self.karmare = re.compile(karmapattern) | ||||
|         self.queryre = re.compile(querypattern) | ||||
|         self.reportre = re.compile(reportpattern) | ||||
|         self.statre = re.compile(statpattern) | ||||
| 
 | ||||
|     def db_init(self): | ||||
|         # need to init the database if karma tables don't already exist | ||||
| @ -67,6 +71,23 @@ class Karma(Module): | ||||
|                 sql = 'INSERT INTO drbotzo_modules VALUES (?,?)' | ||||
|                 conn.execute(sql, (self.__class__.__name__, 1)) | ||||
|                 conn.commit() | ||||
|                 version = 1 | ||||
|             except sqlite3.Error as e: | ||||
|                 conn.rollback() | ||||
|                 print("sqlite error: " + str(e)) | ||||
|                 raise | ||||
|         if (version < 2): | ||||
|             conn = self.get_db() | ||||
|             try: | ||||
|                 conn.execute(''' | ||||
|                     CREATE VIEW karma_users AS | ||||
|                     SELECT who, COUNT(NULLIF(delta, -1)) AS pos, | ||||
|                         COUNT(NULLIF(delta, 1)) AS neg | ||||
|                     FROM karma_log GROUP BY who''') | ||||
|                 sql = 'UPDATE drbotzo_modules SET version = ? WHERE module = ?' | ||||
|                 conn.execute(sql, (2, self.__class__.__name__)) | ||||
|                 conn.commit() | ||||
|                 version = 2 | ||||
|             except sqlite3.Error as e: | ||||
|                 conn.rollback() | ||||
|                 print("sqlite error: " + str(e)) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user