Ejemplo n.º 1
0
 def __init__(self,
     title,
     handler,
     image=None,
     attributes=None,
     state=False,
     discoverability_title=None,
 ):
     self._menu = None
     self._handler = handler
     self._title = title
     self._image = image
     self._attributes = attributes
     self._state = state
     self._discoverability_title = discoverability_title
     
     def _action_handler(_cmd):
         self._handler(
             self._menu.button,
             self
         )
 
     _action_handler_block = objc_util.ObjCBlock(
         _action_handler,
         restype=None, 
         argtypes=[ctypes.c_void_p])
     objc_util.retain_global(_action_handler_block)
     
     self._objc_action = UIAction.actionWithHandler_(_action_handler_block)
     
     self._update_objc_action()
Ejemplo n.º 2
0
    def get(self, url=None, auth=None, headers=None, params=None):
        # Make url
        if params:
            params_encoded = urlencode(params)
        else:
            params_encoded = ""

        url = objc_util.nsurl("{}?{}".format(url, params_encoded))

        #request = objc_util.ObjCClass("NSURLRequest").request(URL=url)
        request = objc_util.ObjCClass(
            'NSMutableURLRequest').alloc().initWithURL_(url)

        # Make headers
        if headers:
            for key in headers:
                request.setValue_forHTTPHeaderField_(headers[key], key)

        if auth:
            userName, password = auth
            authStr = "%s:%s" % (userName, password)
            authencode = base64.b64encode(bytes(authStr))
            request.addValue_forHTTPHeaderField_("Basic %s" % authencode,
                                                 "Authorization")

        configuration = objc_util.ObjCClass(
            "NSURLSessionConfiguration").defaultSessionConfiguration()
        session = objc_util.ObjCClass(
            "NSURLSession").sessionWithConfiguration_(configuration)

        completionHandler = objc_util.ObjCBlock(
            self.responseHandlerBlock,
            restype=None,
            argtypes=[c_void_p, c_void_p, c_void_p, c_void_p])
        objc_util.retain_global(completionHandler)

        #dataTask = session.dataTask(Request=request, completionHandler=completionHandler)
        dataTask = session.dataTaskForRequest_completion_(
            request, completionHandler)
        dataTask.resume()

        # Wait for completions
        wait = True
        while wait:
            if self.data != None:
                wait = False
                return json.loads(self.data)
            elif self.error != None:
                wait = False
                raise RequestsException(["Error in request", self.error])
Ejemplo n.º 3
0
def validate(url, params, responseHandler):
    if params:
        params_encoded = urllib.parse.urlencode(params)
    else:
        params_encoded = ""
    url = objc_util.nsurl("{}?{}".format(url, params_encoded))
    request = NSURLRequest.request(URL=url)
    configuration = NSURLSessionConfiguration.defaultSessionConfiguration()

    session = NSURLSession.session(Configuration=configuration)

    completionHandler = objc_util.ObjCBlock(
        responseHandler,
        restype=None,
        argtypes=[c_void_p, c_void_p, c_void_p, c_void_p])
    objc_util.retain_global(completionHandler)

    dataTask = session.dataTask(Request=request,
                                completionHandler=completionHandler)
    dataTask.resume()
Ejemplo n.º 4
0
    def __init__(self, url=None, params=None):
        self.data = None

        if params:
            params_encoded = urlencode(params)
        else:
            params_encoded = ""
        url = objc_util.nsurl("{}?{}".format(url, params_encoded))
        request = objc_util.ObjCClass("NSURLRequest").request(URL=url)
        configuration = objc_util.ObjCClass(
            "NSURLSessionConfiguration").defaultSessionConfiguration()

        session = objc_util.ObjCClass("NSURLSession").session(
            Configuration=configuration)

        completionHandler = objc_util.ObjCBlock(
            self.responseHandlerBlock,
            restype=None,
            argtypes=[c_void_p, c_void_p, c_void_p, c_void_p])
        objc_util.retain_global(completionHandler)

        dataTask = session.dataTask(Request=request,
                                    completionHandler=completionHandler)
        dataTask.resume()
Ejemplo n.º 5
0
​
unc = UNUserNotificationCenter.currentNotificationCenter()
unc.requestAuthorizationWithOptions_completionHandler_((1<<2) | (1<<1) | (1<<0), None)
unc.setDelegate_(DGUNUNCDelegate.alloc().init())
doit = UNNotificationAction.actionWithIdentifier_title_options_("doit", "Just DO IT!", 0)
ornot = UNNotificationAction.actionWithIdentifier_title_options_("ornot", "Or not", 0)
foocat = UNNotificationCategory.categoryWithIdentifier_actions_intentIdentifiers_options_("foocat", [doit, ornot], [], 0)
unc.setNotificationCategories_({foocat})
​
def errorhandler_imp(_cmd, error):
	if error is None:
		print("No errors!")
	else:
		print("Error!")
		print(objc_util.ObjCInstance(error))
​
errorhandler = objc_util.ObjCBlock(errorhandler_imp, None, [ctypes.c_void_p, ctypes.c_void_p])
​
def main():
	foocontent = UNMutableNotificationContent.alloc().init()
	foocontent.setTitle_("Motivation")
	foocontent.setBody_("Don't let your dreams be dreams.")
	foocontent.setCategoryIdentifier_("foocat")
	footrigger = UNTimeIntervalNotificationTrigger.triggerWithTimeInterval_repeats_(3, False)
	foorequest = UNNotificationRequest.requestWithIdentifier_content_trigger_("foorequest", foocontent, footrigger)
	unc.addNotificationRequest_withCompletionHandler_(foorequest, errorhandler)
​
if __name__ == "__main__":
	main()
​