コード例 #1
0
    def test_get_file_name(self):
        path = tempfile.mktemp(prefix='papis-get_name-')
        open(path, 'w+').close()

        assert (papis.config.get('file-name') is None)
        filename = get_file_name(dict(title='blah'), path, suffix='3')
        assert (re.match(r'^papis-get-name-.*\.data$', filename) is not None)

        papis.config.set('file-name',
                         '{doc[title]} {doc[author]} {doc[yeary]}')

        filename = get_file_name(dict(title='blah'), path, suffix='2')
        assert filename == 'blah-2.data'

        filename = get_file_name(dict(title='b' * 200), path, suffix='2')
        assert filename == 'b' * 150 + '-2.data'

        filename = get_file_name(dict(title='blah'),
                                 create_random_pdf(suffix='.pdf'),
                                 suffix='2')
        assert filename == 'blah-2.pdf'

        filename = get_file_name(dict(title='blah'),
                                 create_random_pdf(),
                                 suffix='2')
        assert filename == 'blah-2.pdf'

        filename = get_file_name(dict(title='blah'),
                                 create_random_file(suffix='.yaml'),
                                 suffix='2')
        assert filename == 'blah-2.yaml'
コード例 #2
0
ファイル: test_utils.py プロジェクト: wbrandenburger/papis
def test_extension():
    docs = [
        [tests.create_random_pdf(), "pdf"],
        [tests.create_random_pdf(), "pdf"],
        [tests.create_random_file(), "data"],
        [tests.create_random_epub(), "epub"],
        [tests.create_random_file(suffix='.yaml'), "yaml"],
        [tests.create_random_file(suffix='.text'), "text"],
    ]
    for d in docs:
        assert(get_document_extension(d[0]) == d[1])
コード例 #3
0
    def test_with_bibtex(self):
        bibstring = """
        @article{10.1002/andp.19053221004, author = { A. Einstein },
          doi = { 10.1002/andp.19053221004 },
          issue = { 10 }, journal = { Ann. Phys. }, pages = { 891--921 },
          title = { Zur Elektrodynamik bewegter K\"{o}rper },
          type = { article },
          volume = { 322 },
          year = { 1905 },
        }
        """
        bibfile = tempfile.mktemp()
        pdf = create_random_pdf()
        with open(bibfile, 'w+') as fd:
            fd.write(bibstring)

        self.assertTrue(get_document_extension(pdf) == 'pdf')

        result = self.invoke([pdf, '--from', 'bibtex', bibfile])

        db = papis.database.get()
        docs = db.query_dict(
            dict(author="einstein", title="Elektrodynamik bewegter"))
        self.assertTrue(len(docs) == 1)
        doc = docs[0]
        self.assertTrue(len(doc.get_files()) == 1)
        # This is the original pdf file, it should still be there
        self.assertTrue(os.path.exists(pdf))
        # and it should still be apdf
        self.assertTrue(get_document_extension(pdf) == 'pdf')
        self.assertTrue(get_document_extension(doc.get_files()[0]) == 'pdf')
コード例 #4
0
ファイル: test_add.py プロジェクト: wbrandenburger/papis
    def test_name_and_from_folder(self):
        pdf = create_random_pdf(suffix='.pdf')
        result = self.invoke([
            '-s', 'author', 'Aristoteles',
            '--set', 'title', '"The apology of socrates"',
            '-b',
            '--folder-name', 'the_apology', pdf
        ])
        self.assertTrue(result.exit_code == 0)
        db = papis.database.get()
        docs = db.query_dict(dict(author="Aristoteles"))
        self.assertTrue(len(docs) == 1)
        doc = docs[0]
        assert(os.path.basename(doc.get_main_folder()) == 'the-apology')
        assert(len(doc.get_files()) == 1)
        gotpdf = doc.get_files()[0]
        assert(len(re.split(r'[.]pdf', pdf)) == 2)
        assert(len(re.split(r'[.]pdf', gotpdf)) == 2)

        result = self.invoke([
            '--from folder', doc.get_main_folder()
        ])
        self.assertTrue(result.exit_code == 0)
        docs = db.query_dict(dict(author="Aristoteles"))
        self.assertTrue(len(docs) == 2)
コード例 #5
0
def test_get_default_title_and_author():
    assert (get_default_title({'title': 'hello world'},
                              'whatever.pdf') == 'hello world')
    pdf = create_random_pdf(suffix='luces-de-bohemia.pdf')
    assert (re.match('.*luces de bohemia$', get_default_title(dict(), pdf)))

    assert (get_default_author({'author': 'Garcilaso de la vega'},
                               'whatever.pdf') == 'Garcilaso de la vega')
    assert (get_default_author(dict(), 'Luces-de-bohemia.pdf') == 'Unknown')
コード例 #6
0
 def test_link(self):
     pdf = create_random_pdf()
     result = self.invoke([
         '-s', 'author', 'Plato', '--set', 'title', 'Republic', '-b',
         '--link', pdf
     ])
     #self.assertTrue(result.exit_code == 0)
     db = papis.database.get()
     docs = db.query_dict(dict(author="Plato"))
     self.assertTrue(len(docs) == 1)
     doc = docs[0]
     self.assertTrue(len(doc.get_files()) == 1)
     self.assertTrue(os.path.islink(doc.get_files()[0]))
コード例 #7
0
ファイル: test_add.py プロジェクト: wbrandenburger/papis
    def test_get_file_name(self):
        pdf = create_random_pdf(suffix='.pdf')
        path = create_random_file(prefix='papis-get_name-')

        assert(papis.config.utils.get('add-file-name') is None)
        filename = get_file_name(dict(title='blah'), path, suffix='3')
        assert(re.match(r'^papis-get-name-.*\.data$', filename) is not None)
        # With suffix
        filename = get_file_name(dict(title='blah'), pdf, suffix='3')
        assert(len(re.split('[.]pdf', filename)) == 2)
        # Without suffix
        filename = get_file_name(dict(title='blah'), pdf)
        assert(len(re.split('[.]pdf', filename)) == 2)

        papis.config.utils.set(
            'add-file-name',
            '{doc[title]} {doc[author]} {doc[yeary]}'
        )

        filename = get_file_name(dict(title='blah'), path, suffix='2')
        assert filename == 'blah-2.data'

        filename = get_file_name(dict(title='b' * 200), path, suffix='2')
        assert filename == 'b' * 150 + '-2.data'

        filename = get_file_name(
            dict(title='blah'), create_random_pdf(suffix='.pdf'), suffix='2'
        )
        assert filename == 'blah-2.pdf'

        filename = get_file_name(
            dict(title='blah'), create_random_pdf(), suffix='2'
        )
        assert filename == 'blah-2.pdf'

        filename = get_file_name(
            dict(title='blah'), create_random_file(suffix='.yaml'), suffix='2'
        )
        assert filename == 'blah-2.yaml'
コード例 #8
0
ファイル: test_addto.py プロジェクト: wbrandenburger/papis
    def test_simple_add(self):
        db = papis.database.get()
        docs = db.query_dict({'author': 'krishnamurti'})
        assert(len(docs) == 1)
        doc = docs[0]

        # add N files
        N = 10
        inputfiles = [tests.create_random_pdf() for i in range(N)]

        old_files = doc.get_files()

        run(doc, inputfiles)
        self.assertTrue(len(doc.get_files()) == len(old_files) + N)