def save(self, study_set): """ Save the provided StudySet object in the current file. """ data = study_set.to_dict() super(StudySetStorage, self).save(data) # rename the name of this file by the title of this study set. filename = storageUtils.generate_filename_from_str(study_set.title) self._rename_filename(filename)
def _generate_studyset_filepath(study_set): """ Generate the absolute filepath in which the given study set should be stored :param study_set: the study set to store. :returns: absolute file path to the storage file. """ filename = storageUtils.generate_filename_from_str(study_set.title) filename = filename + STUDY_SET_EXTENSION return os.path.join(studyset_storage_path(), filename)
def test_rename_filename(self, mock_rename): stored_set = StudySetStorage('/home/usr/.flashcards/set01.json') study_set = StudySet('maths145', 'Maths questions') study_set.add(StudyCard('2+2=?', '4')) newname = storageUtils.generate_filename_from_str(study_set.title) stored_set._rename_filename(newname) expected = '/home/usr/.flashcards/maths145.json' self.assertEqual(expected, stored_set._filepath)
def test_generate_filename_from_str_alphanum(self): result = storageUtils.generate_filename_from_str('!f@i#l$e%-^n&a*m(e)0') expected = 'file_name0' self.assertEqual(expected, result)
def test_generate_filename_from_str_dashes(self): result = storageUtils.generate_filename_from_str('file-name') expected = 'file_name' self.assertEqual(expected, result)