mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-28 18:24:38 -05:00
Fixed the auto-naming regexes
This commit is contained in:
@@ -4,73 +4,83 @@ from ..consumer import Consumer
|
||||
|
||||
|
||||
class TestAttachment(TestCase):
|
||||
|
||||
TAGS = ("tag1", "tag2", "tag3")
|
||||
CONSUMER = Consumer()
|
||||
|
||||
def _test_guess_attributes_from_name(self, path, sender, title, tags):
|
||||
for suffix in ("pdf", "png", "jpg", "jpeg", "gif"):
|
||||
f = path.format(suffix)
|
||||
results = self.CONSUMER._guess_attributes_from_name(f)
|
||||
self.assertEqual(results[0].name, sender, f)
|
||||
self.assertEqual(results[1], title, f)
|
||||
self.assertEqual(tuple([t.slug for t in results[2]]), tags, f)
|
||||
self.assertEqual(results[3], suffix, f)
|
||||
|
||||
def test_guess_attributes_from_name(self):
|
||||
consumer = Consumer()
|
||||
suffixes = ("pdf", "png", "jpg", "jpeg", "gif")
|
||||
tests = (
|
||||
{
|
||||
"path": "/path/to/Sender - Title - tag1,tag2,tag3.{}",
|
||||
"result": {
|
||||
"sender": "Sender",
|
||||
"title": "Title",
|
||||
"tags": ("tag1", "tag2", "tag3")
|
||||
},
|
||||
},
|
||||
{
|
||||
"path": "/path/to/Spaced Sender - Title - tag1,tag2,tag3.{}",
|
||||
"result": {
|
||||
"sender": "Spaced Sender",
|
||||
"title": "Title",
|
||||
"tags": ("tag1", "tag2", "tag3")
|
||||
},
|
||||
},
|
||||
{
|
||||
"path": "/path/to/Sender - Spaced Title - tag1,tag2,tag3.{}",
|
||||
"result": {
|
||||
"sender": "Sender",
|
||||
"title": "Spaced Title",
|
||||
"tags": ("tag1", "tag2", "tag3")
|
||||
},
|
||||
},
|
||||
{
|
||||
"path": "/path/to/Spaced Sender - Spaced Title - tag1,tag2.{}",
|
||||
"result": {
|
||||
"sender": "Spaced Sender",
|
||||
"title": "Spaced Title",
|
||||
"tags": ("tag1", "tag2")
|
||||
},
|
||||
},
|
||||
{
|
||||
"path": "/path/to/Dash-Sender - Title - tag1,tag2.{}",
|
||||
"result": {
|
||||
"sender": "Dash-Sender",
|
||||
"title": "Title",
|
||||
"tags": ("tag1", "tag2")
|
||||
},
|
||||
},
|
||||
{
|
||||
"path": "/path/to/Sender - Dash-Title - tag1,tag2.{}",
|
||||
"result": {
|
||||
"sender": "Sender",
|
||||
"title": "Dash-Title",
|
||||
"tags": ("tag1", "tag2")
|
||||
},
|
||||
},
|
||||
{
|
||||
"path": "/path/to/Dash-Sender - Dash-Title - tag1,tag2.{}",
|
||||
"result": {
|
||||
"sender": "Dash-Sender",
|
||||
"title": "Dash-Title",
|
||||
"tags": ("tag1", "tag2")
|
||||
},
|
||||
},
|
||||
def test_guess_attributes_from_name0(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Sender - Title.{}", "Sender", "Title", ())
|
||||
|
||||
def test_guess_attributes_from_name1(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Spaced Sender - Title.{}", "Spaced Sender", "Title", ())
|
||||
|
||||
def test_guess_attributes_from_name2(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Sender - Spaced Title.{}", "Sender", "Spaced Title", ())
|
||||
|
||||
def test_guess_attributes_from_name3(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Dashed-Sender - Title.{}", "Dashed-Sender", "Title", ())
|
||||
|
||||
def test_guess_attributes_from_name4(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Sender - Dashed-Title.{}", "Sender", "Dashed-Title", ())
|
||||
|
||||
def test_guess_attributes_from_name5(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Sender - Title - tag1,tag2,tag3.{}",
|
||||
"Sender",
|
||||
"Title",
|
||||
self.TAGS
|
||||
)
|
||||
|
||||
def test_guess_attributes_from_name6(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Spaced Sender - Title - tag1,tag2,tag3.{}",
|
||||
"Spaced Sender",
|
||||
"Title",
|
||||
self.TAGS
|
||||
)
|
||||
|
||||
def test_guess_attributes_from_name7(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Sender - Spaced Title - tag1,tag2,tag3.{}",
|
||||
"Sender",
|
||||
"Spaced Title",
|
||||
self.TAGS
|
||||
)
|
||||
|
||||
def test_guess_attributes_from_name8(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Dashed-Sender - Title - tag1,tag2,tag3.{}",
|
||||
"Dashed-Sender",
|
||||
"Title",
|
||||
self.TAGS
|
||||
)
|
||||
|
||||
def test_guess_attributes_from_name9(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Sender - Dashed-Title - tag1,tag2,tag3.{}",
|
||||
"Sender",
|
||||
"Dashed-Title",
|
||||
self.TAGS
|
||||
)
|
||||
|
||||
def test_guess_attributes_from_name10(self):
|
||||
self._test_guess_attributes_from_name(
|
||||
"/path/to/Σενδερ - Τιτλε - tag1,tag2,tag3.{}",
|
||||
"Σενδερ",
|
||||
"Τιτλε",
|
||||
self.TAGS
|
||||
)
|
||||
for test in tests:
|
||||
for suffix in suffixes:
|
||||
f = test["path"].format(suffix)
|
||||
sender, title, tags, s = consumer._guess_attributes_from_name(f)
|
||||
self.assertEqual(sender.name, test["result"]["sender"])
|
||||
self.assertEqual(title, test["result"]["title"])
|
||||
self.assertEqual(tags, test["result"]["tags"])
|
||||
self.assertEqual(s, suffix)
|
||||
|
Reference in New Issue
Block a user