def curses(app, user, args): from toot.ui.app import TimelineApp # Make sure tag, list and public are not used simultaneously if len([arg for arg in [args.tag, args.public] if arg]) > 1: raise ConsoleError( "Only one of --public or --tag can be used at one time.") if args.local and not (args.public or args.tag): raise ConsoleError( "The --local option is only valid alongside --public or --tag.") if not args.public and (not app or not user): raise ConsoleError("You must be logged in to view the home timeline.") if args.public: instance = args.instance or app.instance generator = api.public_timeline_generator(instance, local=args.local) elif args.tag: generator = api.tag_timeline_generator(app, user, args.tag, local=args.local) else: generator = api.home_timeline_generator(app, user) TimelineApp(generator).run()
def get_timeline_generator(app, user, args): # Make sure tag, list and public are not used simultaneously if len([arg for arg in [args.tag, args.list, args.public] if arg]) > 1: raise ConsoleError( "Only one of --public, --tag, or --list can be used at one time.") if args.local and not (args.public or args.tag): raise ConsoleError( "The --local option is only valid alongside --public or --tag.") if args.instance and not (args.public or args.tag): raise ConsoleError( "The --instance option is only valid alongside --public or --tag.") if args.public: instance = args.instance or app.instance return api.public_timeline_generator(instance, local=args.local, limit=args.count) elif args.tag: instance = args.instance or app.instance return api.tag_timeline_generator(instance, args.tag, local=args.local, limit=args.count) elif args.list: return api.timeline_list_generator(app, user, args.list, limit=args.count) else: return api.home_timeline_generator(app, user, limit=args.count)
def goto_public_timeline(self, local): self.timeline_generator = api.public_timeline_generator(self.app, self.user, local=local, limit=40) promise = self.async_load_timeline(is_initial=True, timeline_name="public") promise.add_done_callback(lambda *args: self.close_overlay())
def curses(app, user, args): from toot.ui.app import TimelineApp if not args.public and (not app or not user): raise ConsoleError("You must be logged in to view the home timeline.") if args.public: instance = args.instance or app.instance generator = api.public_timeline_generator(instance) else: generator = api.home_timeline_generator(app, user) TimelineApp(generator).run()
def timeline(app, user, args): # Make sure tag, list and public are not used simultaneously if len([arg for arg in [args.tag, args.list, args.public] if arg]) > 1: raise ConsoleError( "Only one of --public, --tag, or --list can be used at one time.") if args.local and not (args.public or args.tag): raise ConsoleError( "The --local option is only valid alongside --public or --tag.") if args.public: gen = api.public_timeline_generator(app.instance, local=args.local, limit=args.count) elif args.tag: gen = api.tag_timeline_generator(app, user, args.tag, local=args.local, limit=args.count) elif args.list: gen = api.timeline_list_genertor(app, user, args.list) else: gen = api.home_timeline_generator(app, user, limit=args.count) while (True): items = next(gen) if args.reverse: items = reversed(items) print_timeline(items) if args.once: break char = input("\nContinue? [Y/n] ") if char.lower() == "n": break