Ejemplo n.º 1
0
 def mad_apk_download(self, *args, **kwargs):
     parsed = parse_frontend(**kwargs)
     if type(parsed) == Response:
         return parsed
     apk_type, apk_arch = parsed
     return stream_package(self._db_wrapper, self.__storage_obj, apk_type,
                           apk_arch)
Ejemplo n.º 2
0
 def mad_apk_info(self, *args, **kwargs) -> Response:
     parsed = parse_frontend(**kwargs)
     if type(parsed) == Response:
         return parsed
     apk_type, apk_arch = parsed
     (msg, status_code) = lookup_package_info(self.__storage_obj, apk_type, apk_arch)
     if msg:
         if apk_type == APKType.pogo and not supported_pogo_version(apk_arch, msg.version):
             return Response(status=406, response='Supported version not installed')
         return Response(status=status_code, response=msg.version)
     else:
         return Response(status=status_code)
Ejemplo n.º 3
0
 def process_request(self, *args, **kwargs):
     """ Processes an API request
     Args:
         endpoint(str): Useless identifier to allow Flask to use a generic function signature
         identifier(str): Identifier for the object to interact with
     Returns:
         Flask.Response
     """
     # Begin processing the request
     try:
         parsed = parse_frontend(**kwargs)
         if type(parsed) == flask.Response:
             return parsed
         apk_type, apk_arch = parsed
         if flask.request.method == 'GET':
             return self.get(apk_type=apk_type, apk_arch=apk_arch)
         elif flask.request.method == 'DELETE':
             return self.delete(apk_type=apk_type, apk_arch=apk_arch)
         elif flask.request.method == 'POST':
             data = self.post(apk_type=apk_type, apk_arch=apk_arch)
             return data
     except:  # noqa: E722
         return (None, 404)