def test_tag(self):
        """Empty docstring"""
        file1 = SyncedFile("someFunnyFile.png", self.__user1)
        self.__database.add(file1)
        self.__database.flush()
        file1.tag("Cartoon")
        file1.tag("Funny")
        
        file1_copy = self.__database.find(SyncedFile,
                SyncedFile.fileName == u'someFunnyFile.png').one()
        tags = file1_copy.tags()

        self.assertTrue("Cartoon" in tags)
        self.assertTrue("Funny" in tags)
        
        file1_copy.tag("Humour")
        self.assertTrue("Humour" in file1_copy.tags())
 def test_find_files_with_one_tag(self):
     """Empty docstring"""
     self._insert_common_data()
     
     file_names = [sf.fileName for sf in
             SyncedFile.findWithTags(self.__database,
                                     self.__user1, (u"Work", ))]
     file_names.sort()
     self.assertEqual([u"aFileName", u"bFileName"], file_names)
 def test_find_files_with_tags(self):
     """Empty docstring"""
     self._insert_common_data()
     
     file_names = [sf.fileName for sf in
             SyncedFile.findWithTags(self.__database,
                                     self.__user1, (u"TODO", u"Project X"))]
     file_names.sort()
     self.assertEqual(["aFileName"], file_names)
 def test_untag(self):
     """Empty docstring"""
     file1 = SyncedFile("someFile", self.__user1)
     self.__database.add(file1)
     
     file1.tag("Some-Tag")
     
     self.assertEquals(["Some-Tag"], file1.tags())
     file1.untag("Some-Tag")
     self.assertEquals([], file1.tags())
 def test_create_name_collision(self):
     """Empty docstring"""
     file1 = SyncedFile("readme.txt", self.__user1) # Readme for project X
     self.__database.add(file1)
     self.__database.flush()
     file1.tag("Project X")
     
     file2 = SyncedFile("readme.txt", self.__user1) # Readme for project Y
     self.__database.add(file2)
     file2.tag("Project Y")
     
     self.assertNotEqual(file1.ID, file2.ID)
Exemple #6
0
def createFile(request):    
    if (request.method == "POST"):
        createFileForm = forms.CreateFileForm(request.POST, request.FILES)
        if (createFileForm.is_valid()):
            storage = WebServer.storage()
            database = WebServer.database()
                        
            uploadedFile = createFileForm.cleaned_data['syncedFile']
            sf = SyncedFile(uploadedFile.name, request.user)
            sf.mimetype = unicode(uploadedFile.content_type)
            sf.add_to_store(database)
            
            version = SyncedFileVersion(UploadedFileWrapper(uploadedFile),
                                        u'Initial Version (from web)',
                                        unicode(datetime.datetime.now(WebServer.timezone()).strftime('%Y-%m-%dT%H:%M:%S%z')),
                                        storage)
            sf.add_version(version)
            database.commit()
            
            return HttpResponseRedirect('/files/' + str(sf.ID) + '/')
        else:
            return render_to_response('barabas/createFile.html', { 'createFileForm': createFileForm },
                                      context_instance=RequestContext(request))
Exemple #7
0
def viewFiles(request, tagName):
    database = WebServer().database()
    fileList = SyncedFile.findWithTags(database, request.user, (tagName, ))

    return render_to_response('barabas/fileList.html', { 'files' : fileList },
                              context_instance=RequestContext(request))
 def test_tag_before_save(self):
     """Empty docstring"""
     file1 = SyncedFile("someFile.png", self.__user1)
     file1.tag("Some-Tag")
    def _insert_common_data(self):
        """Empty docstring"""
        file_a = SyncedFile("aFileName", self.__user1)
        self.__database.add(file_a)

        file_b = SyncedFile("bFileName", self.__user1)
        self.__database.add(file_b)
        
        file_c = SyncedFile("cFileName", self.__user2)
        self.__database.add(file_c)

        file_a.tag(u"TODO")
        file_a.tag(u"Work")
        file_a.tag(u"Project X")

        file_b.tag(u"Work")
        
        file_c.tag(u"TODO")
        file_c.tag(u"Project X")

        return (file_a, file_b)