2020-05-20 21:36:02 +00:00
|
|
|
from twisted.web.resource import NoResource
|
|
|
|
|
2021-04-07 21:26:45 +00:00
|
|
|
from hydrus.core.networking import HydrusServer
|
2015-08-05 18:42:35 +00:00
|
|
|
|
2021-04-07 21:26:45 +00:00
|
|
|
from hydrus.client.networking import ClientLocalServerResources
|
2020-07-29 20:52:44 +00:00
|
|
|
|
2019-01-30 22:14:54 +00:00
|
|
|
class HydrusClientService( HydrusServer.HydrusService ):
|
|
|
|
|
|
|
|
def __init__( self, service, allow_non_local_connections ):
|
|
|
|
|
|
|
|
if allow_non_local_connections:
|
|
|
|
|
|
|
|
self._client_requests_domain = HydrusServer.REMOTE_DOMAIN
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
self._client_requests_domain = HydrusServer.LOCAL_DOMAIN
|
|
|
|
|
|
|
|
|
|
|
|
HydrusServer.HydrusService.__init__( self, service )
|
|
|
|
|
|
|
|
|
|
|
|
class HydrusServiceBooru( HydrusClientService ):
|
2015-08-05 18:42:35 +00:00
|
|
|
|
|
|
|
def _InitRoot( self ):
|
|
|
|
|
2019-01-30 22:14:54 +00:00
|
|
|
root = HydrusClientService._InitRoot( self )
|
2015-08-05 18:42:35 +00:00
|
|
|
|
2019-01-30 22:14:54 +00:00
|
|
|
root.putChild( b'gallery', ClientLocalServerResources.HydrusResourceBooruGallery( self._service, self._client_requests_domain ) )
|
|
|
|
root.putChild( b'page', ClientLocalServerResources.HydrusResourceBooruPage( self._service, self._client_requests_domain ) )
|
|
|
|
root.putChild( b'file', ClientLocalServerResources.HydrusResourceBooruFile( self._service, self._client_requests_domain ) )
|
|
|
|
root.putChild( b'thumbnail', ClientLocalServerResources.HydrusResourceBooruThumbnail( self._service, self._client_requests_domain ) )
|
2019-01-09 22:59:03 +00:00
|
|
|
root.putChild( b'style.css', ClientLocalServerResources.local_booru_css )
|
2015-08-05 18:42:35 +00:00
|
|
|
|
|
|
|
return root
|
2019-01-30 22:14:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
class HydrusServiceClientAPI( HydrusClientService ):
|
2015-08-05 18:42:35 +00:00
|
|
|
|
|
|
|
def _InitRoot( self ):
|
|
|
|
|
2019-01-30 22:14:54 +00:00
|
|
|
root = HydrusClientService._InitRoot( self )
|
2015-08-05 18:42:35 +00:00
|
|
|
|
2019-02-06 22:41:35 +00:00
|
|
|
root.putChild( b'api_version', ClientLocalServerResources.HydrusResourceClientAPIVersion( self._service, self._client_requests_domain ) )
|
|
|
|
root.putChild( b'request_new_permissions', ClientLocalServerResources.HydrusResourceClientAPIPermissionsRequest( self._service, self._client_requests_domain ) )
|
2019-06-26 21:27:18 +00:00
|
|
|
root.putChild( b'session_key', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAccountSessionKey( self._service, self._client_requests_domain ) )
|
|
|
|
root.putChild( b'verify_access_key', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAccountVerify( self._service, self._client_requests_domain ) )
|
2021-05-27 00:09:06 +00:00
|
|
|
root.putChild( b'get_services', ClientLocalServerResources.HydrusResourceClientAPIRestrictedGetServices( self._service, self._client_requests_domain ) )
|
2019-02-06 22:41:35 +00:00
|
|
|
|
2019-02-13 22:26:43 +00:00
|
|
|
add_files = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'add_files', add_files )
|
|
|
|
|
2020-10-28 22:20:33 +00:00
|
|
|
add_files.putChild( b'add_file', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddFilesAddFile( self._service, self._client_requests_domain ) )
|
|
|
|
add_files.putChild( b'delete_files', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddFilesDeleteFiles( self._service, self._client_requests_domain ) )
|
|
|
|
add_files.putChild( b'undelete_files', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddFilesUndeleteFiles( self._service, self._client_requests_domain ) )
|
|
|
|
add_files.putChild( b'archive_files', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddFilesArchiveFiles( self._service, self._client_requests_domain ) )
|
|
|
|
add_files.putChild( b'unarchive_files', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddFilesUnarchiveFiles( self._service, self._client_requests_domain ) )
|
2019-02-13 22:26:43 +00:00
|
|
|
|
|
|
|
add_tags = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'add_tags', add_tags )
|
|
|
|
|
2019-02-27 23:03:30 +00:00
|
|
|
add_tags.putChild( b'add_tags', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddTagsAddTags( self._service, self._client_requests_domain ) )
|
|
|
|
add_tags.putChild( b'clean_tags', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddTagsCleanTags( self._service, self._client_requests_domain ) )
|
2019-02-13 22:26:43 +00:00
|
|
|
add_tags.putChild( b'get_tag_services', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddTagsGetTagServices( self._service, self._client_requests_domain ) )
|
2022-02-28 07:03:17 +00:00
|
|
|
add_tags.putChild( b'search_tags', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddTagsSearchTags( self._service, self._client_requests_domain ) )
|
2019-02-13 22:26:43 +00:00
|
|
|
|
2019-02-06 22:41:35 +00:00
|
|
|
add_urls = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'add_urls', add_urls )
|
|
|
|
|
2019-02-13 22:26:43 +00:00
|
|
|
add_urls.putChild( b'get_url_info', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddURLsGetURLInfo( self._service, self._client_requests_domain ) )
|
|
|
|
add_urls.putChild( b'get_url_files', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddURLsGetURLFiles( self._service, self._client_requests_domain ) )
|
2019-02-06 22:41:35 +00:00
|
|
|
add_urls.putChild( b'add_url', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddURLsImportURL( self._service, self._client_requests_domain ) )
|
2019-02-27 23:03:30 +00:00
|
|
|
add_urls.putChild( b'associate_url', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddURLsAssociateURL( self._service, self._client_requests_domain ) )
|
2015-08-05 18:42:35 +00:00
|
|
|
|
2019-03-06 23:06:22 +00:00
|
|
|
get_files = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'get_files', get_files )
|
|
|
|
|
|
|
|
get_files.putChild( b'search_files', ClientLocalServerResources.HydrusResourceClientAPIRestrictedGetFilesSearchFiles( self._service, self._client_requests_domain ) )
|
2019-03-13 21:04:21 +00:00
|
|
|
get_files.putChild( b'file_metadata', ClientLocalServerResources.HydrusResourceClientAPIRestrictedGetFilesFileMetadata( self._service, self._client_requests_domain ) )
|
2022-11-30 22:06:58 +00:00
|
|
|
get_files.putChild( b'file_hashes', ClientLocalServerResources.HydrusResourceClientAPIRestrictedGetFilesFileHashes( self._service, self._client_requests_domain ) )
|
2019-03-13 21:04:21 +00:00
|
|
|
get_files.putChild( b'file', ClientLocalServerResources.HydrusResourceClientAPIRestrictedGetFilesGetFile( self._service, self._client_requests_domain ) )
|
|
|
|
get_files.putChild( b'thumbnail', ClientLocalServerResources.HydrusResourceClientAPIRestrictedGetFilesGetThumbnail( self._service, self._client_requests_domain ) )
|
2019-03-06 23:06:22 +00:00
|
|
|
|
2022-03-07 02:44:01 +00:00
|
|
|
add_notes = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'add_notes', add_notes )
|
|
|
|
|
|
|
|
add_notes.putChild( b'set_notes', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddNotesSetNotes( self._service, self._client_requests_domain ) )
|
|
|
|
add_notes.putChild( b'delete_notes', ClientLocalServerResources.HydrusResourceClientAPIRestrictedAddNotesDeleteNotes( self._service, self._client_requests_domain ) )
|
|
|
|
|
2019-08-07 22:59:53 +00:00
|
|
|
manage_cookies = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'manage_cookies', manage_cookies )
|
|
|
|
|
|
|
|
manage_cookies.putChild( b'get_cookies', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManageCookiesGetCookies( self._service, self._client_requests_domain ) )
|
|
|
|
manage_cookies.putChild( b'set_cookies', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManageCookiesSetCookies( self._service, self._client_requests_domain ) )
|
|
|
|
|
2021-05-27 00:09:06 +00:00
|
|
|
manage_headers = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'manage_headers', manage_headers )
|
|
|
|
|
|
|
|
manage_headers.putChild( b'set_user_agent', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManageCookiesSetUserAgent( self._service, self._client_requests_domain ) )
|
|
|
|
|
2019-06-05 19:42:39 +00:00
|
|
|
manage_pages = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'manage_pages', manage_pages )
|
|
|
|
|
2021-07-28 21:12:00 +00:00
|
|
|
manage_pages.putChild( b'add_files', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManagePagesAddFiles( self._service, self._client_requests_domain ) )
|
2019-07-17 22:10:19 +00:00
|
|
|
manage_pages.putChild( b'focus_page', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManagePagesFocusPage( self._service, self._client_requests_domain ) )
|
2019-06-05 19:42:39 +00:00
|
|
|
manage_pages.putChild( b'get_pages', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManagePagesGetPages( self._service, self._client_requests_domain ) )
|
2019-08-21 21:34:01 +00:00
|
|
|
manage_pages.putChild( b'get_page_info', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManagePagesGetPageInfo( self._service, self._client_requests_domain ) )
|
2019-06-05 19:42:39 +00:00
|
|
|
|
2021-05-27 00:09:06 +00:00
|
|
|
manage_database = NoResource()
|
|
|
|
|
|
|
|
root.putChild( b'manage_database', manage_database )
|
|
|
|
|
2021-12-22 22:31:23 +00:00
|
|
|
manage_database.putChild( b'mr_bones', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManageDatabaseMrBones( self._service, self._client_requests_domain ) )
|
2021-05-27 00:09:06 +00:00
|
|
|
manage_database.putChild( b'lock_on', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManageDatabaseLockOn( self._service, self._client_requests_domain ) )
|
|
|
|
manage_database.putChild( b'lock_off', ClientLocalServerResources.HydrusResourceClientAPIRestrictedManageDatabaseLockOff( self._service, self._client_requests_domain ) )
|
|
|
|
|
2015-08-05 18:42:35 +00:00
|
|
|
return root
|
|
|
|
|
2017-03-02 02:14:56 +00:00
|
|
|
|