def make_test_tarball_1(): ''' Generate a test tarball that looks something like a source tarball which has exactly one directory called 'po' which is interesting (i.e. contains some files which look like POT/PO files). >>> tarball = make_test_tarball_1() Check it looks vaguely sensible. >>> names = tarball.getnames() >>> 'uberfrob-0.1/po/cy.po' in names True ''' return LaunchpadWriteTarFile.files_to_tarfile({ 'uberfrob-0.1/README': 'Uberfrob is an advanced frobnicator.', 'uberfrob-0.1/po/cy.po': '# Blah.', 'uberfrob-0.1/po/es.po': '# Blah blah.', 'uberfrob-0.1/po/uberfrob.pot': '# Yowza!', 'uberfrob-0.1/blah/po/la': 'la la', 'uberfrob-0.1/uberfrob.py': 'import sys\n' 'print "Frob!"\n', })
def make_test_tarball_2(): r''' Generate a test tarball string that has some interesting files in a common prefix. >>> tarball = make_test_tarball_2() Check the expected files are in the archive. # XXX: 2010-04-26, Salgado, bug=570244: This rstrip('/') is to make the # test pass on python2.5 and 2.6. >>> [name.rstrip('/') for name in tarball.getnames()] ['test', 'test/cy.po', 'test/es.po', 'test/test.pot'] Check the contents. >>> f = tarball.extractfile('test/cy.po') >>> f.readline() '# Test PO file.\n' ''' pot = dedent(""" # Test POT file. msgid "foo" msgstr "" """).strip() po = dedent(""" # Test PO file. msgid "foo" msgstr "bar" """).strip() return LaunchpadWriteTarFile.files_to_tarfile({ 'test/test.pot': pot, 'test/cy.po': po, 'test/es.po': po, })
def make_test_tarball_2(): r''' Generate a test tarball string that has some interesting files in a common prefix. >>> tarball = make_test_tarball_2() Check the expected files are in the archive. >>> tarball.getnames() ['test', 'test/cy.po', 'test/es.po', 'test/test.pot'] Check the contents. >>> f = tarball.extractfile('test/cy.po') >>> f.readline() '# Test PO file.\n' ''' pot = dedent(""" # Test POT file. msgid "foo" msgstr "" """).strip() po = dedent(""" # Test PO file. msgid "foo" msgstr "bar" """).strip() return LaunchpadWriteTarFile.files_to_tarfile({ 'test/test.pot': pot, 'test/cy.po': po, 'test/es.po': po, })