I have one big qualm with the way feeds are handled in TG.

Each time you create a feed, you must also create a new class
associated with that feed.  If you were writing in Java, you'd be
implementing an interface where the get_feed_data is the only function
you need to implement.  Another way to look at it is you are overriding
an abstract method.

But this isn't Java or C++; this is Python, and we have the wonderful
ability to pass functions as arguments.  Wouldn't it be much more
pythonic to do this:

class Controller:
    def implement_function():
        ...blah...
    feed = FeedObject( implement_function )

instead of this:

class feed( FeedObject ):
    def get_feed_data( self ):
       ... rewrite implement function ....

class Controller:
   feed = feed()

This would possibly be a breaking change to the FeedObject, but feels
much more natural.  Further, it would be a closer match to how CatWalk
works.

Reply via email to