# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from . import galleries_pb2 as galleries__pb2


class GalleriesStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.GetGallery = channel.unary_unary(
                '/org.couchers.api.galleries.Galleries/GetGallery',
                request_serializer=galleries__pb2.GetGalleryReq.SerializeToString,
                response_deserializer=galleries__pb2.PhotoGallery.FromString,
                )
        self.AddPhotoToGallery = channel.unary_unary(
                '/org.couchers.api.galleries.Galleries/AddPhotoToGallery',
                request_serializer=galleries__pb2.AddPhotoToGalleryReq.SerializeToString,
                response_deserializer=galleries__pb2.PhotoGallery.FromString,
                )
        self.RemovePhotoFromGallery = channel.unary_unary(
                '/org.couchers.api.galleries.Galleries/RemovePhotoFromGallery',
                request_serializer=galleries__pb2.RemovePhotoFromGalleryReq.SerializeToString,
                response_deserializer=galleries__pb2.PhotoGallery.FromString,
                )
        self.MovePhoto = channel.unary_unary(
                '/org.couchers.api.galleries.Galleries/MovePhoto',
                request_serializer=galleries__pb2.MovePhotoReq.SerializeToString,
                response_deserializer=galleries__pb2.PhotoGallery.FromString,
                )
        self.UpdatePhotoCaption = channel.unary_unary(
                '/org.couchers.api.galleries.Galleries/UpdatePhotoCaption',
                request_serializer=galleries__pb2.UpdatePhotoCaptionReq.SerializeToString,
                response_deserializer=galleries__pb2.PhotoGallery.FromString,
                )
        self.GetGalleryEditInfo = channel.unary_unary(
                '/org.couchers.api.galleries.Galleries/GetGalleryEditInfo',
                request_serializer=galleries__pb2.GetGalleryEditInfoReq.SerializeToString,
                response_deserializer=galleries__pb2.GetGalleryEditInfoRes.FromString,
                )


class GalleriesServicer(object):
    """Missing associated documentation comment in .proto file."""

    def GetGallery(self, request, context):
        """Get a specific gallery by ID
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddPhotoToGallery(self, request, context):
        """Add a photo to your gallery (appended to end)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemovePhotoFromGallery(self, request, context):
        """Remove a photo from your gallery
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MovePhoto(self, request, context):
        """Move a photo to a new position in the gallery
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdatePhotoCaption(self, request, context):
        """Update the caption of a specific photo
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetGalleryEditInfo(self, request, context):
        """Get edit info for a gallery you own (e.g., max_photos)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_GalleriesServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetGallery': grpc.unary_unary_rpc_method_handler(
                    servicer.GetGallery,
                    request_deserializer=galleries__pb2.GetGalleryReq.FromString,
                    response_serializer=galleries__pb2.PhotoGallery.SerializeToString,
            ),
            'AddPhotoToGallery': grpc.unary_unary_rpc_method_handler(
                    servicer.AddPhotoToGallery,
                    request_deserializer=galleries__pb2.AddPhotoToGalleryReq.FromString,
                    response_serializer=galleries__pb2.PhotoGallery.SerializeToString,
            ),
            'RemovePhotoFromGallery': grpc.unary_unary_rpc_method_handler(
                    servicer.RemovePhotoFromGallery,
                    request_deserializer=galleries__pb2.RemovePhotoFromGalleryReq.FromString,
                    response_serializer=galleries__pb2.PhotoGallery.SerializeToString,
            ),
            'MovePhoto': grpc.unary_unary_rpc_method_handler(
                    servicer.MovePhoto,
                    request_deserializer=galleries__pb2.MovePhotoReq.FromString,
                    response_serializer=galleries__pb2.PhotoGallery.SerializeToString,
            ),
            'UpdatePhotoCaption': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdatePhotoCaption,
                    request_deserializer=galleries__pb2.UpdatePhotoCaptionReq.FromString,
                    response_serializer=galleries__pb2.PhotoGallery.SerializeToString,
            ),
            'GetGalleryEditInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetGalleryEditInfo,
                    request_deserializer=galleries__pb2.GetGalleryEditInfoReq.FromString,
                    response_serializer=galleries__pb2.GetGalleryEditInfoRes.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'org.couchers.api.galleries.Galleries', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class Galleries(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def GetGallery(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.couchers.api.galleries.Galleries/GetGallery',
            galleries__pb2.GetGalleryReq.SerializeToString,
            galleries__pb2.PhotoGallery.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddPhotoToGallery(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.couchers.api.galleries.Galleries/AddPhotoToGallery',
            galleries__pb2.AddPhotoToGalleryReq.SerializeToString,
            galleries__pb2.PhotoGallery.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemovePhotoFromGallery(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.couchers.api.galleries.Galleries/RemovePhotoFromGallery',
            galleries__pb2.RemovePhotoFromGalleryReq.SerializeToString,
            galleries__pb2.PhotoGallery.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MovePhoto(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.couchers.api.galleries.Galleries/MovePhoto',
            galleries__pb2.MovePhotoReq.SerializeToString,
            galleries__pb2.PhotoGallery.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdatePhotoCaption(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.couchers.api.galleries.Galleries/UpdatePhotoCaption',
            galleries__pb2.UpdatePhotoCaptionReq.SerializeToString,
            galleries__pb2.PhotoGallery.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetGalleryEditInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.couchers.api.galleries.Galleries/GetGalleryEditInfo',
            galleries__pb2.GetGalleryEditInfoReq.SerializeToString,
            galleries__pb2.GetGalleryEditInfoRes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
