mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-03-15 01:48:02 -06:00
45 lines
1.8 KiB
Python
45 lines
1.8 KiB
Python
|
# -*- coding: utf-8 -*-
|
|||
|
import platform
|
|||
|
if platform.system() == "Windows":
|
|||
|
from wxUI import dialogs, commonMessageDialogs
|
|||
|
elif platform.system() == "Linux":
|
|||
|
from gi.repository import Gtk
|
|||
|
from gtkUI import dialogs, commonMessageDialogs
|
|||
|
import widgetUtils
|
|||
|
import logging
|
|||
|
from tweepy.cursor import Cursor
|
|||
|
from . import base
|
|||
|
|
|||
|
log = logging.getLogger("controller.buffers.twitter.listBuffer")
|
|||
|
|
|||
|
class ListBuffer(base.BaseBuffer):
|
|||
|
def __init__(self, parent, function, name, sessionObject, account, sound=None, bufferType=None, list_id=None, *args, **kwargs):
|
|||
|
super(ListBuffer, self).__init__(parent, function, name, sessionObject, account, sound=None, bufferType=None, *args, **kwargs)
|
|||
|
self.users = []
|
|||
|
self.list_id = list_id
|
|||
|
self.kwargs["list_id"] = list_id
|
|||
|
|
|||
|
def start_stream(self, mandatory=False, play_sound=True, avoid_autoreading=False):
|
|||
|
self.get_user_ids()
|
|||
|
super(ListBuffer, self).start_stream(mandatory, play_sound, avoid_autoreading)
|
|||
|
|
|||
|
def get_user_ids(self):
|
|||
|
for i in Cursor(self.session.twitter.list_members, list_id=self.list_id, include_entities=False, skip_status=True, count=5000).items():
|
|||
|
if i.id not in self.users:
|
|||
|
self.users.append(i.id)
|
|||
|
|
|||
|
def remove_buffer(self, force=False):
|
|||
|
if force == False:
|
|||
|
dlg = commonMessageDialogs.remove_buffer()
|
|||
|
else:
|
|||
|
dlg = widgetUtils.YES
|
|||
|
if dlg == widgetUtils.YES:
|
|||
|
if self.name[:-5] in self.session.settings["other_buffers"]["lists"]:
|
|||
|
self.session.settings["other_buffers"]["lists"].remove(self.name[:-5])
|
|||
|
if self.name in self.session.db:
|
|||
|
self.session.db.pop(self.name)
|
|||
|
self.session.settings.write()
|
|||
|
return True
|
|||
|
elif dlg == widgetUtils.NO:
|
|||
|
return False
|