thinking about new karma commands
This commit is contained in:
		
							parent
							
								
									120dcc9fda
								
							
						
					
					
						commit
						647a2edb5c
					
				| @ -36,9 +36,13 @@ class Karma(Module): | |||||||
|         pattern = "(?:(\S+)|\((.+)\))" |         pattern = "(?:(\S+)|\((.+)\))" | ||||||
|         karmapattern = pattern + '(\+\+|--|\+-|-\+)' + '(\s+|$)' |         karmapattern = pattern + '(\+\+|--|\+-|-\+)' + '(\s+|$)' | ||||||
|         querypattern = '^rank\s+(.*)' |         querypattern = '^rank\s+(.*)' | ||||||
|  |         reportpattern = '^karma\s+report\s+(highest|lowest)' | ||||||
|  |         statpattern = '^karma\s+stat\s+(.*)' | ||||||
| 
 | 
 | ||||||
|         self.karmare = re.compile(karmapattern) |         self.karmare = re.compile(karmapattern) | ||||||
|         self.queryre = re.compile(querypattern) |         self.queryre = re.compile(querypattern) | ||||||
|  |         self.reportre = re.compile(reportpattern) | ||||||
|  |         self.statre = re.compile(statpattern) | ||||||
| 
 | 
 | ||||||
|     def db_init(self): |     def db_init(self): | ||||||
|         # need to init the database if karma tables don't already exist |         # 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 (?,?)' |                 sql = 'INSERT INTO drbotzo_modules VALUES (?,?)' | ||||||
|                 conn.execute(sql, (self.__class__.__name__, 1)) |                 conn.execute(sql, (self.__class__.__name__, 1)) | ||||||
|                 conn.commit() |                 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: |             except sqlite3.Error as e: | ||||||
|                 conn.rollback() |                 conn.rollback() | ||||||
|                 print("sqlite error: " + str(e)) |                 print("sqlite error: " + str(e)) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user