Basic labels support
Adds basic labels support to the registry code (V2), and the API. Note that this does not yet add any UI related support.
This commit is contained in:
		
							parent
							
								
									427070b453
								
							
						
					
					
						commit
						608ffd9663
					
				
					 24 changed files with 907 additions and 36 deletions
				
			
		|  | @ -1,7 +1,7 @@ | |||
| import logging | ||||
| 
 | ||||
| from sqlalchemy.types import TypeDecorator, Text | ||||
| from sqlalchemy.dialects.mysql import TEXT as MySQLText, LONGTEXT | ||||
| from sqlalchemy.types import TypeDecorator, Text, String | ||||
| from sqlalchemy.dialects.mysql import TEXT as MySQLText, LONGTEXT, VARCHAR as MySQLString | ||||
| 
 | ||||
| 
 | ||||
| logger = logging.getLogger(__name__) | ||||
|  | @ -20,3 +20,19 @@ class UTF8LongText(TypeDecorator): | |||
|       return dialect.type_descriptor(LONGTEXT(charset='utf8mb4', collation='utf8mb4_unicode_ci')) | ||||
|     else: | ||||
|       return dialect.type_descriptor(Text()) | ||||
| 
 | ||||
| 
 | ||||
| class UTF8CharField(TypeDecorator): | ||||
|   """ Platform-independent UTF-8 Char type. | ||||
| 
 | ||||
|   Uses MySQL's VARCHAR with charset utf8mb4, otherwise uses String, because | ||||
|   other engines default to UTF-8. | ||||
|   """ | ||||
|   impl = String | ||||
| 
 | ||||
|   def load_dialect_impl(self, dialect): | ||||
|     if dialect.name == 'mysql': | ||||
|       return dialect.type_descriptor(MySQLString(charset='utf8mb4', collation='utf8mb4_unicode_ci', | ||||
|                                                  length=self.impl.length)) | ||||
|     else: | ||||
|       return dialect.type_descriptor(String(length=self.impl.length)) | ||||
|  |  | |||
		Reference in a new issue