# Path: feedplatform/addins.py
# class base(object):
#     class __metaclass__(type):
#         def __new__(cls, name, bases, attrs):
#     def __new__(cls, *args, **kwargs):
#     def setup(self):
#     def log(self):
# def get_addins():
# def _make_addin(addin):
# def reinstall(addins=None):
#         def resolve_dependencies(addin, index):
# def install(*args, **kwargs):
# _ADDINS = None
#     _ADDINS = to_be_setup


from feedplatform import addins
from hashlib import md5
import calendar

Nick Bradbury's FeedDemon, a popular Windows feedreader:


    1) Use <guid>
    2) If date specified: <title> + <pubDate> (or <title> + <dc:date>)
    3) If link specified: <title> + <link>
    4) Use <title>

You can replicate that behaviour like so:

    ADDINS += [
        guid_by_content(fields=('title', 'date')),
        guid_by_content(fields=('title', 'link')),
        guid_by_content(fields=('title')),
    ]

    # TODO: Not true! Nr. 1 will match even if date doesn't exist; maybe
    introduce a require=(fields...) parameter syntax?
"""



__all__ = (
    'guid_by_content',
    'guid_by_enclosure',
    'guid_by_link',
    'guid_by_date',
)



# Path: feedplatform/addins.py
# class base(object):
#     class __metaclass__(type):
#         def __new__(cls, name, bases, attrs):
#     def __new__(cls, *args, **kwargs):
#     def setup(self):
#     def log(self):
# def get_addins():
# def _make_addin(addin):
# def reinstall(addins=None):
#         def resolve_dependencies(addin, index):
# def install(*args, **kwargs):
# _ADDINS = None
#     _ADDINS = to_be_setup


# Path: feedplatform/lib/addins/items/guid.py
from feedplatform import addins
from hashlib import md5
import calendar

Nick Bradbury's FeedDemon, a popular Windows feedreader:


    1) Use <guid>
    2) If date specified: <title> + <pubDate> (or <title> + <dc:date>)
    3) If link specified: <title> + <link>
    4) Use <title>

You can replicate that behaviour like so:

    ADDINS += [
        guid_by_content(fields=('title', 'date')),
        guid_by_content(fields=('title', 'link')),
        guid_by_content(fields=('title')),
    ]

    # TODO: Not true! Nr. 1 will match even if date doesn't exist; maybe
    introduce a require=(fields...) parameter syntax?
"""



__all__ = (
    'guid_by_content',
    'guid_by_enclosure',
    'guid_by_link',
    'guid_by_date',
)



class guid_by_content(addins.base):
