Beispiel #1
0
def clearSearchHistory(type=None, update=False):
    search_history.clear(type=type)
    if type:
        containerRefresh()
    else:
        notify(30114, time=2000)
        if update:
            containerUpdate(__search_url__, "replace")
        else:
            containerRefresh()
 def __notify__(self, result):
     message = None
     if isinstance(result, Exception):
         message = f"request error [{result}]"
         self.logger.error(message)
     elif isinstance(result, dict):
         message = result.pop("error", None)
         if message and result:
             message = None
     if message:
         notify(message, icon=ICONERROR)
         return True
     return False
Beispiel #3
0
 def request(self, method, url, **kwargs):
     self.logger.info(
         f"request: {buildUrl(url, **kwargs.get('params', {}))}")
     try:
         response = super(HttpSession,
                          self).request(method,
                                        url,
                                        timeout=self.__timeout__,
                                        **kwargs)
     except Timeout as error:
         self.logger.error(message := f"error: {error}")
         notify(message, icon=ICONERROR)
     else:
         response.raise_for_status()
         return response
Beispiel #4
0
 def stream(self, **kwargs):
     user = self.__query__("stream", **kwargs)
     if not user.livestream:
         return notify(30016, user.displayname)  # Offline
     return user.livestream.makeItem(self.__live__.format(**kwargs))
Beispiel #5
0
class SearchHistory(Persistent, dict):
    def __missing__(self, key):
        self[key] = OrderedDict()
        return self[key]

    @save
    def new(self, **kwargs):
        if (text := searchDialog()):
            kwargs["text"] = text
            self[kwargs["query"]][text] = kwargs
        return kwargs

    @save
    def remove(self, **kwargs):
        del self[kwargs["query"]][kwargs["text"]]

    @save
    def clear(self, **kwargs):
        if (query := kwargs.get("query")):
            self[query].clear()
        else:
            super().clear()
            notify(30114, time=2000)

    def history(self, category=None, **kwargs):
        return Queries(reversed(self[kwargs["query"]].values()),
                       category=category)


search_history = SearchHistory()
Beispiel #6
0
 def __raise__(self, error):
     if not isinstance(error, Exception):
         error = Exception(error)
     notify(f"{error}", icon=ICONERROR)
     raise error