More testcase would be nice, such as:

    ()
    ('url', 'title', 'content', 'sites')
    ('url', 'title', ('content', 'sites'))
    (('url', 'title'), ('content', 'sites'))
    (('url', 'title', 'content', 'sites'),)