示例#1
0
文件: import_.py 项目: tv42/atomat
def readEntries(path, feedId):
    for dirname, dirs, files in walk(path):
        dirs[:] = [f for f in dirs if not badFilename(f)]
        files[:] = [f for f in files
                    if (not badFilename(f)
                        and f.endswith('.rst'))]
        for filename in files:
            p = os.path.join(path, dirname, filename)
            f = file(p)
            s = f.read()
            f.close()

            href = (os.path.splitext(filename)[0]
                    + os.path.extsep
                    + 'html')
            if dirname != '.':
                href = os.path.join(dirname, href)

            link = atom.Link(href=href, type='text/html')

            id_ = ''
            if dirname != '.':
                id_ += dirname.replace('/', '-')+'_'
            id_ += filename[:-len('.rst')]
            id_ = '%s#%s' % (feedId, id_)

            x = rst2entry.convertString(
                s,
                filename=p,
                id=id_,
                link=sets.Set([link]))
            yield x
示例#2
0
文件: import_.py 项目: tv42/atomat
def readFeed(path):
    f = file(os.path.join(path, '_feed.rst'))
    s = f.read()
    f.close()
    fake = rst2entry.convertString(s)
    kw = {}
    for k in dir(fake):
        v = getattr(fake, k)
        kw[k] = v
    feed = atom.Feed(entries=readEntries(path, fake.id),
                     **kw)
    return feed
示例#3
0
    def testMultipleParagraphs(self):
        """<p> is not stripped when there are multiple paragraphs."""
        got = rst2entry.convertString("""\
Bar
===

:updated: 2005-10-21T18:30:02Z

bar

baz
""",
                                      id='xyzzy')

        self.assertEquals(got.content.dom.toxml(), u'<div xmlns="http://www.w3.org/1999/xhtml"><p>bar</p>\n<p>baz</p></div>')
示例#4
0
    def testSimple(self):
        got = rst2entry.convertString("""\
Bar
===

:updated: 2005-10-21T18:30:02Z


bar
""",
                                      id='xyzzy')
        self.failUnless(iatom.IEntry.providedBy(got), "convert() must return IEntry objects")
        iatom.IEntry.validateInvariants(got)

        self.assertEquals(got.id, 'xyzzy')
        self.assertEquals(got.title, 'Bar')
        self.assertEquals(got.updated, datetime.datetime(2005, 10, 21, 18, 30, 2))
        self.failUnless(iatom.IContent.providedBy(got.content), "content must provide IContent")

        self.assertEquals(got.content.dom.toxml(), u'<div xmlns="http://www.w3.org/1999/xhtml">bar</div>')