コード例 #1
0
    def handle(self, *args, **options):

        dataFilesPath = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'data', options['name']))
        #dataFileList = [x for x in os.listdir(dataFilePath) if os.path.isfile(os.path.join(dataFilePath, x))]

        if not os.path.isdir(dataFilesPath):
            self.stdout.write(self.style.WARNING('Data path doesn\'t exist: {}'.format(dataFilesPath)))
            return

        Language.createDefaultLanguages()

        modelClassObjectList = [Context,
                                ContentType,
                                Content,
                                Item,
                                Address,
                                Contact,
                                Email,
                                Phone,
                                SocialMedia,
                                Conversion,
                                FAQ,
                                Newsletter,
                                PrivacyNotice,
                                ProjectSettings,
                                SimpleAPIAccount,
                                TermsOfUse,
                                Testimonial
                                ]

        for modelClassObject in modelClassObjectList:

            dataFileName = '{}.json'.format(modelClassObject.__name__)
            dataFilePath = os.path.join(dataFilesPath, dataFileName)

            if not os.path.isfile(dataFilePath):
                self.stdout.write(self.style.WARNING('Data file doesn\'t exist: {}'.format(dataFilePath)))
                continue

            _dataFile = open(dataFilePath, 'r')
            dataList  = json.loads(_dataFile.read())
            _dataFile.close()

            for dataObject in dataList:

                if 'context' in dataObject and dataObject['context']:
                    dataObject['context'] = Context.objects.filter(domain=dataObject['context'])[0]

                if 'language' in dataObject and dataObject['language']:
                    dataObject['language'] = Language.objects.filter(code=dataObject['language'])[0]

                if 'content_type' in dataObject and dataObject['content_type']:
                    dataObject['content_type'] = ContentType.objects.filter(code=dataObject['content_type'])[0]

                modelInstance, created = modelClassObject.objects.get_or_create(**dataObject)

            self.stdout.write(self.style.SUCCESS('Data created: {}'.format(modelClassObject.__name__)))

        self.stdout.write(self.style.SUCCESS('Demo data has been created.'))
コード例 #2
0
ファイル: tests_language.py プロジェクト: countable-web/fplm
    def test_language_list(self):
        """
		Ensure we can retrieve newly created language objects.
		"""
        poly = GEOSGeometry(self.FAKE_GEOM)

        test_language = Language(name="Test language 001")
        test_language.geom = poly
        test_language.save()

        response = self.client.get("/api/language/", format="json")
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data), 1)
コード例 #3
0
ファイル: tests_language.py プロジェクト: countable-web/maps
    def test_language_detail(self):
        """
        Ensure we can retrieve a newly created language object.
        """
        poly = GEOSGeometry(self.FAKE_GEOM)

        test_language = Language(name="Test language 001")
        test_language.geom = poly
        test_language.language_audio = self.recording1
        test_language.greeting_audio = self.recording2
        test_language.save()

        response = self.client.get("/api/language/{}/".format(
            test_language.id),
                                   format="json")

        # import pdb
        # pdb.set_trace()

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data["id"], test_language.id)
        self.assertEqual(response.data["name"], "Test language 001")
        self.assertEqual(response.data["language_audio"]["speaker"],
                         self.recording1.speaker)
        self.assertEqual(response.data["language_audio"]["recorder"],
                         self.recording1.recorder)
コード例 #4
0
    def setDefaultLanguage(self, defaultLanguageCode=LANGUAGE_CODE):

        languageInstance = Language.getDefaultLanguageModelInstance(
            defaultLanguageCode)

        if languageInstance:
            self.language = languageInstance
            self.save()
            return True

        return False
コード例 #5
0
ファイル: tests_language.py プロジェクト: countable-web/maps
    def test_language_add_greeting_audio(self):
        """
        Ensure we can add a greeting audio to a language object.
        """
        # Must be logged in
        self.assertTrue(
            self.client.login(username="******", password="******"))

        # Check we're logged in
        response = self.client.get("/api/user/auth/")
        self.assertEqual(response.json()["is_authenticated"], True)

        poly = GEOSGeometry(self.FAKE_GEOM)

        test_language = Language(name="Test greeting audio")
        test_language.geom = poly
        test_language.save()

        response = self.client.patch(
            "/api/language/{}/add_greeting_audio/".format(test_language.id),
            {"recording_id": self.recording2.id},
            format="json")

        self.assertEqual(response.status_code, status.HTTP_200_OK)

        response = self.client.get("/api/language/{}/".format(
            test_language.id),
                                   format="json")

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.data["id"], test_language.id)
        self.assertEqual(response.data["name"], "Test greeting audio")
        self.assertEqual(response.data["greeting_audio"]["id"],
                         self.recording2.id)
        self.assertEqual(response.data["greeting_audio"]["speaker"],
                         self.recording2.speaker)
コード例 #6
0
 def _create_languages(self):
     bavarian = Language(name='BAR', default_variant='bv_DA')
     bavarian.save()
     english = Language(name='ENG', default_variant='en_US')
     english.save()
     spanish = Language(name='SPA', default_variant='es_ES')
     spanish.save()
     WordVersion(name='Boariš 2018',
                 link='https://en.wikipedia.org/wiki/Bavarian_language',
                 language=bavarian)
     WordVersion(name='American English',
                 link='https://en.wikipedia.org/wiki/American_English',
                 language=english)
     WordVersion(name='Spanish',
                 link='https://en.wikipedia.org/wiki/Spanish_language',
                 language=spanish)
コード例 #7
0
ファイル: tests.py プロジェクト: safakoner/kit
def getOrCreateContextAndLanguageObjects():

    return Context.createDefaultContext(), Language.createDefaultLanguages()[0]