Beispiel #1
0
    def test_task_csv_exporter_get_keys(self):
        """Test that TaskCsvExporter get_keys method works."""
        exporter = TaskCsvExporter()

        row = {
            'a': {
                'nested_x': 'N'
            },
            'b': 1,
            'c': {
                'nested_y': {
                    'double_nested': 'www.example.com'
                },
                'nested_z': True
            }
        }
        keys = sorted(exporter.get_keys(row, 'taskrun'))

        expected_keys = [
            'taskrun__a', 'taskrun__a__nested_x', 'taskrun__b', 'taskrun__c',
            'taskrun__c__nested_y', 'taskrun__c__nested_y__double_nested',
            'taskrun__c__nested_z'
        ]

        assert keys == expected_keys
    def test_task_csv_exporter_flatten(self):
        """Test that TaskCsvExporter flatten method works."""
        exporter = TaskCsvExporter()

        row = {
            'a': {
                'nested_x': 'N'
            },
            'b': 1,
            'c': {
                'nested_y': {
                    'double_nested': 'www.example.com'
                },
                'nested_z': True
            },
            'd': [{
                'nested_z': 'X'
            }]
        }

        keys = sorted(
            dict(
                exporter.flatten(row.iteritems(),
                                 key_prefix='',
                                 return_value=None)).keys())

        expected_keys = [
            'a__nested_x', 'b', 'c__nested_y__double_nested', 'c__nested_z',
            'd__0__nested_z'
        ]
        assert keys == expected_keys
Beispiel #3
0
    def test_task_csv_exporter_get_values(self):
        """Test that TaskCsvExporter get_values method works."""
        exporter = TaskCsvExporter()

        row = {'a': {'nested_x': 'N'},
               'b': 1,
               'c': {
                 'nested_y': {'double_nested': 'www.example.com'},
                 'nested_z': True}}

        value = exporter.get_value(row, 'c__nested_y__double_nested')

        assert value == 'www.example.com'

        unicode_text = {'german': u'Straße auslösen zerstören',
                        'french': u'français américaine épais',
                        'chinese': u'中國的 英語 美國人',
                        'smart_quotes': u'“Hello”'}

        german_value = exporter.get_value(unicode_text, 'german')
        french_value = exporter.get_value(unicode_text, 'french')
        chinese_value = exporter.get_value(unicode_text, 'chinese')
        smart_quotes_value = exporter.get_value(unicode_text, 'smart_quotes')

        assert german_value == u'Stra\u00DFe ausl\u00F6sen zerst\u00F6ren'
        assert french_value == u'fran\u00E7ais am\u00E9ricaine \u00E9pais'
        assert chinese_value == u'\u4E2D\u570B\u7684 \u82F1\u8A9E \u7F8E\u570B\u4EBA'
        assert smart_quotes_value == u'\u201CHello\u201D'
Beispiel #4
0
def setup_exporter(app):
    """Setup exporter."""
    global csv_exporter
    global task_csv_exporter
    global json_exporter
    global task_json_exporter
    global project_csv_exporter
    from pybossa.exporter.csv_export import CsvExporter
    from pybossa.exporter.task_csv_export import TaskCsvExporter
    from pybossa.exporter.json_export import JsonExporter
    from pybossa.exporter.task_json_export import TaskJsonExporter
    from pybossa.exporter.project_csv_export import ProjectCsvExporter
    csv_exporter = CsvExporter()
    task_csv_exporter = TaskCsvExporter()
    json_exporter = JsonExporter()
    task_json_exporter = TaskJsonExporter()
    project_csv_exporter = ProjectCsvExporter()
Beispiel #5
0
 def test_task_csv_exporter_init(self):
     """Test that TaskCsvExporter init method works."""
     exporter = TaskCsvExporter()
     assert isinstance(exporter, TaskCsvExporter)