diff --git a/pitivi/project.py b/pitivi/project.py index 7469d72faad0efdc502c5e0259c3e6ac126e572b..d1158b4b5fefb81b1eb007bfc52b763effc0a231 100644 --- a/pitivi/project.py +++ b/pitivi/project.py @@ -27,6 +27,7 @@ import time import uuid from gettext import gettext as _ from hashlib import md5 +from urllib.parse import unquote from gi.repository import GdkPixbuf from gi.repository import GES @@ -765,7 +766,8 @@ class Project(Loggable, GES.Project): def name(self): if not self.uri: return DEFAULT_NAME - return os.path.splitext(os.path.basename(self.uri))[0] + quoted_name = os.path.splitext(os.path.basename(self.uri))[0] + return unquote(quoted_name) @property def year(self): diff --git a/tests/test_project.py b/tests/test_project.py index 8f9a267aa66010e8a16340f55e183809d1e59f19..c3333b338798cb97f641cf72541179ac50f6f773 100644 --- a/tests/test_project.py +++ b/tests/test_project.py @@ -625,6 +625,15 @@ class TestProjectSettings(common.TestCase): self.assertFalse(project._has_default_video_settings) self.assertFalse(project._has_default_audio_settings) + def test_name(self): + project = Project(common.create_pitivi_mock()) + + project.uri = "file:///tmp/A%20B.xges" + self.assertEqual(project.name, "A B") + + project.uri = "file:///tmp/%40%23%24%5E%26%60.xges" + self.assertEqual(project.name, "@#$^&`") + class TestExportSettings(common.TestCase):