Beispiel #1
0
    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)
Beispiel #2
0
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)
Beispiel #3
0
    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)
Beispiel #4
0
 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)
Beispiel #5
0
 def test_generate_filename_from_str_dashes(self):
     result = storageUtils.generate_filename_from_str('file-name')
     expected = 'file_name'
     self.assertEqual(expected, result)