def run(self, edit, event, operationId, params={}, action=""): self.x = int(event["x"]) self.y = int(event["y"]) self.selectedTextPoint = self.view.window_to_text((self.x, self.y)) self.selectedWordRegions = self.view.word(self.selectedTextPoint) self.selectedWord = self.view.substr(self.selectedWordRegions) self.swaggerAPI = environment.getSwaggerAPI() if self.swaggerAPI == None: return if operationId == None or operationId == "": helpers.log_error("'operationId' not provided") return self.operationId = operationId self.setOperationFromId() self.parameters = params self.action = action # Start parsing parameters self.expandParams()
def get(url): try: raw = requests.get(url) return raw.json() except Exception as e: log_error(e) return False
async def scrap_comments(session, subreddit, apis, keywords): try: subreddit_dict = helpers.parse_reddit_url(subreddit) if not subreddit_dict: return [] reddit_api_response = await helpers.fetch( session, "https://www.reddit.com/r/{}/comments/{}.json?".format( subreddit_dict["sub-reddit"], subreddit_dict["id"])) if reddit_api_response == "Error": return [] json_dict = json.loads(reddit_api_response) results = [] for data in json_dict: for children in data["data"]["children"]: fields = helpers.has_keyword(children["data"], ["title", "body", "selftext"], keywords) if fields: saved_data = {} for field in fields: saved_data[field] = children["data"][field] saved_data["_id"] = children["data"]["id"] saved_data["permalink"] = children["data"]["permalink"] saved_data["ups"] = children["data"]["ups"] saved_data["downs"] = children["data"]["downs"] saved_data["score"] = children["data"]["score"] saved_data["author"] = children["data"]["author"] saved_data["created_utc"] = children["data"]["created_utc"] saved_data["fields"] = fields results.append(saved_data) return results except Exception as e: helpers.log_error("Error: {}/nArgs: {}".format(str(e), e.args)) return "Error"
def executeOperation(self): try: if self.operation != None: if 'dummy' in self.parameters: del self.parameters['dummy'] kwargs = self.parameters self.opresult = self.operation(**kwargs).result() except bravado.exception.HTTPError as e: self.opresult = None helpers.log_error(e)
def setOperationFromId(self): # We expect operationId to be the one specified in swagger documentation # e.g.: ModuleDefAPI_Get moduleName = self.operationId.split('_')[0] module = getattr(self.swaggerAPI, moduleName) if module == None: helpers.log_error("Module '" + moduleName + "' not found, deduced from '" + self.operationId + "'. [" + __name__ + ": " + type(self).__name__ + "." + sys._getframe().f_code.co_name + "]") self.operation = getattr(module, self.operationId) if self.operation == None: helpers.log_error("Operation '" + self.operationId + "' not found. [" + __name__ + ": " + type(self).__name__ + "." + sys._getframe().f_code.co_name + "]")
def run(self, operationId, params={}, action=""): self.swaggerAPI = environment.getSwaggerAPI() if self.swaggerAPI == None: return if operationId == None or operationId == "": helpers.log_error("'operationId' not provided") return self.operationId = operationId self.setOperationFromId() self.parameters = params self.action = action # Start parsing parameters self.expandParams()
def send_message(message, subject): try: send_notification(message, subject) except Exception as e: log_error(e)