So, I got this error with the new TagFilters feature. Genuinely no clue if my DB is fucked now. My backup is only a few days old, but that's still kind of a lot of shit.
v508, win32, source
DBException
TypeError: Object of type TagFilter is not JSON serializable
Traceback (most recent call last):
File "C:\x\Hydrus Network\hydrus\core\HydrusThreading.py", line 401, in run
callable( *args, **kwargs )
File "C:\x\Hydrus Network\hydrus\core\HydrusThreading.py", line 962, in Work
SchedulableJob.Work( self )
File "C:\x\Hydrus Network\hydrus\core\HydrusThreading.py", line 880, in Work
self._work_callable()
File "C:\x\Hydrus Network\hydrus\core\HydrusData.py", line 1783, in __call__
self._func( *self._args, **self._kwargs )
File "C:\x\Hydrus Network\hydrus\client\ClientController.py", line 1671, in SaveDirtyObjectsImportant
self.WriteSynchronous( 'dirty_services', dirty_services )
File "C:\x\Hydrus Network\hydrus\core\HydrusController.py", line 934, in WriteSynchronous
return self._Write( action, True, *args, **kwargs )
File "C:\x\Hydrus Network\hydrus\core\HydrusController.py", line 241, in _Write
result = self.db.Write( action, synchronous, *args, **kwargs )
File "C:\x\Hydrus Network\hydrus\core\HydrusDB.py", line 953, in Write
if synchronous: return job.GetResult()
File "C:\x\Hydrus Network\hydrus\core\HydrusData.py", line 2061, in GetResult
raise e
hydrus.core.HydrusExceptions.DBException: TypeError: Object of type TagFilter is not JSON serializable
Database Traceback (most recent call last):
File "C:\x\Hydrus Network\hydrus\core\HydrusDB.py", line 614, in _ProcessJob
result = self._Write( action, *args, **kwargs )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDB.py", line 11207, in _Write
elif action == 'dirty_services': self._SaveDirtyServices( *args, **kwargs )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDB.py", line 8805, in _SaveDirtyServices
self._SaveServices( dirty_services )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDB.py", line 8812, in _SaveServices
self.modules_services.UpdateService( service )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDBServices.py", line 346, in UpdateService
dictionary_string = dictionary.DumpToString()
File "C:\x\Hydrus Network\hydrus\core\HydrusSerialisable.py", line 235, in DumpToString
return json.dumps( obj_tuple )
File "C:\Python39\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Python39\lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Python39\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "C:\Python39\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type TagFilter is not JSON serializable
[Expand Post]
Database Traceback (most recent call last):
File "C:\x\Hydrus Network\hydrus\core\HydrusDB.py", line 614, in _ProcessJob
result = self._Write( action, *args, **kwargs )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDB.py", line 11207, in _Write
elif action == 'dirty_services': self._SaveDirtyServices( *args, **kwargs )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDB.py", line 8805, in _SaveDirtyServices
self._SaveServices( dirty_services )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDB.py", line 8812, in _SaveServices
self.modules_services.UpdateService( service )
File "C:\x\Hydrus Network\hydrus\client\db\ClientDBServices.py", line 346, in UpdateService
dictionary_string = dictionary.DumpToString()
File "C:\x\Hydrus Network\hydrus\core\HydrusSerialisable.py", line 235, in DumpToString
return json.dumps( obj_tuple )
File "C:\Python39\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Python39\lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Python39\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "C:\Python39\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type TagFilter is not JSON serializable